В настоящее время я пытаюсь выбрать поставщика базы данных.
Я просто ищу некоторые личные мнения от других разработчиков баз данных.
Мой вопрос особенно адресован людям, которые:
1) раньше использовали базу данных основной памяти (MMDB), поддерживающую репликацию на диск (гибридную) (например, ExtremeDB а>)
or
2) использовали базу данных Versant Object и/или база данных Objectivity и/или Хранилище объектов прогресса
и вопрос на самом деле: если бы вы могли порекомендовать поставщика базы данных, основываясь на своем опыте, который подойдет для моего приложения.
Мое приложение представляет собой коммерческое в режиме реального времени (читай: высокопроизводительное) объектно-ориентированное ГИС-приложение C++, в котором нам нужно выполнять много поиска по широте и долготе (т. е., учитывая область, найти все соответствующие цели в пределах области. ..R-Tree индекс).
Типы данных, которые я хотел бы хранить в базе данных, моделируются как объекты, и они используют std::list и std::vector, поэтому, естественно, объектная база данных имеет смысл. Я прочитал достаточно статей, чтобы убедить себя в том, что традиционная СУБД, вероятно, не то, что мне действительно нужно с точки зрения
- производительность (объединения или несколько таблиц для данных динамической длины, таких как список/вектор)
- простота программирования (несоответствие импеданса)
Однако с точки зрения производительности,
Входные данные подаются в систему со скоростью около 40 МБ/с.
Следовательно, система также будет выполнять вставку в базу данных со скоростью примерно 350 вставок в секунду (где размер каждого объекта варьируется от 64 КБ до 128 КБ).
- База данных будет последовательно искаться и обновляться через несколько потоков.
Насколько я понимаю, все перечисленные здесь БД объектов используют кеш для хранения объектов БД. ExtremeDB утверждает, что, поскольку он разработан специально для памяти, он может избежать накладных расходов на логику кэширования и т. д. См. больше, погуглив: Базы данных основной памяти и RAM-диска: тест на основе Linux.
Итак.. Я просто немного смущен. Можно ли использовать объектные БД в системе реального времени? Это так же «быстро», как MMDB?