Нужно решение для хранения, которое масштабируемо, распределено и может считывать данные очень быстро и работает с .NET - PullRequest
0 голосов
/ 27 июня 2010

В настоящее время у меня есть решение для обработки данных в 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 Ответ

1 голос
/ 27 июня 2010

Итак, в чем ваша проблема? Я действительно не вижу здесь ничего нетривиального.

  • Быстрое масштабирование: захват базы данных (извините, сложные запросы, столбцы = база данных) и получение NICE SAN - HP EVA отлично. Я видел это в базе данных, доставляющей 800 МБ случайных операций ввода-вывода в секунду ... с использованием 190 дисков SAS. Достаточно быстро для вас? Извините, но это масштабируемость.

  • Размер базы данных 400 ГБ не может быть восстановлен никакими средствами.

    • Хватай приличный сервер. Supermicro имеет один с местом для 24 дисков в 2 стойки высотой.
    • Захватите контроллер рейда SAS более высокого класса - Adaptec.
    • Подключите диски ReadSSD в конфигурации RAID 10. Вы будете удивлены - вы будете насыщать шину ввода-вывода быстрее, чем видите «ой». Масштабируемость есть с 24 дисками. И шина ввода-вывода, способная обрабатывать 1,2 гигабайта в секунду.

Наконец, получите профессионала для настройки вашего сервера баз данных. Так просто. SQL Server намного сложнее в правильном использовании, чем «хорошо, я просто знаю, как должен выглядеть выбор» (без особого понимания).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...