update README

This commit is contained in:
Asdine El Hrychy
2025-08-16 17:49:58 +08:00
parent 05b03975ef
commit 9a8c84e632

View File

@@ -1,28 +1,40 @@
# ChaiSQL # ChaiSQL
ChaiSQL is a modern, embedded SQL database with a PostgreSQL-compatible API, written in pure Go. ChaiSQL is a modern embedded SQL database, written in pure Go, with a PostgreSQL-inspired API.
Its designed for developers who want the power of SQL with the simplicity of an embedded database. Its designed for developers who want the familiarity of Postgres with the simplicity of an embedded database.
[![Build Status](https://github.com/chaisql/chai/actions/workflows/go.yml/badge.svg)](https://github.com/chaisql/chai/actions/workflows/go.yml) [![Build Status](https://github.com/chaisql/chai/actions/workflows/go.yml/badge.svg)](https://github.com/chaisql/chai/actions/workflows/go.yml)
[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/chaisql/chai) [![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/chaisql/chai)
![Status](https://img.shields.io/badge/Project%20Stage-Development-yellow) ![Status](https://img.shields.io/badge/Project%20Stage-Development-yellow)
## Key Features ## ✨ Highlights
- **PostgreSQL API Compatibility** Run familiar SQL queries with minimal changes. - **Postgres-like SQL** the syntax you already know, embedded in your Go app.
- **Pure Go Implementation** No CGO or external dependencies. - **Pure Go** no CGO or external dependencies.
- **Flexible Storage** Choose between on-disk or in-memory modes. - **Flexible Storage** keep data on disk or run fully in-memory.
- **Backed by [Pebble](https://github.com/cockroachdb/pebble)** Rock-solid storage engine from CockroachDB. - **Built on Pebble** powered by [CockroachDBs Pebble engine](https://github.com/cockroachdb/pebble).
## Roadmap ## 🔎 Current Capabilities
ChaiSQL is still in active development and not production-ready. Planned features: ChaiSQL already supports a useful core of SQL features, including:
- [ ] Stable storage format finalize and stabilize (90% complete) - Creating and dropping tables & indexes (with composite indexes)
- [ ] SQL-92 coverage implement core + advanced features (detailed roadmap soon) - Inserting, updating, deleting rows
- [ ] Language clients official drivers for JS/TS, Python, etc. - Basic SELECT queries with filtering, ordering, grouping
- [ ] Backend flexibility RocksDB support alongside Pebble - DISTINCT, UNION / UNION ALL
- [ ] ORM & driver compatibility seamless use with PostgreSQL ecosystem
👉 Joins and many advanced features are not implemented yet.
The goal is steady growth toward broader PostgreSQL compatibility, but today ChaiSQL is best suited for _simpler schemas and embedded use cases_.
## 🗺 Roadmap
ChaiSQL is still in active development and not production-ready. Planned milestones include:
- [ ] Finalize stable on-disk storage format (90% complete)
- [ ] Broader SQL-92 coverage
- [ ] Drivers for other languages (JS/TS, Python, …)
- [ ] RocksDB backend support
- [ ] Compatibility with PostgreSQL drivers/ORMs
## Installation ## Installation
@@ -151,4 +163,4 @@ Not yet. Were actively building out SQL support and stability.
### Can I use existing Postgres tools? ### Can I use existing Postgres tools?
Yes, ChaiSQL aims to be compatible with PostgreSQL drivers and ORMs. Not yet. ChaiSQL is PostgreSQL-API _inspired_, but it does not speak the Postgres wire protocol and is not compatible with psql, pg_dump, or drivers that expect a Postgres server.