Поиск масштабируемого хранилища объектов в памяти, содержащего до 150 миллионов мелких объектов in.net


В настоящее время я работаю над системой управления данными, которая должна вычислять огромные объемы данных: представьте себе лист excel, содержащий около 150 миллионов ячеек с данными.

Мы используем базу данных sql server для хранения данных, но производительность вычислений неоптимальна по многим причинам. Рассматривая альтернативы, я подумал, что нужно попробовать структуры объектов в памяти.

Вот основные требования:

  1. Нам нужна структура, которая поддерживает нескольких пользователей делать обновления на том же "листе" моей аналогии excel. Если производительность одного обновления достаточно высока, то сериализация обновлений всех пользователей приемлема

  2. Мы абсолютно не можем принять потерю данных

  3. Нам нужны индексы по объектному ключу, но также и некоторые индексы по частичным ключам, поэтому структура в памяти должна поддерживать не уникальные ключи, что приводит к эффективному поиску по частичным ключам, возвращающим коллекцию совпадающих записей

  4. Должен поддерживать .NET

Учитывая эти условия, какие-либо предложения, пожалуйста?

Спасибо,

Кемаль

2 4

2 ответа:

Как насчет базы данных NoSQL поверх реляционной базы данных? Что-то вроде MongoDB или RavenDB?

Mongo -это база данных в памяти, и я считаю, что Raven можно настроить для работы в памяти.

Существуют также различные вкусы баз данных NoSQL. Некоторые из них предназначены для "тяжелых для чтения" приложений, а некоторые для "тяжелых для записи" приложений.

Вы также можете посмотреть на CQRS , Если вы выиграете от предварительного вычисления общих поисков или вычислений.

Я бы так и сделал. однако ожидайте, что требование "без потери данных" будет вашим самым большим решающим фактором.

Raima Inc -это еще одна база данных No-SQL, которая работает в памяти, на диске или гибриде этих двух.

Что касается потери данных, то существуют расширения, обеспечивающие зеркальное отображение и репликацию.

Вот ссылка на полные технические спецификации их базы данных: архитектура и функции RDM Embedded 10.1