Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Embedded Java key-value storage [closed]

I'm looking for a persistent key-value storage to use in my application. Specifically:

  1. It must be embeddable into Java application. Pure Java solution would be the best.
  2. Data must be persisted on disk, in-memory-only storage is not an option. Memory footprint size is important and overall size of key-value map can be quite large. Ideally I'd like to have some kind of LRU cache implemented over the storage.
  3. Both keys & values are strings (don't need to support Java object serialization, etc).
  4. Concurrent reads/writes are important.

What would be the best option in such case?

like image 956
andrew.z Avatar asked Mar 04 '13 09:03

andrew.z


People also ask

What is an embedded key-value store?

Embedded key-value stores come with the additional baggage of embedded systems: they share resources with the system embedding them, which means efficiency is key.

How does a distributed key-value store work?

A distributed key-value store is built to run on multiple computers working together, and thus allows you to work with larger data sets because more servers with more memory now hold the data. By distributing the store across multiple servers, you can increase processing performance.

Is DynamoDB key-value?

DynamoDB is a key-value store with added support for JSON to provide document-like data structures that better match with objects in application code. An item or record cannot exceed 400KB. Compared to MongoDB, DynamoDB has limited support for different data types.

Which database is a Nosql database type that can quickly store and retrieve key-value pairs?

Amazon DynamoDB. DynamoDB is a database trusted by many large-scale users and users in general. It is fully managed and reliable, with built-in backup and security options.


2 Answers

OrientDB (SO info page) seems to fit the bill.

The documentation is occasionally a bit lacking, but I belive it fulfills the criteria you are listing.

like image 132
Henrik Aasted Sørensen Avatar answered Sep 30 '22 04:09

Henrik Aasted Sørensen


I do not know it is best or not but Hazelcast has these options. You can store your data on memory with a backup on disk. There is an example on hazelcast.

like image 40
bhdrkn Avatar answered Sep 30 '22 04:09

bhdrkn