/herminedb

Hermine DB is an Asynchronous SQL database written in Kotlin, and provides a ADBA (Asynchronous Database Access) driver

Primary LanguageJavaOtherNOASSERTION

herminedb

Hermine DB is a Asynchronous SQL Relational Database written in Kotlin, and the associated ADBA driver (Asynchronous DataBase Access)

It is based on Kotlin coroutines, and uses kotlinx-coroutines library

Building Hermine

Clone Hermine from GitHub.

Hermine require JDK 9 or later. It is modularized with Jigsaw.

Modules

Main modules

  • herminedb-engine is the database itself
  • herminedb-driver is the asynchronous driver to use to connect to Hermine DB, implements ADBA mirror.
    • ADBA is Asynchronous Database Access, a non-blocking database access API that Oracle is proposing as a Java standard
  • hermine-io contains the IO used by hermine DB engine and driver

Other modules

  • hermine-jmh contains microbenchmarks for Hermine components
  • hermine-playground is a free place to test various stuff, can contain influences and ideas

Inspirations and code origin

hermine-io's TCP is inspired by java.net.http from openjdk, that is a sandbox revision targeted for JDK11 of reactive (Flow) async http and http2 client created in JDK 9. hermine-driver is inspired by Oracle AoJ : ADBA over JDBC

Alternative to ADBA :

  • R2DBC initiative to draft an entirely reactive database access API based on Reactive Streams and the proposal from David Karnok
  • RDBC asynchronous database access API for Scala and Java