Требуется масштабируемое, распределенное решение для хранения данных, которое может считывать данные очень быстро и работает с.NET
В настоящее время у меня есть решение для обработки данных в 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.
Основываясь на информации выше, есть ли у кого-нибудь предложения и почему?
Спасибо
1 ответ
Итак, в чем твоя проблема? Я действительно не вижу ничего даже нетривиального здесь.
Быстрое и масштабируемое: захват базы данных (извините, сложные запросы, столбцы = база данных) и получение NICE SAN - HP EVA - это здорово. Я видел это в базе данных, доставляющей 800 МБ случайных операций ввода-вывода в секунду... с использованием 190 дисков SAS. Достаточно быстро для вас? Извините, но это масштабируемость.
Размер базы данных в 400 Гб не может быть восстановлен никакими средствами.
- Хватай приличный сервер. Supermicro имеет один с местом для 24 дисков в 2 стойки высотой.
- Возьмите более совершенный рейд-контроллер SAS - Adaptec.
- Подключите диски ReadSSD в конфигурации RAID 10. Вы будете удивлены - вы будете насыщать шину ввода-вывода быстрее, чем видите "ой". Масштабируемость есть с 24 дисками. И шина ввода-вывода, которая может обрабатывать 1,2 гигабайта в секунду.
Наконец, получите профессионал для настройки вашего сервера баз данных. Так просто. SQL Server намного сложнее в правильном использовании, чем "хорошо, я просто знаю, как должен выглядеть выбор" (без особого знания).