The next generation data store optimized for
- time to market
- scalability
- consistency
- reliability
- speed
- Create, delete and list database
- Queue & commit incoming transactions
- Generate transaction undo log
- Fetch entities with custom queries
- Query the latest committed transaction ID at a given time
- Query the entities at a given commit
- Query the change of entities between 2 given commits
- Query schemas for a give DB
- Notify client when the transaction is committed
- Abort uncommitted transaction
- Persist versioned entities & schema
- Design data transformation language & APIs
- User management & access control
- Real time query subscription
- Indexing (B+ tree)
- Distributed storage backend
- Partitioning
- Consistent hashing
- Data replication
- Distributed query processing
- Distributed transaction processing
-
Navigate to
example
dircd example
-
Start server
go run server.go
-
Run client
go run client.go
-
Here is the sample output
has latest commit: {3 2022-03-01 02:08:56.661596 +0000 UTC} Transaction ID: 0 [] Transaction ID: 1 [{1 user map[firstName:Harry lastName:Potter]}] Transaction ID: 2 [{1 user map[firstName:Harry lastName:What]} {2 user map[firstName:Tony lastName:Stark]}] Transaction ID: 3 [{2 user map[firstName:Tony lastName:Stark]} {3 user map[firstName:Princess lastName:Leia]} {1 user map[firstName:Harry lastName:What]}]