Skip to content

Repository files navigation

CBS — Cloud Backed SQLite

Go Reference

中文 | English

纯 Go 实现的 Cloud Backed SQLite,提供标准 database/sql 驱动,支持本地文件、内存数据库,以及 S3/文件系统容器。项目保持 SQLite 文件格式兼容,并通过 OCC、WAL 和块存储支持云端数据库场景。

快速开始

import (
	"database/sql"
	_ "github.com/eslizn/cbs"
)

db, err := sql.Open("sqlite", ":memory:")
if err != nil {
	panic(err)
}
defer db.Close()

_, err = db.Exec("CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT)")
_, err = db.Exec("INSERT INTO users(name) VALUES(?)", "alice")

常用 DSN:

/path/to/file.db                                      本地 SQLite 文件
:memory:                                               内存数据库
s3:///path/to/container?db=name&mode=rw               本地目录容器
s3://key:secret@s3.region.amazonaws.com/bkt?db=name   S3 容器
s3:///path/to/container?db=name&daemon=/path/to/cache daemon 只读容器

启动共享缓存 daemon:

cbs daemon

daemon 默认使用系统临时目录下的 cbs-daemon 子目录,也可以通过 --cache-dir 显式指定共享缓存目录。

直接执行 cbs 默认使用 :memory:;也可以通过 -s/--source 指定路径或 DSN。进入交互式 SQL 模式后按 Tab,可补全 SQL 关键字、表名、列名和 dot 命令。

完整 DSN 参数、错误处理和使用示例见使用说明

项目文档

构建与测试

go build ./...
go test ./... -count=1
go vet ./...

About

[Cloud Backed Sqlite](https://sqlite.org/cloudsqlite) Go implement

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages