Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Lightning Memory Database (LMDB) for Java: a low latency, transactional, sorted, embedded, key-value store

License

NotificationsYou must be signed in to change notification settings

lmdbjava/lmdbjava

Repository files navigation

Build StatusBuild StatuscodecovJavadocsMaven Central

LMDB for Java

LMDB offers:

  • Transactions (full ACID semantics)
  • Ordered keys (enabling very fast cursor-based iteration)
  • Memory-mapped files (enabling optimal OS-level memory management)
  • Zero copy design (no serialization or memory copy overhead)
  • No blocking between readers and writers
  • Configuration-free (no need to "tune" it to your storage)
  • Instant crash recovery (no logs, journals or other complexity)
  • Minimal file handle consumption (just one data file; not 100,000's like some stores)
  • Same-thread operation (LMDB is invoked within your application thread; no compactor thread is needed)
  • Freedom from application-side data caching (memory-mapped files are more efficient)
  • Multi-threading support (each thread can have its own MVCC-isolated transaction)
  • Multi-process support (on the same host with a local file system)
  • Atomic hot backups

LmdbJava adds Java-specific features to LMDB:

  • Extremely fast across a broad range of benchmarks, data sizes and access patterns
  • Modern, idiomatic Java API (including iterators, enums, exceptions etc)
  • Nothing to install (the JAR embeds LMDB libraries for Linux, OS X and Windows)
  • Buffer agnostic (JavaByteBuffer, AgronaDirectBuffer, NettyByteBuf, your own buffer)
  • 100% stock-standard, officially-released, widely-tested LMDB C code (no extra C/JNI code)
  • Low latency design (allocation-free; buffer pools; optional checks can be easily disabled in production etc)
  • Easy to use (just work through our step-by-step, CI-tested, fully-executabletutorial)
  • Java 9 ready (JNR-FFI-based;Unsafe not required etc)
  • Available fromMaven Central andOSS Sonatype Snapshots (seeChange Log)
  • ComprehensiveJavaDocs
  • Linux,OS X andWindows CI

Performance

img

img

Full details are in thelatest benchmark report.

Support

We're happy to help you use LmdbJava. Simplyopen a GitHub issue if you haveany questions.

Contributing

Contributions are welcome! Please see theContributing Guidelines.

License

This project is licensed under theApache License, Version 2.0.

This project distribution JAR includes LMDB, which is licensed underThe OpenLDAP Public License.

About

Lightning Memory Database (LMDB) for Java: a low latency, transactional, sorted, embedded, key-value store

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors27


[8]ページ先頭

©2009-2025 Movatter.jp