Требуется масштабируемое, распределенное решение для хранения данных, которое может считывать данные очень быстро и работает с.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 намного сложнее в правильном использовании, чем "хорошо, я просто знаю, как должен выглядеть выбор" (без особого знания).

Другие вопросы по тегам