понедельник, 26 марта 2012 г.

BerkeleyDB и TokyoCabinet

Результаты двух недельноего стравнения BerkeleyDB и TokyoCabinet на стареньком компьютере.

BerkeleyDB::Recno, которые, кстати, сделаны поверх Btree, можно заменить "ручными очередями", сделаными на основе BerkeleyDB::Btree или TokyoCabinet::BDB, без потери производительности.

Настройками по умолчанию TokyoCabinet предназначены для маленьких баз. BerkeleyDB - для средних.

Для больших баз с соответствующими настройками BerkeleyDB::Btree и TokyoCabinet::BDB примерно одинаковы по производительности и размеру. Большие базы 5000000 записей, key 1040 - байт, value - 1000 байт.

Тестовый сервер:
CPU: AMD Sempron(tm) Processor 2800+ (1608.27-MHz 686-class CPU)
real memory = 8589934592 (8192 MB)
ada0: ATA-6 device
ada0: 100.000MB/s transfers (UDMA5, PIO 8192bytes)
ada0: 76318MB (156299375 512 byte sectors: 16H 63S/T 16383C)

А вот TokyoCabinet::HDB выигрывает в скорости и в размене у BerkeleyDB::Hash почти в два раза.