У кого-нибудь есть опыт работы с FastDB (база данных C ++ в памяти)? - PullRequest
7 голосов
/ 28 сентября 2010

FastDB - это база данных с открытым исходным кодом в памяти, тесно интегрированная с C ++ (она поддерживает язык запросов, похожий на SQL, где таблицы - это классы, а строки - объекты). Как и большинство IMDB, он предназначен для приложений, в которых преобладают шаблоны доступа для чтения. Алгоритмы и структуры данных оптимизированы для систем, которые считывают и записывают данные полностью в оперативную память (RAM). Он должен быть очень быстрым, даже по сравнению с другими базами данных в памяти, но я не могу найти какие-либо тесты онлайн.

Я рассматриваю возможность использования FastDB для данных временных рядов в проекте, в котором 1) задержки считывания с произвольным доступом менее 1 миллисекунды и 2) пропускная способность последовательного чтения в миллионах строк в секунду была бы очень хорошей.

Я не могу найти много ссылок на непосредственный опыт работы с FastDB; кто-нибудь здесь использовал это? Можете ли вы указать на какие-либо критерии FastDB, особенно те, которые учитывают задержку чтения и пропускную способность?

1 Ответ

5 голосов
/ 28 сентября 2010

В недавнем сообщении на форуме Erlang (от 2009 г.): http://www.trapexit.org/forum/viewtopic.php?p=49476#49476 есть кто-то (Серж Алейников), рекомендующий FastDB для торговых систем с задержками менее миллисекунды:

Если вы не хотите тратить слишком много времени на программирование на C ++, поскольку у вас есть
уже проделали хорошую работу по абстрагированию mnesia backend, почему бы вам не
создайте драйвер Erlang для этой базы данных: www.fastdb.org. Это основано
для файлов с отображенной памятью, реализованных в C ++, сравнительно быстро сравнивается
в другие базы данных в памяти (около 250 тыс. просмотров / с, 50 ​​тыс. вставок / с), имеет
возможности временных рядов, простой C-API. Я реализовал интерфейс FastDB
на нескольких языках, и в целом это хорошо для систем, которые имеют дело с
задержки в диапазоне миллисекунд. Это может быть достаточно для вас, если вы не
нужно оставаться в царстве низких микросекунд.

Мой 2с.

Серж

Довольно пугающе видеть, как люди беспокоятся о задержках в низкие микросекунды ; Я рассматриваю FastDB для цифровой обработки сигналов (DSP), где живые аудиосистемы обычно ограничивают задержку не более чем около 10 миллисекунд. Конечно, если система реагирует в миллисекундах, мы можем использовать входные импульсы длительностью всего несколько микросекунд.

Нет никакого упоминания о том, какая система использовалась для просмотров 250K / с, вставок 50K / с. Тем не менее, это положительный знак.

...