Distributed, version controlled, SQL database with cryptographically verifiable storage, queries and results. Think git for postgres.

Overview

SDB - SignatureDB

Distributed, version controlled, SQL database with cryptographically verifiable storage, queries and results.

Think git for postgres.

$ isdb -d app_dev -U sdb
isdb (0.0.1)
Type "help" for help.

app_dev=# VERIFY 'HEAD'
app_dev-# SELECT id, product_code, value, email
app_dev-# FROM orders;
 id | product_code | value | email
----+--------------+-------+-------
(0 rows)

SHA: 6f902734101b5963367f394aa0def3f3d50f760e
app_dev=# \q
---
$ sdb log -2
commit 6f902734101b5963367f394aa0def3f3d50f760e (test-orders, origin/main, origin/HEAD, main)
Author: alex <[email protected]>
Date:   Thu Dec 30 10:17:26 2021 -0800

    Initial commit
---
$ isdb -d app_dev -U sdb
isdb (0.0.1)
Type "help" for help.

app_dev=# MESSAGE 'First order!'
app_dev-# INSERT INTO orders (product_code, value, email)
app_dev-# VALUES ('abc123', 10.0, '[email protected]');
INSERT 0 1

SHA: e427da4413bed914dfece023ed171ab73bb20c0b
app_dev=# VERIFY 'HEAD'
app_dev-# SELECT id, product_code, value, email
app_dev-# FROM orders;
 id | product_code | value |       email
----+--------------+-------+-------------------
 1  | abc123       | 10.0  | [email protected]
(1 row)

SHA: e427da4413bed914dfece023ed171ab73bb20c0b
app_dev=# \q
---
$ sdb log -2
commit e427da4413bed914dfece023ed171ab73bb20c0b (HEAD -> test-orders)
Author: alex <[email protected]>
Date:   Thu Dec 30 12:43:06 2021 -0800

    First order!

commit 6f902734101b5963367f394aa0def3f3d50f760e (test-orders, origin/main, origin/HEAD, main)
Author: alex <[email protected]>
Date:   Thu Dec 30 10:17:26 2021 -0800

    Initial commit
---
$

NOTE!!!

This project is an experiment. I have no idea at this point if it's possible. I'm a huge fan of both postgres and git and the daily workflows they enable as a developer. When building web3 applications this is the core data storage system I would want to use.

Getting Started

Status

CLI

  • help
  • createdb
  • dropdb

REPL

  • \l
  • \dn
  • \dt
  • \d
  • \d relation
  • \e

Query Statements

  • INSERT
  • SELECT
  • UPDATE
  • DELETE

DDL

  • CREATE TABLE
  • ALTER TABLE
  • DROP TABLE

Authors

License

signaturedb is released under the MIT license

You might also like...
SQL validator tool for BigQuery standard SQL.

bqvalid What bqvalid does bqvalid is the SQL validator tool for BigQuery standard SQL. bqvalid fails with error message if there's the expression that

cogo rust coroutine database driver (Mysql,Postgres,Sqlite)

cdbc Coroutine Database driver Connectivity.based on cogo High concurrency,based on coroutine No Future'q,Output=*,No async fn, No .await , no Poll*

This crate allows you to send cypher queries to the REST endpoint of a neo4j database

rusted_cypher Rust crate for accessing the cypher endpoint of a neo4j server This crate allows you to send cypher queries to the REST endpoint of a ne

postgres-ical - a PostgreSQL extension that adds features related to parsing RFC-5545 « iCalendar » data from within a PostgreSQL database

postgres-ical - a PostgreSQL extension that adds features related to parsing RFC-5545 « iCalendar » data from within a PostgreSQL database

Plugin for macro-, mini-quad (quads) to save data in simple local storage using Web Storage API in WASM and local file on a native platforms.

quad-storage This is the crate to save data in persistent local storage in miniquad/macroquad environment. In WASM the data persists even if tab or br

ReefDB is a minimalistic, in-memory and on-disk database management system written in Rust, implementing basic SQL query capabilities and full-text search.
ReefDB is a minimalistic, in-memory and on-disk database management system written in Rust, implementing basic SQL query capabilities and full-text search.

ReefDB ReefDB is a minimalistic, in-memory and on-disk database management system written in Rust, implementing basic SQL query capabilities and full-

This is a small demo of how to transform a simple single-server RocksDB service written in Rust into a distributed version using OmniPaxos.

OmniPaxos Demo This is a small demo of how to transform a simple single-server RocksDB service into a distributed version using OmniPaxos. Related res

FeOphant - A SQL database server written in Rust and inspired by PostreSQL.

A PostgreSQL inspired SQL database written in Rust.

SQL database to read and write
SQL database to read and write "discord"

GlueSQL Discord Storage After discussing how CI testing will be managed, we plan to move it upstream. Precautions for use discord ToS https://discord.

Owner
Fremantle Industries
Fremantle Industries
🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL.

SQLx ?? The Rust SQL Toolkit Install | Usage | Docs Built with ❤️ by The LaunchBadge team SQLx is an async, pure Rust† SQL crate featuring compile-tim

launchbadge 7.6k Dec 31, 2022
Execute SQL now and get the results later.

pg_later Execute SQL now and get the results later. A postgres extension to execute queries asynchronously. Installation Add pg_later to shared_preloa

Tembo 12 Jul 25, 2023
open source training courses about distributed database and distributed systemes

Welcome to learn Talent Plan Courses! Talent Plan is an open source training program initiated by PingCAP. It aims to create or combine some open sour

PingCAP 8.3k Dec 30, 2022
Distributed SQL database in Rust, written as a learning project

toyDB Distributed SQL database in Rust, written as a learning project. Most components are built from scratch, including: Raft-based distributed conse

Erik Grinaker 4.6k Jan 8, 2023
Rust library to parse, deparse and normalize SQL queries using the PostgreSQL query parser

This Rust library uses the actual PostgreSQL server source to parse SQL queries and return the internal PostgreSQL parse tree.

pganalyze 37 Dec 18, 2022
An object-relational in-memory cache, supports queries with an SQL-like query language.

qlcache An object-relational in-memory cache, supports queries with an SQL-like query language. Warning This is a rather low-level library, and only p

null 3 Nov 14, 2021
Run SQL queries on CSV files

zsql run SQL queries on csv files A terminal utility to easily run SQL queries on CSV files. zsql is shipped as a small single binary powered by rust

Zizaco 9 Jul 9, 2022
Running SQL-like queries on files.

filesql Running SQL-like queries on files. Features Supported: REPL Basic SQL expressions. INSERT clause. (which inserts data into another file) WHERE

Zhang Li 1 Nov 15, 2021
A Rust SQL query builder with a pleasant fluent API closely imitating actual SQL

Scooby An SQL query builder with a pleasant fluent API closely imitating actual SQL. Meant to comfortably build dynamic queries with a little bit of s

Aleksei Voronov 100 Nov 11, 2022
Gh-sql - Query GitHub Projects (beta) with SQL

gh-sql: Query GitHub Projects (beta) with SQL Installation gh extension install KOBA789/gh-sql Features SELECT items DELETE items UPDATE item fields

Hidekazu Kobayashi 108 Dec 7, 2022