kyoto cabinet scan_parallel не совсем параллельный?

Я просто потратил день на создание слоя абстракции в kyotodb для удаления глобальных блокировок из моего кода, я был занят переносом своих алгоритмов на этот новый уровень абстракции, когда обнаружил, что scan_parallel не совсем параллельно. Он работает только с одним ядром - для забав, я застрял в своем коде в цикле с обратным отсчетом в миллиард int-countdown (пустые заглушки при портировании), чтобы попытаться смоделировать некоторое время обработки. все еще только одно ядро ​​макс. Мне нужно перейти на Беркли БД или leveldb? Я думал, что kyotodb предназначен для проблем с масштабом интернета:/. Я, должно быть, делаю что-то не так или пропускаю некоторые ошибки.

top или же iostat никогда не превышал 100% / 25% (максимум iostat на один процессор = 1/ количество ядер * 100):/ на четырехъядерном процессоре i5.

Исходная база данных представляет собой 10-гигабайтный корпус данных, закодированных в буферном протоколе (treedb), со следующими флагами (взятыми из документации).

index_db.tune_options(TreeDB::TLINEAR | TreeDB::TCOMPRESS);
index_db.tune_buckets(1LL * 1000);
index_db.tune_defrag(8);
index_db.tune_page(32768);

редактировать

Не удаляйте ИК-ярлык. Пожалуйста, подумайте, прежде чем махнуть рукой на летучую мышь.

Это вопрос, связанный с IR, он касается создания инвертированных файлов GINORMOUS (40 Гиг +) ONLINE, инвертированные индексы являются основой методов доступа к данным IR, а создание инвертированных индексов имеет уникальный транзакционный профиль. Удаляя ИК-тег, вы лишаете меня мудрости исследователей в области ИК, которые использовали библиотеку базы данных для создания таких больших файлов базы данных.

0 ответов

Другие вопросы по тегам