All Projects → dibyendumajumdar → simpledbm

dibyendumajumdar / simpledbm

Licence: other
SimpleDBM is an Open Source Multi-Threaded Embeddable Transactional Database Engine in Java.

Programming Languages

java
68154 projects - #9 most used programming language
Roff
2310 projects

Projects that are alternatives of or similar to simpledbm

Tupl
The Unnamed Persistence Library
Stars: ✭ 83 (+62.75%)
Mutual labels:  nosql, concurrency, transaction
skytable
Skytable is an extremely fast, secure and reliable real-time NoSQL database with automated snapshots and TLS
Stars: ✭ 696 (+1264.71%)
Mutual labels:  nosql, nosql-database, database-engine
location-api-sl
This API can be use to all developers to get location details of Sri Lanka 🇱🇰 including major cities, sub areas, districts and Provinces. ⛳️
Stars: ✭ 35 (-31.37%)
Mutual labels:  nosql, nosql-database
k2hash
K2HASH - NoSQL Key Value Store(KVS) library
Stars: ✭ 33 (-35.29%)
Mutual labels:  nosql, transaction
pocket-db
🎒 A pocket-sized Node.js, NoSQL database.
Stars: ✭ 15 (-70.59%)
Mutual labels:  nosql, nosql-database
acebase
A fast, low memory, transactional, index & query enabled NoSQL database engine and server for node.js and browser with realtime data change notifications
Stars: ✭ 288 (+464.71%)
Mutual labels:  nosql, nosql-database
unqlite.rs
UnQLite wrapper 1.0 is avaliable for Rust
Stars: ✭ 99 (+94.12%)
Mutual labels:  nosql, database-engine
pickledb-rs
PickleDB-rs is a lightweight and simple key-value store. It is a Rust version for Python's PickleDB
Stars: ✭ 116 (+127.45%)
Mutual labels:  nosql, nosql-database
Java Interview
At the beginning, it was the repository with questions from Java interviews. Currently, it's more like knowledge base with useful links.
Stars: ✭ 114 (+123.53%)
Mutual labels:  concurrency, transaction
Libmdbx
One of the fastest embeddable key-value ACID database without WAL. libmdbx surpasses the legendary LMDB in terms of reliability, features and performance.
Stars: ✭ 729 (+1329.41%)
Mutual labels:  nosql, transaction
Tidis
Distributed transactional NoSQL database, Redis protocol compatible using tikv as backend
Stars: ✭ 1,182 (+2217.65%)
Mutual labels:  nosql, transaction
MongoDB-University
Repo for All MongoDB University Courses
Stars: ✭ 102 (+100%)
Mutual labels:  nosql, nosql-database
AloeDB
Light, Embeddable, NoSQL database for Deno 🦕
Stars: ✭ 111 (+117.65%)
Mutual labels:  nosql, nosql-database
soda-for-java
SODA (Simple Oracle Document Access) for Java is an Oracle library for writing Java apps that work with JSON (and not only JSON!) in the Oracle Database. SODA allows your Java app to use the Oracle Database as a NoSQL document store.
Stars: ✭ 61 (+19.61%)
Mutual labels:  nosql, nosql-database
DataTanker
Embedded persistent key-value store for .NET. Pure C# code.
Stars: ✭ 53 (+3.92%)
Mutual labels:  nosql, btree
Ardb
A redis protocol compatible nosql, it support multiple storage engines as backend like Google's LevelDB, Facebook's RocksDB, OpenLDAP's LMDB, PerconaFT, WiredTiger, ForestDB.
Stars: ✭ 1,707 (+3247.06%)
Mutual labels:  nosql, nosql-database
Transient
A full stack, reactive architecture for general purpose programming. Algebraic and monadically composable primitives for concurrency, parallelism, event handling, transactions, multithreading, Web, and distributed computing with complete de-inversion of control (No callbacks, no blocking, pure state)
Stars: ✭ 617 (+1109.8%)
Mutual labels:  concurrency, transaction
Jdonframework
Domain-Driven-Design Pub/Sub Domain-Events framework
Stars: ✭ 978 (+1817.65%)
Mutual labels:  concurrency, transaction
Dbreeze
C# .NET MONO NOSQL ( key value store embedded ) ACID multi-paradigm database management system.
Stars: ✭ 383 (+650.98%)
Mutual labels:  nosql, transaction
Gkvdb
[mirror] Go语言开发的基于DRH(Deep-Re-Hash)深度哈希分区算法的高性能高可用Key-Value嵌入式事务数据库。基于纯Go语言实现,具有优异的跨平台性,良好的高可用及文件IO复用设计,高效的底层数据库文件操作性能,支持原子操作、批量操作、事务操作、多表操作、多表事务、随机遍历等特性。
Stars: ✭ 109 (+113.73%)
Mutual labels:  nosql, transaction

