Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added ChronicleMap persistence as an alternative to SQLite #316

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

akumaburn
Copy link

@akumaburn akumaburn commented Apr 6, 2023

I did recently add ChronicleMap (https://github.com/OpenHFT/Chronicle-Map) as a store to CQEngine and tested it successfully. It is license compatible with this project using the same type - Apache 2.0 license: https://github.com/OpenHFT/Chronicle-Map/blob/ea/LICENSE

Usage is like:

ChroniclePersistence<Community, String> diskPersistence = new ChroniclePersistence<>((SimpleAttribute<Community, String>) GUID_ATTRIB, new File("persist.dat"),String.class,Community.class,UUID.randomUUID().toString().length()+1,64 * 1024,1000000);

ConcurrentIndexedCollection<Community> communities = new ConcurrentIndexedCollection<>(diskPersistence);

@npgall
Copy link
Owner

npgall commented Apr 7, 2023

This is very interesting, and something I would be interested in merging.

I am hoping soon to carve out some time to take a closer look.

@jeansossmeier
Copy link

@akumaburn This is cool, are you using this sucessfully?
Have you done any benchmarking?

Another performance improvement that could be done is instead of Protostuff, you could use Apache Fury, which is crazy fast.
https://github.com/apache/fury

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants