Skip to content
This repository has been archived by the owner on Feb 11, 2024. It is now read-only.

magicoder10/tstore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tStore

The next generation data store optimized for

  • time to market
  • scalability
  • consistency
  • reliability
  • speed

Features

  • 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

Prerequisites

Getting Started

  1. Navigate to example dir

    cd example
  2. Start server

    go run server.go
  3. Run client

    go run client.go
  4. 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]}]

About

The next generation of scalable distributed database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published