Genji —— 面向文档的嵌入式 SQL 数据库
Genji 是一个用 Go 编写的嵌入式数据库,旨在简化现代世界中的数据处理。它将SQL的强大功能与文档的多功能性相结合,以提供最大的灵活性而不妥协。
主要功能列表:
- SQL 和文档:使用为文档设计的强大的 SQL 语言作为 first-class citizen。
- 灵活的架构:使用 strict schemas、partial schemas 或者 no schemas 来定义你的 table。
- 事务支持:具有多个 readers 和单个 writer 的完全可序列化事务。Readers 不会组织 writer,writers 也不会阻止 readers。
- 与
database/sql包兼容
安装:
go install github.com/genjidb/genji
Genji 的主要概念并不是新的,并且已选择语义以尽可能地匹配其他数据库中已经存在的内容:
| Classic SQL databases | Genji |
|---|---|
| Table | Table |
| Schema | Schema |
| Row | Document |
| Column | Field |
- Table:文档集合
- Schema:适用于表的每个文档的所有或某些字段的约束列表。
- 文档:字段列表
- 字段:键值对