Database Awesome
| name | stand for |
|---|---|
| Relational DBMS | 关系型数据库 |
| Key-value stores | KV 存储 |
| Document stores | 文档存储 |
| Time Series DBMS | 时序数据库 |
| Graph DBMS | 图数据库 |
| Object oriented DBMS | 面向对象数据库 |
| Search engines | 搜索引擎 |
| RDF stores | RDF 存储 |
| Wide column stores | 宽列存储 |
| Column stores | 列存储 |
| Multivalue DBMS | 多值数据库 |
| Native XML DBMS | XML 数据库 |
| Spatial DBMS | 空间数据库 |
| Event Stores | 事件存储 |
| Content stores | 内容存储 |
| Navigational DBMS | 导航数据库 |
| db | lang |
|---|---|
| MSSQL | T-SQL/Transact-SQL |
| PostgreSQL | PL/pgSQL |
| Oracle | PL/SQL |
| MySQL | PL/SQL (有限支持) / Stored Procedures (SQL语法扩展) |
| DB2 | SQL PL |
- PostgreSQL Awesome笔记PostgreSQL Awesome扩展插件功能 · 数据功能 - 数据类型、操作类型、索引类型 · 服务功能 - 集群、cron、存储引擎 · 查询能力 - 图、流、GIS · 集成功能 - Redis、ES · 语言功能 - JS、Lua、Java · neondatabase/neon打开:/notes/db/relational/postgresql/awesome
- NewSQL
- cockroachdb
- Realtime/Baas/Streaming/实时
- MaterializeInc/materializeGitHubMaterializeInc/materialize
- 基于 PostgreSQL
- 实时的
MATERIALIZED VIEW - CREATE SOURCE
- 支持 Kafka, S3
- supabase/supabaseGitHubsupabase/supabasesupabase/supabase · Apache-2.0, TS, Postgres · 一套部署只能支持 1 个项目 - #4907 · 不能作为 SaaS - 除非二次开发 · 推荐 appwrite · studio 没有安全概念,不适合公网 - 如果需要至少反向代理加上 BasicAuth笔记:supabase
- 基于 PostgreSQL
- 类比 Firebase
- MaterializeInc/materializeGitHubMaterializeInc/materialize
- CommandLine/CUI/CLI
- xo/usqlGitHubxo/usqlxo/usql · MIT, Go · Universal command-line interface for SQL databases · -笔记:usql
- MIT, Go
- Universal command-line interface for SQL databases
usql -c '\drivers'- 推荐 🌟 没有依赖,方便 Windows 这样的环境使用,支持的驱动多
- dbcli/pgcliGitHubdbcli/pgclidbcli/pgcli · BSD-3, Python笔记:pgcli
- BSC-3, Python
- dbcli/mycliGitHubdbcli/mycli
- xo/usqlGitHubxo/usqlxo/usql · MIT, Go · Universal command-line interface for SQL databases · -笔记:usql
- Ranking/Benchmark
- benchmark.clickhouse.com
- db-engines.com/en/ranking
- db-benchmarks.com
- by manticoresearch
- mgramin/awesome-db-toolsGitHubmgramin/awesome-db-tools
- Reactive / Embedded Backend
- get-convex/convex-backendGitHubget-convex/convex-backend
- 面向应用开发者的开源 reactive database backend。
- trailbaseio/trailbaseGitHubtrailbaseio/trailbase
- 基于 Rust、SQLite 和 Wasmtime 的单文件 Firebase 替代方案。
- get-convex/convex-backendGitHubget-convex/convex-backend
理论
关系型
- PostgreSQL笔记PostgreSQL Awesome扩展插件功能 · 数据功能 - 数据类型、操作类型、索引类型 · 服务功能 - 集群、cron、存储引擎 · 查询能力 - 图、流、GIS · 集成功能 - Redis、ES · 语言功能 - JS、Lua、Java · neondatabase/neon打开:/notes/db/relational/postgresql/awesome
- SQLite
- MS Access
- .accdb, .mdb
- MySQL
- Oracle
- FirebirdSQL/firebirdGitHubFirebirdSQL/firebird
- MPL-1.1, C++
- since 1981
- ANSI SQL
MySQL
- Viteness
- TiDB
- baidu/BaikalDBGitHubbaidu/BaikalDB
- Apache-2.0, C++
- HTAP
分布式
- 分布式/Disributed/HA/高可用
- rqlite/rqliteGitHubrqlite/rqlite
- SQLite + Raft
- tigerbeetle/tigerbeetleGitHubtigerbeetle/tigerbeetle
- Apache-2.0, Zig
- OLTP
- PostgreSQL
- citusdata/citus笔记CitusCitus is not PostgreSQL · citusdata/citus · AGPL-3.0, C · 被 微软 收购 · 目前 PG 唯一的水平扩容方案 · 参考 · When to use · When · Multi-Tenant Database打开:/notes/db/relational/postgresql/citus
- PostgreSQL Sharding
- cdb笔记CockroachDBcockroachdb/cockroach · BSL, Go · 参考 · Migrate to CockroachDB · BSL 协议 · Can host CockroachDB as a service for internal use at organization打开:/notes/db/newsql/cockroachdb
- yugabyte/yugabyte-db笔记yugabyte-dbyugabyte/yugabyte-db · Apache-2.0, GO · YQL - 兼容 PgSQL打开:/notes/db/relational/yugabytedb
- ydb-platform/ydbGitHubydb-platform/ydb
- citusdata/citus笔记CitusCitus is not PostgreSQL · citusdata/citus · AGPL-3.0, C · 被 微软 收购 · 目前 PG 唯一的水平扩容方案 · 参考 · When to use · When · Multi-Tenant Database打开:/notes/db/relational/postgresql/citus
时序数据库
- 可观察性 - 日志、指标、追踪
- IoT
- timescale笔记TimeScale适用于 · 需要时序数据存储 · 不适用于 · 监控 · Metrics · promscale 停止开发 promscale#1836 · timescale/timescaledb · Apache-2.0 · An open-source time-series database optimized for fast ingest and com...打开:/notes/db/relational/postgresql/timescale
- CeresDB/ceresdbGitHubCeresDB/ceresdb
- GreptimeTeam/greptimedbGitHubGreptimeTeam/greptimedb
- questdb/questdbGitHubquestdb/questdb
- Java, Apache 2.0
- PostgreSQL 兼容协议
- m3db/m3GitHubm3db/m3m3db/m3 · Apache 2.0, Go · Distributed TSDB · 集群依赖 ETCD · Why · Why Choose M3DB for Logz.io Prometheus-as-a-Service · vs. Thanos & Cortex笔记:M3
- from Uber
- Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform
- taosdata/TDengineGitHubtaosdata/TDengine
OLAP
- Cube 计算
- BI
- cubejs
- duckdb/duckdb笔记DuckDBduckdb/duckdb · MIT, C++ · 嵌入式 OLAP 数据库 · 类似 SQLite - 但列存储,面向分析 · 支持查询 Parquet, CSV · 向量引擎,并行查询 · 官方支持 SDK: Python, Java, C++, NodeJS, R打开:/notes/db/column/duckdb
- SQLite for OLAP, C++, MIT
- ClickHouse笔记ClickHouseinsert > select𐄂10000 > delete𐄂100 > update𐄂10 · 数据不变 · 数据有时间属性 · 归档数据 · 事件、日志、监控、指标 · 需要聚合非常多的数据源 - OLAP · 独立运作后重心转向 ClickHouse Cloud打开:/notes/db/column/clickhouse
- Apache Druid
- Apache Kylin
- Apache Pinot
- by LinkedIn
- Apache DorisGitHubapache/dorisapache/doris · 开源的实时数据仓库 (Real-time Data Warehouse) · MPP (Massively Parallel Processing) 架构 · 前身是百度的 Palo 项目,2022年成为 Apache 顶级项目笔记:Apache Doris
- by 百度
- pgduck_server
- Snowflake-Labs/pg_lakeGitHubSnowflake-Labs/pg_lake
- Apache-2.0, C
- Iceberg, DuckDB
- Postgres for Iceberg and Data lakes
- Mooncake-Labs/pg_mooncakeGitHubMooncake-Labs/pg_mooncake
- MIT, Rust
- Comparison of OLAP serversWikipediaComparison of OLAP servers
OLTP
- stoneatom/stonedbGitHubstoneatom/stonedb
- GPLv2, C++
- MySQL HTAP and MySQL-native database for oltp, real-time analytics
Column Store
- 面向分析
- Clickhouse笔记ClickHouseinsert > select𐄂10000 > delete𐄂100 > update𐄂10 · 数据不变 · 数据有时间属性 · 归档数据 · 事件、日志、监控、指标 · 需要聚合非常多的数据源 - OLAP · 独立运作后重心转向 ClickHouse Cloud打开:/notes/db/column/clickhouse
- DuckDB笔记DuckDBduckdb/duckdb · MIT, C++ · 嵌入式 OLAP 数据库 · 类似 SQLite - 但列存储,面向分析 · 支持查询 Parquet, CSV · 向量引擎,并行查询 · 官方支持 SDK: Python, Java, C++, NodeJS, R打开:/notes/db/column/duckdb
- Apache Druid
- Apache Pinot
- InfluxDB
- PostgreSQL cstore_fdw, vops
- ORC
- greenplum-db/gpdbGitHubgreenplum-db/gpdb
- format
- orc
- parquet
- List of column-oriented DBMSesWikipediaList of column-oriented DBMSes
Wide-Column
- 宽列 - 二维 KV
- 并非标准列存储
- Scylla笔记ScyllaDB大多为 KV 访问方式 · 单行、cell 数据量不是特别大 - 默认 10MB 行、 1MB cell 会发出警告 · 兼容 cassandra,提供 dynamodb 适配接口 · 替代 Redis 作为需要持久化的 Meta 和 缓存 存储打开:/notes/db/column/scylladb
- Apache Cassandra笔记Apache Cassandraapache/cassandra · 配置文件 http://cassandra.apache.org/doc/latest/configuration/cassandraconfigfile.html · http://projects.spring.io/spring-data-cassandra/打开:/notes/db/column/cassandra
- Apache Accumulo
- Apache HBase
- Hypertable
- 商业
- Bigtable
- DataStax Enterprise
- DataStax Astra DB
- Azure Tables
图
Stream
- airbyte
- nifi
- benthosdev/benthosGitHubbenthosdev/benthos
消息队列
- Comparison of messaging patternsGitHubobsidiandynamics/goharvest/wiki/Comparison-of-messaging-patterns
Data versioning
- dolthub/doltGitHubdolthub/dolt
- Apache-2.0, Go
- Git for Data
- treeverse/lakeFSGitHubtreeverse/lakeFS
- Apache-2.0, Go
- Data version control for your data lake
- lakefs.io/blog/dvc-vs-git-vs-dolt-vs-lakefs
- Git LFS
- DVS
有趣
- wiredtiger/wiredtigerGitHubwiredtiger/wiredtiger
- MongoDB
- tantaman/aphroditeGitHubtantaman/aphrodite
- facebookincubator/LogDeviceGitHubfacebookincubator/LogDevice
- Distributed storage for sequential data
- FerretDB/FerretDB笔记FerretDBFerretDB/FerretDB · Apache-2.0, Go · Open Source MongoDB alternative · 后端存储: SQLite, MongoDB · 参考 · Supported commands · Known differences打开:/notes/db/document/ferretdb
- Apache-2.0, Go
- mongodb wire protocol to PostgreSQL
- fcoury/oxideGitHubfcoury/oxide
- Apache-2.0, Rust
- mongodb wire protocol to PostgreSQL
- alash3al/redixGitHubalash3al/redix
- Apache-2.0, Go
- redis wire protocol to PostgreSQL
- TAO: Facebook’s Distributed Data Store for the Social Graph
- TAO - The Associations and Objects
- HNHacker NewsHacker News #29045443Hacker News
- EvgSkv/logicaGitHubEvgSkv/logica
- 逻辑编程转 SQL
- ApsaraDBGitHub 组织ApsaraDB
- by Alibaba
- xtdb/xtdbGitHubxtdb/xtdb
- MIT, Clojure
- codenotary/immudbGitHubcodenotary/immudb
- immutable database
- maxmunzel/kvassGitHubmaxmunzel/kvass
- MIT, Go
- personal key-value store
- debezium/debeziumGitHubdebezium/debezium
- Apache-2.0, Java
- CDC - Change data capture
- nhost/nhostGitHubnhost/nhost
- MIT, TS
- Hasura+S3
- Firebase Alternative with GraphQL
- surrealdb/surrealdbGitHubsurrealdb/surrealdb
- 服务端 Rust, BSL
- 概念 NAMESPACE, DATABASE
- 本地存储: RocksDB
- 分布式存储: tikv
docker run --rm -p 8000:8000 surrealdb/surrealdb:latest start --log debug --user root --pass root
curl --request POST \
--header "Accept: application/json" \
--user "root:root" \
--data "INFO FOR DB;" \
http://localhost:8000/sqlSQLite Awesome
- nalgeon/sqleanGitHubnalgeon/sqleannalgeon/sqlean · MIT, C · 扩展合集 · crypto: 提供哈希、编码与解码功能 · - · - · - · define: 用户自定义函数与动态 SQL · eval, define, undefine, definefree笔记:SQLean
- MIT, C
- 扩展合集
- dgllghr/stanchionGitHubdgllghr/stanchion
- Column
- proofrock/ws4sqliteGitHubproofrock/ws4sqlite
- Query sqlite via http
- HNHacker NewsHacker News #30636796Hacker News
- Hosting SQLite on Github Pages
- subzerocloud/blue-steelGitHubsubzerocloud/blue-steel
- RUST
- REST api for SQLite & PostgreSQL
- lumosql.org
- SQLite+LMDB
- pocketbase/pocketbaseGitHubpocketbase/pocketbasepocketbase/pocketbase · MIT, Go, SQLite, Svelte笔记:pocketbase
- MIT, Go
- realtime backend in 1 file
- Replication
- vlcn-io/cr-sqliteGitHubvlcn-io/cr-sqlite
- MIT, Rust
- CRDT
- 之前为 tantaman/conflict-free-sqlite
- benbjohnson/litestream笔记litestreambenbjohnson/litestream · SQLite 增量备份 · 作为 disaster recovery · 支持存储 s3, sftp, file · HOW TO · litestream 维持一个 读 链接 · 避免发生 walautocheckpoint - 高写入时推荐设置打开:/notes/db/relational/sqlite/litestream
- Apache-2.0, Go
- Streaming replication for SQLite
- 外部进程
- 将一个 sqlite 同步到另外的 sqlite - 依赖中间存储
- superfly/litefs笔记litefssuperfly/litefs · 基于 fuse 的 litestream - 批量同步 · 可作为临时节点的持久化存储 - 例如 为 Kubernetes 的 Pod 提供 DB 持久化能力 · 异步复制 - 主节点 crash 可能丢失 亚秒 级事务打开:/notes/db/relational/sqlite/litefs
- Apache-2.0, Go
- 基于 fuse 的 litestream - 批量同步
- maxpert/marmotGitHubmaxpert/marmot
- 基于 NATS 同步 sqlite
- vlcn-io/cr-sqliteGitHubvlcn-io/cr-sqlite
- SQLite Based Distributed Database/基于 SQLite 的分布式数据库
- dqliteGitHubcanonical/dqlite
- GPLv3, C
- rqliteGitHubrqlite/rqlite
- MIT, Golang
- HTTPS API
- node-discovery & automatic clustering - Kubernetes, Consul, etcd, DNS
- hashicorp/raftGitHubhashicorp/raft
- rqlite/rqlite/DOC/PERFORMANCE.mdGitHub 文件rqlite/rqlite/DOC/PERFORMANCE.md
- In-memory DB < 2GB
- 只能用 deterministic SQL - 因为 raft 复制,幂等
- losfair/mvsqliteGitHublosfair/mvsqlite
- Apache-2.0, Rust
- MVCC SQLite that runs on FoundationDB
- bloomberg/comdb2GitHubbloomberg/comdb2
- Apache-2.0, C
- dqliteGitHubcanonical/dqlite
- LumoSQL/LumoSQLGitHubLumoSQL/LumoSQL
- SQLite over LMDB
- planetopendata/awesome-sqliteGitHubplanetopendata/awesome-sqlite
ID
- ULIDGitHubulid/speculid/spec - Universally Unique Lexicographically Sortable Identifier · 例如 · 128bit/16byte - 编码后 26 字符 · timestamp 48bits/6byte + 随机 80bits/10byte笔记:ulid
- #41GitHub Issueulid/spec#41 PostgreSQL
- extension
- plpgsql
- UUIDv6IETF 草案I-D draft-peabody-dispatch-new-uuid-format-00IETF Internet-Draft document.IETF · Internet-Draft 有点类似 ULID
- niieani/hashids.jsGitHubniieani/hashids.jsniieani/hashids.js · 用于混淆 IDs · 数字+salt -> hash · 不支持负数 · 默认 alphabet - abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890笔记:Hashids
- YouTube-like ids
- Sharding & IDs at Instagram
Big Data
Vector
面向向量的多用于 搜索 和 机器学习。
Vector ->
number[]
常见模型的向量维度
- OpenAI text-embedding-3-large 3072 dims
- mistral-derivative 4096 dims
- HF Space:mteb/leaderboardHuggingFaceHF Space:mteb/leaderboardhuggingface.co · huggingface.co/spaces/mteb/leaderboard
- tensorchord/VectorChordGitHubtensorchord/VectorChord
- AGPLv3, ELv2, Rust
- successor to pgvecto.rs
- pgvector/pgvectorGitHubpgvector/pgvector
- PostgreSQL/MIT, C
- since 2021-07
- PG extension: vector
- 比 pgvecto.rs 更成熟, 使用面更广泛, 最近开发没有 pgvecto.rs 活跃, 功能特性更少
- 适合目前已有环境,能够很方便直接使用,对 vector 要求不高的场景,避免单独部署 DB 直接利用现有 PG
- 特性
- 2000 dim
- 使用 PG 管理索引存储
- vector 2000
- halfvec 4000
- bit 64000
- sparsevec 1000
- HNSW_MAX_DIM = IVFFLAT_MAX_DIM = 2000
- pgvector#461GitHub Issuepgvector/pgvector#461 Increase max vectors dimension limit for index
- PG 默认 8KB Page, 不可调整, 限制了 1page 能存放的 float32
- pgvector#461GitHub Issuepgvector/pgvector#461 Increase max vectors dimension limit for index
- Supabase PostgreSQL Image 包含了 pgvector
- timescale/pgvectorscaleGitHubtimescale/pgvectorscale
tensorchord/pgvecto.rsGitHubtensorchord/pgvecto.rs- Apache-2.0, Rust
- since 2023-05
- PG extension: vectors
- 适合需要更高性能,更多功能,更大维度的场景,可以针对 vector 需求单独部署一个 DB
- docker tensorchord/pgvecto-rs.2.1
- 不是 TLE / trusted extension
- AWS 不支持
- Supabase 的 PG 镜像未包含
- supabase/postgres#895GitHub Issuesupabase/postgres#895 support pgvecto.rs extension
- vs pgvector
- by pgvecto.rs
- 功能更丰富
- 支持 sparse vector
- 65535 dim
- 支持 FP16, INT8
- 独立的索引管理
- 更好的 filtering 支持
- blog.pgvecto.rs/pgvector-vs-pgvectors-in-2024-a-comprehensive-comparison-for-vector-search-in-postgresql
- immich-app/immich#5830GitHubimmich-app/immich/discussions/5830 Why Pgvecto.rs over pgvector?
- filtering 结果更准确
- 索引更快
- 插入更快
- 功能更多 - quantization, VBASE
- qdrant/qdrantGitHubqdrant/qdrant
- Apache-2.0, Rust
- milvus-io/milvusGitHubmilvus-io/milvusmilvus-io/milvus · Apache-2.0, Go · 向量数据库 · Docker · etcd · minio · milvus run standalone · https://github.com/milvus-io/milvus/blob/master/deployments/docker/standalone/docker-...笔记:milvus
- Apache-2.0, Go
- Vector database for scalable similarity search and AI applications.
- weaviate/weaviateGitHubweaviate/weaviate
- BSD-3, Golang
- cloud-native, modular, real-time vector search engine
- facebookincubator/veloxGitHubfacebookincubator/velox
- Apache-2.0, C++
- C++ vectorized database acceleration library
- erikbern/ann-benchmarksGitHuberikbern/ann-benchmarks
- Benchmarks of approximate nearest neighbor
- lance-format/lanceGitHublance-format/lance
- Apache-2.0, Rust
- columnar format
- lancedb/lancedbGitHublancedb/lancedb
- Apache-2.0, Rust
- Not All Vector Databases Are Made Equal
- gpt-index.readthedocs.io/en/latest/examples/vector_stores/LanceDBIndexDemo.html
- jerryjliu/llama_indexGitHubjerryjliu/llama_index
- sqlite-vss
- Lib
- nmslib/hnswlibGitHubnmslib/hnswlib
- facebookresearch/faissGitHubfacebookresearch/faiss
- MIT, C++
- efficient similarity search and clustering of dense vectors
- unum-cloud/usearchGitHubunum-cloud/usearch
Geo
- s2geometry.io
- uber/h3GitHububer/h3
- Apache-2.0, C
- Hexagonal hierarchical geospatial indexing system
Tools
- Netflix/ndbenchGitHubNetflix/ndbench
- Data Store Benchmark
Interactive
- pocketbase/pocketbaseGitHubpocketbase/pocketbasepocketbase/pocketbase · MIT, Go, SQLite, Svelte笔记:pocketbase
- MIT, Go, SQLite
- sqlpad/sqlpadGitHubsqlpad/sqlpad
- Web-based SQL editor and visualizing
- pinterest/querybookGitHubpinterest/querybook
- chartbrew/chartbrewGitHubchartbrew/chartbrew
- MIT, Node.js
- Data visualization tool for SQL databases
Library
- Parser/SQL
- prql/prqlGitHubprql/prql
- Apache-2.0, Rust
- Pipelined Relational Query Language
- Open Source SQL Parsers
- HNHacker NewsHacker News #31107231Hacker News
- stripe.com/en-gb/sigma
- runreveal/pqlGitHubrunreveal/pql
- Golang
- Pipelined Query Language
- HN #39539252Hacker NewsHacker News #39539252Hacker News
- Azure Kusto Query Language (KQL)
- Azure appinsights logs
- prql/prqlGitHubprql/prql
迁移/升级/Schema 变更/Migration
不需要重复部署的环境可以不用考虑
常见模式迁移
- DSL - XML, YAML, HCL
- 支持 diff
- 多一层学习成本
- 支持多种数据库
- 还支持除了 table 以外的对象
- 必须先写 DSL - SSOT
- SQL
- 概念简单
- 能利用所有 SQL 能力
- 支持很多场景
- 版本管理为主
- ORM -> SQL
- 类似 DSL
- 减少额外定义 DSL
- 生成 SQL 不透明
- 功能局限
- 一般 diff 不会做移除列操作
- 局限于 table
版本目录模式
[version]-[title].sql- 通过 注释 分割 up/down
--- up--- down
[version]-[title].<up|down>.sql[version]-[title]/- 目录区分版本up.sqldown.sql
- 平台/服务/工具
- bytebase/bytebaseGitHubbytebase/bytebase
- MIT, Go, Vue
- Safe database schema change and version control for DevOps teams.
- bytebase/bytebaseGitHubbytebase/bytebase
- Java
- flywaydb
- Apache-2.0, SQL
db/migration/<Prefix><Version>__<Description>.sqlmvn clean flyway:migrate -Dflyway.configFiles=myFlywayConfig.conf- IDEA JPA Budy 有 Flyway 集成
- liquibase
- XML
- flywaydb
- Golang
- ariga/atlasGitHubariga/atlasariga/atlas · Apache-2.0, Go · Schema 迁移工具 · 支持 SQL, HCL, ORM 作为 Schema 来源 · 支持 PostgresSQL, MySQL, MariaDB, SQLite · 支持作为 terraform 的 provider笔记:atlas
- Apache-2.0, DSL, Go
- SQL, HCL, ORM
- database schema as code
- golang-migrate/migrate笔记migrategolang-migrate/migrate · DB 迁移工具 · 可当做库来使用 · 支持较多的 Source 和 数据库 · 不支持 ENV 和 配置文件 配置 DB - 只能 flag打开:/notes/languages/go/lib/migrate
- MIT, Go
VER_DESC.<up|down>.sqlmigrate create -ext sql -dir db/migrations -seq create_users_table
- amacneil/dbmateGitHubamacneil/dbmate
- SQL, Go
- framework-agnostic database migration tool
- 注释分割
-- migrate:up
- pressly/gooseGitHubpressly/goose
- MIT, SQL/Go
- Supports SQL migrations and Go functions.
- ariga/atlasGitHubariga/atlasariga/atlas · Apache-2.0, Go · Schema 迁移工具 · 支持 SQL, HCL, ORM 作为 Schema 来源 · 支持 PostgresSQL, MySQL, MariaDB, SQLite · 支持作为 terraform 的 provider笔记:atlas
- NodeJS
- salsita/node-pg-migrateGitHubsalsita/node-pg-migrate
- MIT, TS
- Node.js database migration management for PostgreSQL
- salsita/node-pg-migrateGitHubsalsita/node-pg-migrate
- djrobstep/migraGitHubdjrobstep/migra
- PG Schema Diff
- fabianlindfors/reshapeGitHubfabianlindfors/reshape
- zero-downtime schema migration tool for Postgres
- sqitchers/sqitchGitHubsqitchers/sqitch
- MIT, Perl
- skeemaGitHubskeema/skeema
- MySQL & MariaDB
- sqlite user_version
- rickbergfalk/postgratorGitHubrickbergfalk/postgrator
- Hasura - hasura.io/docs/latest/migrations-metadata-seeds/manage-migrations
VER_DESC/<up|down>.sql
TBD
- Database eLearning
- DB-Engines Ranking
- Aphyr jepsen
- EventQLGitHubeventql/eventql
- EventQL is a distributed, column-oriented database built for large-scale event collection and analytics. It runs super-fast SQL and MapReduce queries.
- Carte
- SQL FOR THINGS DATA
- Real-time SQL. Simple scaling. Millions of inserts per second.
- CrateDB offers Standard-SQL, real-time queries and document support (JSON) in a simple, horizontal way to scale.
- IoT & Sensors
- Stream millions of data points per second into CrateDB and query them in real time to visualize, track, and predict.
- Log & Event Analytics
- Analyze logs from IT infrastructure to monitor security, compliance, usage, billing, and more.
- Time Series, Geospatial, Machine Learning
- Versatile SQL engine enables complex queries, text searches, and aggregations – in real time or against volumes of historic data.
- caesar0301/awesome-public-datasetsGitHubcaesar0301/awesome-public-datasets
- dbmstools.com
Read
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Database笔记 · Awesome
Awesome
- Observability Awesome笔记 · 通用时间序列数据库/time-series · time series
logs - 日志 · metrics - 指标 · session replays - 会话重放 · traces - 跟踪 · errors - 错误 · 目前业内共识 OTEL · 大多场景直接选择 OpenTelemetry 即可 · If you can't measure it, you can't manage it.
站内链接
- Apache Cassandra笔记 · Apache Cassandra
apache/cassandra · 配置文件 http://cassandra.apache.org/doc/latest/configuration/cassandraconfigfile.html · http://projects.spring.io/spring-data-cassandra/
- Citus笔记 · citusdata/citus
Citus is not PostgreSQL · citusdata/citus · AGPL-3.0, C · 被 微软 收购 · 目前 PG 唯一的水平扩容方案 · 参考 · When to use · When · Multi-Tenant Database
- ClickHouse笔记 · ClickHouse
insert > select𐄂10000 > delete𐄂100 > update𐄂10 · 数据不变 · 数据有时间属性 · 归档数据 · 事件、日志、监控、指标 · 需要聚合非常多的数据源 - OLAP · 独立运作后重心转向 ClickHouse Cloud
- CockroachDB笔记 · cdb
cockroachdb/cockroach · BSL, Go · 参考 · Migrate to CockroachDB · BSL 协议 · Can host CockroachDB as a service for internal use at organization
- DuckDB笔记 · duckdb/duckdb
duckdb/duckdb · MIT, C++ · 嵌入式 OLAP 数据库 · 类似 SQLite - 但列存储,面向分析 · 支持查询 Parquet, CSV · 向量引擎,并行查询 · 官方支持 SDK: Python, Java, C++, NodeJS, R
- FerretDB笔记 · FerretDB/FerretDB
FerretDB/FerretDB · Apache-2.0, Go · Open Source MongoDB alternative · 后端存储: SQLite, MongoDB · 参考 · Supported commands · Known differences
- litefs笔记 · superfly/litefs
superfly/litefs · 基于 fuse 的 litestream - 批量同步 · 可作为临时节点的持久化存储 - 例如 为 Kubernetes 的 Pod 提供 DB 持久化能力 · 异步复制 - 主节点 crash 可能丢失 亚秒 级事务
- litestream笔记 · benbjohnson/litestream
benbjohnson/litestream · SQLite 增量备份 · 作为 disaster recovery · 支持存储 s3, sftp, file · HOW TO · litestream 维持一个 读 链接 · 避免发生 walautocheckpoint - 高写入时推荐设置
- migrate笔记 · golang-migrate/migrate
golang-migrate/migrate · DB 迁移工具 · 可当做库来使用 · 支持较多的 Source 和 数据库 · 不支持 ENV 和 配置文件 配置 DB - 只能 flag
- PostgreSQL Awesome笔记 · PostgreSQL Awesome
扩展插件功能 · 数据功能 - 数据类型、操作类型、索引类型 · 服务功能 - 集群、cron、存储引擎 · 查询能力 - 图、流、GIS · 集成功能 - Redis、ES · 语言功能 - JS、Lua、Java · neondatabase/neon
- ScyllaDB笔记 · Scylla
大多为 KV 访问方式 · 单行、cell 数据量不是特别大 - 默认 10MB 行、 1MB cell 会发出警告 · 兼容 cassandra,提供 dynamodb 适配接口 · 替代 Redis 作为需要持久化的 Meta 和 缓存 存储
- TimeScale笔记 · timescale
适用于 · 需要时序数据存储 · 不适用于 · 监控 · Metrics · promscale 停止开发 promscale#1836 · timescale/timescaledb · Apache-2.0 · An open-source time-series database optimized for fast ingest and com...
- yugabyte-db笔记 · yugabyte/yugabyte-db
yugabyte/yugabyte-db · Apache-2.0, GO · YQL - 兼容 PgSQL
参考资料
GitHub98 条
- pocketbase/pocketbasegithub.com/pocketbase/pocketbase
- rqlite/rqlitegithub.com/rqlite/rqlite
- alash3al/redixgithub.com/alash3al/redix
- amacneil/dbmategithub.com/amacneil/dbmate
- apache/dorisgithub.com/apache/doris
- ApsaraDBgithub.com/ApsaraDB
- ariga/atlasgithub.com/ariga/atlas
- baidu/BaikalDBgithub.com/baidu/BaikalDB
- benthosdev/benthosgithub.com/benthosdev/benthos
- bloomberg/comdb2github.com/bloomberg/comdb2
- bytebase/bytebasegithub.com/bytebase/bytebase
- caesar0301/awesome-public-datasetsgithub.com/caesar0301/awesome-public-datasets
- canonical/dqlitegithub.com/canonical/dqlite
- CeresDB/ceresdbgithub.com/CeresDB/ceresdb
- chartbrew/chartbrewgithub.com/chartbrew/chartbrew
- codenotary/immudbgithub.com/codenotary/immudb
- dbcli/mycligithub.com/dbcli/mycli
- dbcli/pgcligithub.com/dbcli/pgcli
- debezium/debeziumgithub.com/debezium/debezium
- dgllghr/stanchiongithub.com/dgllghr/stanchion
- djrobstep/migragithub.com/djrobstep/migra
- dolthub/doltgithub.com/dolthub/dolt
- edoceo/pg-ulidgithub.com/edoceo/pg-ulid
- erikbern/ann-benchmarksgithub.com/erikbern/ann-benchmarks
- eventql/eventqlgithub.com/eventql/eventql
- EvgSkv/logicagithub.com/EvgSkv/logica
- fabianlindfors/reshapegithub.com/fabianlindfors/reshape
- facebookincubator/LogDevicegithub.com/facebookincubator/LogDevice
- facebookincubator/veloxgithub.com/facebookincubator/velox
- facebookresearch/faissgithub.com/facebookresearch/faiss
- fcoury/oxidegithub.com/fcoury/oxide
- FirebirdSQL/firebirdgithub.com/FirebirdSQL/firebird
- geckoboard/pgulidgithub.com/geckoboard/pgulid
- get-convex/convex-backendgithub.com/get-convex/convex-backend
- greenplum-db/gpdbgithub.com/greenplum-db/gpdb
- GreptimeTeam/greptimedbgithub.com/GreptimeTeam/greptimedb
- hashicorp/raftgithub.com/hashicorp/raft
- iCyberon/pg_ulidgithub.com/iCyberon/pg_ulid
- immich-app/immich/discussions/5830github.com/immich-app/immich/discussions/5830
- JanusGraph/janusgraphgithub.com/JanusGraph/janusgraph
- jerryjliu/llama_indexgithub.com/jerryjliu/llama_index
- lance-format/lancegithub.com/lance-format/lance
- lancedb/lancedbgithub.com/lancedb/lancedb
- losfair/mvsqlitegithub.com/losfair/mvsqlite
- LumoSQL/LumoSQLgithub.com/LumoSQL/LumoSQL
- m3db/m3github.com/m3db/m3
- MaterializeInc/materializegithub.com/MaterializeInc/materialize
- maxmunzel/kvassgithub.com/maxmunzel/kvass
- maxpert/marmotgithub.com/maxpert/marmot
- mgramin/awesome-db-toolsgithub.com/mgramin/awesome-db-tools
- milvus-io/milvusgithub.com/milvus-io/milvus
- Mooncake-Labs/pg_mooncakegithub.com/Mooncake-Labs/pg_mooncake
- nalgeon/sqleangithub.com/nalgeon/sqlean
- Netflix/ndbenchgithub.com/Netflix/ndbench
- nhost/nhostgithub.com/nhost/nhost
- niieani/hashids.jsgithub.com/niieani/hashids.js
- nmslib/hnswlibgithub.com/nmslib/hnswlib
- obsidiandynamics/goharvest/wiki/Comparison-of-messaging-patternsgithub.com/obsidiandynamics/goharvest/wiki/Comparison-of-messaging-patterns
- pgvector/pgvectorgithub.com/pgvector/pgvector
- pgvector/pgvector#461github.com/pgvector/pgvector/issues/461
- pinterest/querybookgithub.com/pinterest/querybook
- planetopendata/awesome-sqlitegithub.com/planetopendata/awesome-sqlite
- pressly/goosegithub.com/pressly/goose
- proofrock/ws4sqlitegithub.com/proofrock/ws4sqlite
- prql/prqlgithub.com/prql/prql
- qdrant/qdrantgithub.com/qdrant/qdrant
- questdb/questdbgithub.com/questdb/questdb
- rickbergfalk/postgratorgithub.com/rickbergfalk/postgrator
- rqlite/rqlite/DOC/PERFORMANCE.mdgithub.com/rqlite/rqlite/blob/master/DOC/PERFORMANCE.md
- runreveal/pqlgithub.com/runreveal/pql
- salsita/node-pg-migrategithub.com/salsita/node-pg-migrate
- skeema/skeemagithub.com/skeema/skeema
- Snowflake-Labs/pg_lakegithub.com/Snowflake-Labs/pg_lake
- sqitchers/sqitchgithub.com/sqitchers/sqitch
- sqlpad/sqlpadgithub.com/sqlpad/sqlpad
- stoneatom/stonedbgithub.com/stoneatom/stonedb
- subzerocloud/blue-steelgithub.com/subzerocloud/blue-steel
- supabase/postgres#895github.com/supabase/postgres/issues/895
- supabase/supabasegithub.com/supabase/supabase
- surrealdb/surrealdbgithub.com/surrealdb/surrealdb
- tantaman/aphroditegithub.com/tantaman/aphrodite
- taosdata/TDenginegithub.com/taosdata/TDengine
- tensorchord/pgvecto.rsgithub.com/tensorchord/pgvecto.rs
- tensorchord/VectorChordgithub.com/tensorchord/VectorChord
- tigerbeetle/tigerbeetlegithub.com/tigerbeetle/tigerbeetle
- timescale/pgvectorscalegithub.com/timescale/pgvectorscale
- trailbaseio/trailbasegithub.com/trailbaseio/trailbase
- treeverse/lakeFSgithub.com/treeverse/lakeFS
- uber/h3github.com/uber/h3
- ulid/specgithub.com/ulid/spec
- ulid/spec#41github.com/ulid/spec/issues/41
- unum-cloud/usearchgithub.com/unum-cloud/usearch
- vlcn-io/cr-sqlitegithub.com/vlcn-io/cr-sqlite
- weaviate/weaviategithub.com/weaviate/weaviate
- wiredtiger/wiredtigergithub.com/wiredtiger/wiredtiger
- xo/usqlgithub.com/xo/usql
- xtdb/xtdbgithub.com/xtdb/xtdb
- ydb-platform/ydbgithub.com/ydb-platform/ydb
Wikipedia3 条
- Comparison of OLAP serversWikipedia:Comparison of OLAP servers
- List of column-oriented DBMSesWikipedia:List of column-oriented DBMSes
- SargableWikipedia:Sargable
Hacker News4 条
- Hacker News #29045443HN #29045443
- Hacker News #30636796HN #30636796
- Hacker News #31107231HN #31107231
- Hacker News #39539252HN #39539252
HuggingFace1 条
- HF Space:mteb/leaderboardhuggingface.co/spaces/mteb/leaderboard
标准文档1 条
- I-D draft-peabody-dispatch-new-uuid-format-00datatracker.ietf.org/doc/html/draft-peabody-dispatch-new-uuid-format-00IETF · Internet-Draft
IETF Internet-Draft document.
其他外链28 条
- db-engines.com/en/rankingdb-engines.com/en/ranking
- aphyr.com/tags/jepsenaphyr.com/tags/jepsen
- benchmark.clickhouse.combenchmark.clickhouse.com/
- blog.pgvecto.rs/pgvector-vs-pgvectors-in-2024-a-comprehensive-comparison-for-vector-search-in-postgresqlblog.pgvecto.rs/pgvector-vs-pgvectors-in-2024-a-comprehensive-comparison-for-vector-search-in-postgresql
- blog.the-pans.com/relationalblog.the-pans.com/relational
- crate.iocrate.io/
- db-benchmarks.comdb-benchmarks.com/
- db.grussell.org/index.htmldb.grussell.org/index.html
- dbmstools.comdbmstools.com/
- docs.pgvecto.rs/faqs/comparison-pgvector.htmldocs.pgvecto.rs/faqs/comparison-pgvector.html
- eventql.ioeventql.io/
- gpt-index.readthedocs.io/en/latest/examples/vector_stores/LanceDBIndexDemo.htmlgpt-index.readthedocs.io/en/latest/examples/vector_stores/LanceDBIndexDemo.html
- hakibenita.com/sql-for-data-analysishakibenita.com/sql-for-data-analysis
- hasura.io/docs/latest/migrations-metadata-seeds/manage-migrationshasura.io/docs/latest/migrations-metadata-seeds/manage-migrations
- hub.docker.com/r/tensorchord/pgvecto-rshub.docker.com/r/tensorchord/pgvecto-rs
- instagram-engineering.com/1cf5a71e5a5cinstagram-engineering.com/1cf5a71e5a5c
- lakefs.io/blog/dvc-vs-git-vs-dolt-vs-lakefslakefs.io/blog/dvc-vs-git-vs-dolt-vs-lakefs
- learn.microsoft.com/en-us/azure/data-explorer/kusto/querylearn.microsoft.com/en-us/azure/data-explorer/kusto/query
- lumosql.orglumosql.org/
- materialize.com/docs/sql/create-sourcematerialize.com/docs/sql/create-source
- phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pagesphiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages
- s2geometry.ios2geometry.io/
- sqlite.org/pragma.htmlsqlite.org/pragma.html
- stripe.com/en-gb/sigmastripe.com/en-gb/sigma
- tokern.io/blog/open-source-sql-parserstokern.io/blog/open-source-sql-parsers
- towardsdatascience.com/9c65a3bd0696towardsdatascience.com/9c65a3bd0696
- www.micahlerner.com/2021/10/13/tao-facebooks-distributed-data-store-for-the-social-graph.htmlwww.micahlerner.com/2021/10/13/tao-facebooks-distributed-data-store-for-the-social-graph.html
- youtu.be/JOrXRsES3mkyoutu.be/JOrXRsES3mk