Я только начал играть с Berkeley DB несколько дней назад, поэтому я пытаюсь выяснить, упускаю ли я что-то, когда дело доходит до максимально быстрого хранения данных.
Вот некоторая информация о данных:
- это входит в 512 байтовых кусков
- куски приходят в порядок
- фрагменты будут удалены в порядке FIFO
- если я потеряю некоторые данные из-за сбоя питания, то все в порядке, пока целая база данных не сломана
После прочтения множества документации казалось, что база данных Queue была именно тем, что я хотел.
Однако, после попытки некоторого тестового кода, мои самые быстрые результаты были около 1 МБайт в секунду, просто просматривая DB-> put с установленным DB_APPEND. Я также пытался использовать транзакции и массовые путы, но оба эти процесса значительно замедлились, поэтому я не занимался ими в течение длительного времени. Я вставлял в новую базу данных, созданную на чипе NANDFlash на моей плате разработчика Freescale i.MX35.
Поскольку мы стремимся получить скорость записи не менее 2 МБ / с, мне было интересно, что я пропустил, что может улучшить мои скорости, поскольку я знаю, что мое оборудование может писать быстрее, чем эта.