Skip to main content

Database Awesome

namestand for
Relational DBMS关系型数据库
Key-value storesKV 存储
Document stores文档存储
Time Series DBMS时序数据库
Graph DBMS图数据库
Object oriented DBMS面向对象数据库
Search engines搜索引擎
RDF storesRDF 存储
Wide column stores宽列存储
Column stores列存储
Multivalue DBMS多值数据库
Native XML DBMSXML 数据库
Spatial DBMS空间数据库
Event Stores事件存储
Content stores内容存储
Navigational DBMS导航数据库

理论

  • Sargable - Search ARGument ABLE
    • wikipedia Sargable
    • 定义查询可利用索引的场景

关系型

MySQL

分布式

时序数据库

  1. 可观察性 - 日志、指标、追踪
  2. IoT

OLAP

  • Cube 计算
  • BI

OLTP

  • stoneatom/stonedb
    • GPLv2, C++
    • MySQL HTAP and MySQL-native database for oltp, real-time analytics

Column Store

Wide-Column

  • 宽列 - 二维 KV
    • 并非标准列存储
  • Scylla
  • Apache Cassandra
  • Apache Accumulo
  • Apache HBase
  • Hypertable
  • 商业
    • Bigtable
    • DataStax Enterprise
    • DataStax Astra DB
    • Azure Tables

Stream

消息队列

Data versioning

有趣

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/sql

SQLite Awesome

ID

Big Data

Vector

面向向量的多用于 搜索机器学习

Vector -> number[]

常见模型的向量维度

Geo

Tools

Interactive

Library

迁移/升级/Schema 变更/Migration

不需要重复部署的环境可以不用考虑

常见模式迁移
  1. DSL - XML, YAML, HCL
  • 支持 diff
  • 多一层学习成本
  • 支持多种数据库
  • 还支持除了 table 以外的对象
  • 必须先写 DSL - SSOT
  1. SQL
  • 概念简单
  • 能利用所有 SQL 能力
  • 支持很多场景
  • 版本管理为主
  1. ORM -> SQL
  • 类似 DSL
  • 减少额外定义 DSL
  • 生成 SQL 不透明
  • 功能局限
  • 一般 diff 不会做移除列操作
  • 局限于 table
版本目录模式
  • [version]-[title].sql
    • 通过 注释 分割 up/down
    • --- up
    • --- down
  • [version]-[title].<up|down>.sql
  • [version]-[title]/ - 目录区分版本
    • up.sql
    • down.sql

TBD

  • Database eLearning
  • DB-Engines Ranking
  • Aphyr jepsen
  • 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-datasets
  • https://dbmstools.com/

Read