LINUX.ORG.RU

Посоветуйте шуструю альтернативу MapDB, чтобы на SSD дырку не протереть

 , ,


0

1

Нужно сохранить простых POJO на пару гигов (порядка 30_000_000 объектов), но во время batch добавления, уже сохраненные POJO могут быть снова запрошены, увеличены в размере (ArrayList#add) и снова сохранены.

MapDB вроде норм, хотя она очень медленная, да еще на котлине сделана, по итогу в eclipse какие-то крякозябры, а не джава код.

Пробовал еще сериализацию, но она тоже очень медленная, да и как потом с данными работать, вытаскивать по ключам, добавлять, обновлять?

Транзакции не нужны, threadsafe не нужно. Нужно чтобы умела in-memory (offheap) и флушить на диск по итогу batch'а

★★★★★

Последнее исправление: foror (всего исправлений: 1)

А если начать с простого? MongoDB? Или если надо встроенный в процесс, то что-то вроде h2/sqlite? LevelDB (но там вроде один ключ)?

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от vertexua

У меня пока вот такой выбор:

https://github.com/koendeschacht/count-db

https://github.com/lmdbjava/lmdbjava - не нравится, что по сути обертка над сишной lmdb

https://github.com/xtreemfs/babudb

https://github.com/cojen/Tupl - похоже то, что нужно т.к. можно задавать Durability http://tupl.cojen.org/javadoc/org/cojen/tupl/DurabilityMode.html

https://github.com/jordw/heftydb

foror ★★★★★
() автор топика
Ответ на: комментарий от foror

Похоже не стоит выпендриваться и брать lmdbjava https://github.com/lmdbjava/benchmarks/blob/master/results/20160710/README.md

«Write workloads show more variation in the results. Small value sizes (ie 100 bytes) were written more quickly by LMDB than any other sorted key implementation»

foror ★★★★★
() автор топика
Последнее исправление: foror (всего исправлений: 2)

имно на 30*10^6 любые общие java db будут медленные, такие требования самое то для оправданного велосипедостроения. тем более отсутствие threadsafe делает это не самым сложным делом.

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

На гитхабе велоинженеров хватает, я даже список выше накидал, осталось правильно выбрать ) Я вначале использую https://github.com/OpenHFT/SmoothieMap (реально крутая штука), а затем из оперативки потихньку на диск скину через lmdbjava

foror ★★★★★
() автор топика
Последнее исправление: foror (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.