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

Latest commit

 

History

History
70 lines (56 loc) · 1.71 KB

README.md

File metadata and controls

70 lines (56 loc) · 1.71 KB

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]}]