В настоящее время у меня есть решение для обработки данных в RDBMS. Нагрузка на сервер вырастет в 10 раз, и я не верю, что она будет масштабироваться.
Я считаю, что мне нужно хранилище данных, которое может обеспечить отказоустойчивость, масштабируемость и возможность чрезвычайно быстрого извлечения данных.
The Stats
Records: 200 million
Total Data Size (not including indexes): 381 GB
New records per day: 200,000
Queries per Sec: 5,000
Query Result: 1 - 2000 records
Requirements
Very fast reads
Scalable
Fault tolerant
Able to execute complex queries (conditions across many columns)
Range Queries
Distributed
Partition – Is this required for 381 GB of data?
Able to Reload from file
In-Memory (not sure)
Not Required
ACID - Transactions
Основная цель хранилища данных - очень быстрое получение данных. Запросы, которые получат доступ к этим данным, будут иметь условия для множества различных столбцов (30 столбцов и, вероятно, многие другие). Надеюсь, этого достаточно.
Я читал о многих различных типах хранилищ данных, включая NoSQL, In-Memory, распределенное хэширование, Key-Value, библиотеку поиска информации, хранилище документов, структурированное хранилище, распределенную базу данных, Tabular и другие. Кроме того, существует более 2 десятков продуктов, которые реализуют эти типы баз данных. Это много вещей, которые нужно переварить и выяснить, которые дадут лучшее решение.
Было бы предпочтительным, чтобы решение работало в Windows и было совместимо с Microsoft .NET.
Основываясь на информации выше, есть ли у кого-нибудь предложения и почему?
Спасибо