kyoto cabinet scan_parallel не совсем параллельный? - PullRequest
0 голосов
/ 16 декабря 2011

Я просто потратил день на создание уровня абстракции для 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);

edit

Не удалятьIR TAG.Пожалуйста, подумайте, прежде чем махать рукой по разъединяющему устройству.

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

...