JDB
JDB is a powerful database and storage solution using REST technology.
Key features
- Multi-threaded and multi-process. The same database can be shared lock-free between threads and foreign processes. There is no master process.
- Zero-copy data access between threads and processes.
- Persistent storage
- Data storage using a file: Auto-shrink and auto-extend
- Data storage using a disk/partition: Storage size automatically follows underlying disk size during hot-resize
- Active-active asynchronous data cluster
- Infinite nested/hierarchical data storage.
- Application-aware and un-aware. Both schema and schema-less.
- Blob and structured storage of any size
- Zero startup-time
- REST and websocket support
- Transparent data storage compression and decompression support
- Transparent data storage base64 encoding and decoding support
- Range support, also for compressed data storage
- Authentication with JID, static token+ipfilter. Cluster peers user token+ipfilter
- Authorization/ACL included in each database. There is also a global ACL.
- Monitoring with J Loke
- Real-time backup with J NFS
Database structure
Each level of a database support up to 64bit amount of databases using the 64bit value as a database identifier.
Because JDB is nested, you can add infinite levels of hierarchical databases or storage nodes.
Authentication
Authentication is performed using JID which include local session support.
MFA is supported by JID.
Authorization
Each root database contain an Access Control List of users and groups that may access the database and all data within that database.
Permission can be given read-only, read-write with delete and read-write without delete.
A root database can be set to require MFA authentication in order to access it.
Clustering
All nodes in a JDB cluster are active, meaning JDB is a true active-active solution where all nodes are equal.
Sharding, horizontal scaling, map-reduce or similar can easily be achieved by client software due to the asynchronous and zero-copy technology JDB provides.
Monitoring
The system support the real-time monitoring solution Loke
Usage documentation