Какой тип БД будет более подходящим для высокопроизводительных целей?
Я хочу разработать систему, которая имеет следующие возможности данных:
- Несколько источников высокая скорость записи, 50K - 100K записей в секунду (с).
- Быстрое чтение из одного источника, одна операция ввода-вывода.
Это базовый дизайн таблицы / набора БД:
Type name
--------------
Date
Amount
- Для каждого нового типа будет создана новая таблица / набор.
- Единственная операция извлечения
SELECT
по датам (должен быть кластерный первичный ключ или что-то подобное). - Таблицы старше одного месяца будут заархивированы.
Предлагаемые мной решения:
- Чистый двигатель БД, такой как Беркли или MS Jet.
- NoSQL, такой как Mongo DB.
PS - система будет написана на C#.
3 ответа
Решение
Redis был бы идеальным решением, но требования намного проще, и кажется, что Berkeley DB вполне подойдет.
Посмотрите на Redis и ServiceStack для C#.
Вот ссылка для сравнения баз данных NoSQL.
Если все, что вы делаете, это пишите от многих авторов и читаете один раз последовательно, вам не нужна база данных, а скорее система очередей. ZeroMQ очень быстро.