Java CI with Maven

SimpleDBM is an Open Source Transactional Database Engine in Java. It has a very small footprint and can be embedded in the address space of an application. It provides a simple programming API, which can be learned very quickly. A simple network API is available for remote access.

Features

SimpleDBM has the following features:

  1. Transactional - SimpleDBM fully supports ACID transactions. SimpleDBM uses a STEAL/NO-FORCE buffer management strategy for transactions; SimpleDBM's Transaction Manager implements the ARIES algorithm.
  2. Multi-threaded - SimpleDBM is multi-threaded and supports concurrent reads and writes of data.
  3. Write Ahead Log - SimpleDBM uses a write ahead log to ensure transaction recovery in the event of system crashes.
  4. Lock based concurrency - SimpleDBM uses shared, update and exclusive row locks to manage concurrency.
  5. Multiple Isolation Levels - SimpleDBM supports read-committed, repeatable-read, and serializable isolation levels.
  6. B-Tree Indexes - SimpleDBM implements B-Link/Plus Tree indexes, that fully support concurrent reads, inserts and deletes. SimpleDBM B-Trees continually re-balance themselves, and do not suffer from fragmentation.
  7. Tables - SimpleDBM supports tables, but for maximum flexibility, treats table rows as blobs of data. Table rows can have any internal structure as you like, and can span multiple disk pages. Standard table rows with multiple columns are supported via add-on modules.
  8. Latches and Locks - SimpleDBM uses latches for internal consistency, and locks for concurrency. Latches are more efficient locking mechanisms that do not suffer from deadlocks.
  9. Deadlock detection - SimpleDBM has support for deadlock detection. A background thread periodically checks the lock table for deadlocks and aborts transactions to resolve deadlocks.
  10. Network API - From release 1.0.18 a network client server implementation is included that allows SimpleDBM servers to run standalone and remote clients to connect via TCP/IP. Only Java bindings available right now.

Non Features

  1. SimpleDBM does not suport SQL.
  2. There is no support for distributed transactions (XA) yet.

Status

SimpleDBM is available via Maven Central. The latest release is 1.0.23. If you discover bugs please report as I will do my best to fix bugs. Enhancements are currently on hold due to lack of time.

News

  • 1 Aug 2014 - SimpleDBM 1.0.23 uploaded to maven central. From this release the primary license is Apache V2.0 - but GPL and LGPL continue to be options.
  • 22 May 2013 - SimpleDBM 1.0.22 uploaded to maven central
  • 3 June 2012 - SimpleDBM 1.0.19-ALPHA released. This is a bug fix release.
  • 19 April 2010 - SimpleDBM 1.0.18-ALPHA released. This contains a first implementation of the network client server.

License

SimpleDBM license has been changed to Apache License 2.0 from 1.0.23 onwards.

Getting Started with SimpleDBM

To start developing code with SimpleDBM, you need to include following maven dependencies:

Embedded Database

This option is where you want the database engine to be inside your application, deployed as part of the same JVM.

        <dependency>
            <groupId>org.simpledbm</groupId>
            <artifactId>simpledbm-common</artifactId>
            <version>1.0.23</version>
        </dependency>
        <dependency>
            <groupId>org.simpledbm</groupId>
            <artifactId>simpledbm-rss</artifactId>
            <version>1.0.23</version>
        </dependency>
        <dependency>
            <groupId>org.simpledbm</groupId>
            <artifactId>simpledbm-typesystem</artifactId>
            <version>1.0.23</version>
        </dependency>
        <dependency>
            <groupId>org.simpledbm</groupId>
            <artifactId>simpledbm-database</artifactId>
            <version>1.0.23</version>
        </dependency>

See the Database API documentation below.

Network Server

The Network Server allows a client / server deployment. Instructions to follow...

Documentation

For documentation, I recommend you start with:

For advanced stuff, read:

You can read the SimpleDBM Blog and other papers available in the downloads section. If you are interested in development, you should also read the literature referred to in the Bibliography.

If you find bugs, please raise Issues. You can also post questions in the discussion group.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].