Motores de almacenamiento simples o bases de datos de bajo nivel integrables en Java

Me gustaría encontrar motores de almacenamiento simples o bases de datos de bajo nivel, integrables en Java. es decir bibliotecas.

Solo tienen que poder almacenar bytes, de verdad. Las claves pueden ser simplemente números enteros.

No se requiere consulta. Estoy investigando la idea de lidiar con la persistencia o incluso implementar bases de datos sobre una base tan simple.

Por supuesto, rápido, delgado, simple son buenas cualidades.

(No pude usar (crear) etiquetas adicionales: bajo nivel, almacenamiento)

¿Java en qué sistema operativo?
@rrirower Estoy pensando en código JVM puro, por lo que el sistema operativo no debería importar demasiado. Por supuesto, puede haber pequeñas diferencias en cosas como el mapeo de memoria.

Respuestas (2)

Si desea una biblioteca de Java pura, puede buscar en HeftyDB . Si está de acuerdo con los envoltorios nativos lib y Java, hay muchas opciones:

Base de datos H2, MVStore

El motor de base de datos relacional de Java puro, H2 Database , tiene un almacén de clave-valor explícito llamado MVStore .

Cada tienda contiene una serie de mapas a los que se puede acceder mediante la interfaz java.util.Map.

Se admiten tanto la persistencia basada en archivos como la operación en memoria.

Está destinado a ser rápido, fácil de usar y pequeño.

Se admiten operaciones simultáneas de lectura y escritura.

Las transacciones son compatibles (incluidas las transacciones simultáneas y la confirmación de dos fases).

Incluso se puede usar directamente, sin usar JDBC o SQL.

Código de ejemplo:

// open the store
MVStore s = MVStore.open( fileName );

// create/get the map named "data"
MVMap<Integer, String> map = s.openMap( "data" );

// add and read some data
map.put( 1, "Hello World" );
System.out.println( map.get(1) );

// close the store (this will persist changes)
s.close();
Lo comprobé un poco. Almacenamiento estructurado de registros, eso me gusta. Puede almacenar matrices de Java, por lo que se cumple mi requisito. Sin embargo, parece un nivel un poco más alto de lo que buscaba; puede almacenar muchos más tipos de datos. Característica interesante: 'MVRTreeMap es una implementación de árbol R que admite consultas espaciales rápidas'.