摘要

面向初创与企业团队,系统梳理数据库与数据平台从采集、传输、存储、处理、服务化到治理与安全的全链路。覆盖 OLTP/OLAP/HTAP、湖仓一体与实时数据栈,结合国内外工具与方法论,给出架构选型、性能优化、可靠性与合规要点,以及可落地的命令清单与实施检查表。文末附 PlantUML 思维导图。


1. 架构总览与数据流转

  1. 典型分层

  • 采集层:日志/业务数据库/物联网数据 → CDC/Agent/Kafka

  • 传输层:消息队列与传输协议(Kafka、Pulsar、RocketMQ、REST、gRPC)

  • 计算层:批处理(Spark、Hive、Trino)、流处理(Flink、Kafka Streams)、批流一体(Flink、Spark Structured Streaming)

  • 存储层:行存 OLTP(MySQL、PostgreSQL、TiDB、OceanBase)、列存 OLAP(ClickHouse、StarRocks、Doris、Snowflake、BigQuery、Redshift)、数据湖与湖仓(S3/OSS/OBS+Iceberg/Hudi/Delta Lake)、时序库(TimescaleDB、InfluxDB、TDengine)、图数据库(Neo4j、JanusGraph、Nebula Graph)、搜索与向量(Elasticsearch/OpenSearch、Milvus、Qdrant、pgvector、ClickHouse 向量)

  • 服务与语义层:API Gateway、数据服务化、中台数据产品、语义模型/数据集(dbt、Cube、Semantic Layer)

  • 可视化与应用:BI/报表/运营大屏、内外部 API

  1. 参考架构范式

  • 数据仓库与数据集市(Kimball 维度建模、Inmon 企业模型)

  • Lambda/Kappa/湖仓一体(ELT 主导,存算分离)

  • Medallion 分层:Bronze 原始、Silver 清洗、Gold 主题与指标

  • Data Mesh:面向域的数据产品与数据契约


2. 存储与引擎选型

  1. OLTP

  • 单体与读写分离:MySQL、PostgreSQL;代理与分片:ProxySQL、Vitess、ShardingSphere、MyCAT

  • 分布式 HTAP/金融级:TiDB、OceanBase、openGauss/GaussDB、PolarDB

  1. OLAP 与近实时

  • 列存与向量化:ClickHouse、StarRocks、Apache Doris、Apache Druid、Trino/Presto

  • 云原生仓库:Snowflake、BigQuery、Redshift、AnalyticDB、Hologres

  1. 数据湖与湖仓

  • 元数据目录:Glue Catalog、Hive Metastore、Unity Catalog、Lake Formation

  • 表格式与 ACID:Iceberg、Hudi、Delta Lake;文件格式:Parquet、ORC、Avro

  • 批流一体读写:Flink+Iceberg/Hudi、Spark+Delta

  1. 特种库

  • 时序:TimescaleDB、InfluxDB、TDengine

  • 图:Neo4j、JanusGraph、Nebula Graph

  • 向量与检索:Milvus、Qdrant、Weaviate、Elasticsearch/OpenSearch 向量、pgvector、ClickHouse 向量


3. 数据采集与传输

  1. CDC 与日志

  • Binlog/Redo 日志:Debezium、Flink CDC、Canal、GoldenGate

  • 触发器或定期快照:DataX、Sqoop(存量迁移),谨慎用于增量

  1. 消息与总线

  • Kafka、Pulsar、RocketMQ、RabbitMQ;顺序、分区、幂等、Exactly-once 语义

  • 协议与序列化:Avro/Protobuf/JSON、Schema Registry、演进与兼容策略

  1. IoT 与边缘

  • MQTT/CoAP、网关汇聚、边缘聚合与降采样、离线补传


4. 数据建模与处理方法

  1. 事务与一致性

  • ACID 与 MVCC、隔离级别、分布式事务(两阶段提交、Percolator、TCC/Saga)

  • CAP 与 PACELC 取舍:可用性/一致性/延迟的业务权衡

  1. 维度建模与数据契约

  • 事实表与维度表、星型/雪花、SCD Type 1/2、主键策略与代理键

  • 数据契约与语义层:指标定义、口径管理、数据产品接口

  1. 流批一体

  • 事件时间与水位线、迟到与乱序、状态一致性、窗口(滚动/滑动/会话)

  • 批处理回填与重算、幂等写入与去重键

  1. 质量与可观察性

  • 维度:完整性、唯一性、有效性、一致性、及时性、准确性

  • 校验与监控:Great Expectations、Soda Core、Deequ;血缘:Amundsen、DataHub、Atlas、Spline


5. 工程化与平台能力

  1. 任务编排与调度

  • Airflow、Dagster、Prefect、Azkaban、DolphinScheduler、DataWorks(阿里)

  • 依赖与优先级、重试与补偿、事件驱动与日历窗口

  1. 元数据与治理

  • 数据目录、血缘、数据地图、敏感分级与标签、数据资产评估

  • 访问治理:Ranger、Sentry、Lake Formation、Unity Catalog、Apache Knox

  1. 安全与合规

  • 传输与静态加密、行列级权限、动态脱敏、令牌化、密钥管理(KMS/HSM)

  • 隐私与法规:GDPR、CCPA、PIPL、等保 2.0;跨境与本地化

  1. 可观测性与容量

  • 指标/日志/追踪:Prometheus、Grafana、OpenTelemetry、ELK

  • SLO:查询时延、吞吐、错误率、资源水位;自动扩缩容与配额


6. 性能优化要点

  1. OLTP

  • 索引与统计信息(BTree/Hash、GIN/GiST)、覆盖索引、冷热分离

  • 分区/分表与路由键、连接池、慢查询画像与执行计划分析

  1. OLAP/湖仓

  • 列式压缩与编码(字典、RLE)、分区与分桶、Z-Order/Cluster Key、Bloom Filter

  • 物化视图与聚合表、冷热分层、查询下推与向量化执行

  1. 流处理

  • 反压与水位线、状态大小与 RocksDB、Checkpoint 与 Savepoint、Exactly-once Sink


7. 架构选型指南(速查)

  • 高并发交易系统:OLTP 分布式(TiDB/OceanBase)或 PostgreSQL+读写分离

  • 近实时分析与报表:StarRocks/ClickHouse+Doris/Trino;行转列与聚合表

  • 大数据湖仓:S3/OSS/OBS+Iceberg/Hudi/Delta + Spark/Trino/Flink

  • 实时链路:Kafka→Flink→Iceberg/ClickHouse→API/BI

  • 时序监控:Kafka→Flink→TimescaleDB/TDengine→Grafana

  • 图谱与推荐:OLTP+CDC→图数据库/向量检索→在线召回/排序


8. 研发流程与环境

  1. 开发到生产

  • 本地开发容器化与 Compose(数据库/消息/计算镜像)

  • Dev/Stage/Prod 三环境、蓝绿与灰度、数据回放与影子流量

  1. 迁移与变更

  • Online Schema Change:gh-ost、pt-online-schema-change、Liquibase/Flyway

  • 数据回填与校验、双写与校验、回滚预案(PITR、冗余快照)


9. 常用命令与最小示例

  • Kafka

  • 创建主题:kafka-topics.sh --create --topic events --partitions 8 --replication-factor 3 --bootstrap-server localhost:9092

  • 控制台生产/消费:kafka-console-producer.sh ...kafka-console-consumer.sh --from-beginning ...

  • Flink

  • 提交作业:flink run -m yarn-cluster -c com.demo.Job target/job.jar

  • Savepoint:flink savepoint <jobId> file:///checkpoints/sp

  • dbt

  • 初始化与运行:dbt init, dbt run, dbt test, dbt docs generate && dbt docs serve

  • ClickHouse

  • 建表与分区

CREATE TABLE t
( id UInt64, dt Date, x Float64 )
ENGINE = MergeTree PARTITION BY toYYYYMM(dt) ORDER BY (dt,id);

  • 物化视图

CREATE MATERIALIZED VIEW mv AS
SELECT toDate(time) d, count() c FROM src GROUP BY d;

  1. PostgreSQL

  • 分区表

CREATE TABLE sales (id bigserial, d date, amt numeric) PARTITION BY RANGE (d);
CREATE TABLE sales_2025m08 PARTITION OF sales FOR VALUES FROM ('2025-08-01') TO ('2025-09-01');

  • 并行与计划:EXPLAIN (ANALYZE, BUFFERS)

  1. Iceberg 表创建(Spark SQL)

CREATE TABLE lake.sales (id BIGINT, ts TIMESTAMP, amt DECIMAL(12,2))
USING iceberg PARTITIONED BY (days(ts));


10. 实施检查表(浓缩)

  • 需求与SLO:吞吐、时延、可用性、成本上限

  • 数据契约:字段口径、变更策略、兼容级别、Schema Registry

  • 安全与治理:分级分类、RLS/CLS、密钥与审计、血缘与质量门禁

  • 架构与选型:OLTP/OLAP/湖仓与实时路径、冷热分层与成本测算

  • 运维与可观测:指标阈值、告警路由、容量与备份/演练

  • 发布与回滚:蓝绿/灰度、双写校验、PITR、应急剧本


11. 学习路径与资料

  • 基础与范式:数据库系统概念、Designing Data-Intensive Applications、The Data Warehouse Toolkit

  • 工具与实践:Flink/Spark 官方教程、Iceberg/Hudi/Delta 文档、ClickHouse/StarRocks/Trino 文档、Airflow/Dagster/Prefect 实战

  • 国内生态:阿里 DataWorks、华为云 ROMA/数据治理、腾讯 TBDS、开源 TiDB/TiFlash、OceanBase、Doris/StarRocks、TDengine、Nebula Graph


PlantUML 思维导图

@startmindmap
* 数据库架构开发知识库
** 架构与流转
*** 采集(Logs/CDC/IoT)
*** 传输(Kafka/Pulsar/RocketMQ)
*** 计算(Spark/Flink/Trino)
*** 存储(OLTP/OLAP/湖仓/时序/图/向量)
*** 服务与语义(API/语义层/dbt)
*** 可视化(BI/大屏/API)
** 存储与引擎
*** OLTP(MySQL/PostgreSQL/TiDB/OceanBase)
*** OLAP(ClickHouse/StarRocks/Doris/Trino/Druid)
*** 湖仓(S3+Iceberg/Hudi/Delta)
*** 特种(时序/图/向量)
** 采集与传输
*** CDC(Debezium/FlinkCDC/Canal)
*** 消息(Avro/Protobuf/Schema Registry)
*** IoT(MQTT/边缘聚合)
** 建模与处理
*** 事务与一致性(ACID/MVCC/CAP/PACELC)
*** 维度建模(SCD/星型/契约)
*** 流批一体(事件时间/水位线/幂等)
*** 质量与血缘(GE/Soda/DataHub/Atlas)
** 工程化与治理
*** 调度(Airflow/Dagster/Prefect/DS)
*** 元数据与权限(Ranger/Sentry/Unity)
*** 安全(加密/脱敏/分级/合规)
*** 可观测性(OTel/Prometheus/Grafana)
** 性能优化
*** OLTP(索引/分区/路由/慢查)
*** OLAP(分区/聚合表/物化/向量化)
*** 流(反压/状态/Checkpoint)
** 选型指南
*** 交易/报表/湖仓/实时/时序/图
** 研发与上线
*** 容器化/多环境/蓝绿灰
*** Schema变更(gh-ost/Flyway)
*** 回滚与PITR
** 命令与示例
*** Kafka/Flink/dbt/ClickHouse/PG/Iceberg
** 检查表与学习
*** SLO/契约/安全/运维/发布
*** 书籍/文档/国内生态
@endmindmap

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919787.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919787.shtml
英文地址,请注明出处:http://en.pswp.cn/news/919787.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Excel和WPS表格中合并多个单元格这样最快

如果要把WPS表格和Excel中多个单元格的数据合成到一个单元格中&#xff0c;不用函数&#xff0c;只需要先写输入公式&#xff0c;然后在各个单元格之间输入&符号即可。&#xff08;当然&#xff0c;&符号不只是连接单元格的数据&#xff0c;也可以直接输入内容连接&…

在嵌入式上用 C++14实现简单HSM状态机

文章目录概述为什么要迁移到 C&#xff0c;以及 C 的陷阱目标与挑战为什么不能直接使用 std::function&#xff1f;解决方案&#xff1a;POD 回调与模板 Trampoline核心设计模板 trampoline 实现两种成员函数绑定策略1. **Per-Transition Context&#xff08;每个状态转移绑定一…

【unity】Obfuz加固混淆日志还原解析方案ObfuzResolver

Github | Gitee ObfuzResolver是基于obfuz-tools针对Obfuz的一项辅助工具&#xff0c;方便开发者在unity编辑器中或者运行时快捷将使用Obfuz混淆加固后的日志信息还原为原始信息&#xff0c;以辅助开发者快速定位Bug。 特性 支持unity编辑器模式下还原被加固混淆的日志信息&a…

2025DevOps平台趋势解读:哪些DevOps工具正在引领行业变革?

DevOps平台已成为企业提升研发效能、实现敏捷交付的核心支柱。2025年DevOps领域正经历深刻变革&#xff0c;平台能力正从“工具链整合”向“价值流智能中枢”跃升。01. 2025Devops平台趋势解读“全栈式”与“模块化/可组合”的平衡&#xff1a;企业既需要能覆盖开发、测试、部署…

第二阶段Winform-4:MDI窗口,布局控件,分页

1_MDI窗口 &#xff08;1&#xff09;MDI是指将多控件窗体在同一窗体中打开,可以设置重叠打开&#xff0c;平捕打开等&#xff0c;MDI窗体&#xff08;Multiple-Document Interface&#xff0c;多文档界面&#xff09;用于同时显示多个文档。在项目中使用MDI窗体时&#xff0c…

实用R语言机器学习指南:从数据预处理到模型实战(附配套学习资源)

一、为什么需要掌握机器学习建模&#xff1f;在科研与项目实践中&#xff0c;机器学习已成为数据挖掘的核心工具。本文手把手带你在R语言中实现7大常用模型&#xff1a;逻辑回归/正则化回归决策树/随机森林SVM支持向量机XGBoost梯度提升神经网络全程包含数据标准化→模型训练→…

go.uber.org/zap 日志库高性能写入

使用 go.uber.org/zap 实现日志分割功能 实现按照单个文件最大MB自动分割,最多保留多少天的文件,是否启用压缩,按天自动分割日志 核心依赖 go.uber.org/zap:核心日志库 lumberjack.v2:日志轮转工具(实现按大小/时间分割) 时间处理依赖标准库 time 实现步骤 1. 初始化…

电脑端完全免费的动态壁纸和屏保软件(真正免费、无广告、无会员)

✅ 1. Lively Wallpaper&#xff08;强烈推荐&#xff09; 特点&#xff1a;完全免费、开源、无广告&#xff0c;支持本地视频/GIF/网页作为动态壁纸内置资源&#xff1a;12个高质量动态壁纸&#xff08;可自定义&#xff09;屏保功能&#xff1a;支持将动态壁纸一键设为屏保系…

C#_组合优于继承的实际应用

2.2 Composition over Inheritance&#xff1a;组合优于继承的实际应用 继承&#xff08;Inheritance&#xff09;是面向对象编程中最容易被过度使用和误用的特性之一。传统的教学往往让人们优先选择继承来实现代码复用和建立“是一个&#xff08;is-a&#xff09;”的关系。然…

Kafka消息丢失的场景有哪些

生产者在生产过程中的消息丢失 broker在故障后的消息丢失 消费者在消费过程中的消息丢失ACK机制 ack有3个可选值&#xff0c;分别是1&#xff0c;0&#xff0c;-1。 ack0&#xff1a;生产者在生产过程中的消息丢失 简单来说就是&#xff0c;producer发送一次就不再发送了&#…

盼之代售 231滑块 csessionid 分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向分析 部分python代码 url "…

STL关联式容器解析:map与set详解

目录 1. 关联式容器 2. 键值对 3. 树形结构的关联式容器 3.1 set 3.1.2 set的使用 3.2 map 3.2.1 map的介绍 3.2.2 map的使用 3.3 multiset 3.3.1 multiset的介绍 3.3.2 multiset的使用 3.4 multimap 3.4.1 multimap的介绍 3.4.2 multimap的使用 4.红黑树模拟实现…

贪吃蛇--C++实战项目(零基础)

视频地址&#xff1a;C语言必学项目&#xff1a;贪吃蛇&#xff01; 贪吃蛇游戏框架 ├── 基础框架 │ ├── 头文件引入 │ ├── 常量和宏定义 │ └── 窗口初始化 │ ├── 数据结构系统 │ ├── Pos结构体(位置和颜色) │ ├── Snake结构体(蛇的属性) │ ├──…

unity资源领取反作弊工具加密器

https://assetstore.unity.com/packages/tools/utilities/anti-cheat-pro-2025-3006260元购码GUARDINGPEARSOFTWARE

FPGA设计中的信号完整性量化与优化:探索高速数字系统的关键路径

在高速FPGA设计中&#xff0c;信号完整性&#xff08;Signal Integrity, SI&#xff09;已成为确保系统稳定、可靠运行的核心要素之一。随着数据传输速率的不断提升和电路规模的日益复杂&#xff0c;信号在传输过程中受到的干扰和畸变问题日益凸显。因此&#xff0c;如何有效量…

`strncasecmp` 字符串比较函数

1) 函数的概念与用途 strncasecmp 是 C 语言中一个非常实用的字符串处理函数&#xff0c;它执行不区分大小写的字符串比较&#xff0c;但只比较前 n 个字符。这个函数的名字来源于"string n case-compare"&#xff08;字符串前n个字符不区分大小写比较&#xff09;。…

软件安装教程(一):Visual Studio Code安装与配置(Windows)

文章目录前言一、Visual Studio Code下载二、安装步骤&#xff08;Windows&#xff09;1. GUI安装2. 命令行安装三、首次启动后建议的快速配置&#xff08;几分钟完成&#xff09;四、常见问题 & 小贴士总结前言 Visual Studio Code&#xff08;VS Code&#xff09;是一款…

JavaSSM框架从入门到精通!第三天(MyBatis(二))!

四、Mapper 的动态代理1. 引入 在上面的 CURD 例子中&#xff0c;我们发现&#xff1a;Dao 层的实现类的每一个方法仅仅是通过 SqlSession 对象的相关 API 定位到映射文件 mapper 中的 SQL 语句&#xff0c;真正对数据库操作的工作实际上是有 Mybatis 框架通过 mapper 中的 SQL…

大模型应用发展与Agent前沿技术趋势(下)

Agent技术的行业应用与实践案例 金融领域的Agent应用 金融行业是大模型Agent技术应用最为广泛的领域之一&#xff0c;涵盖了风险评估、投资决策、客户服务等多个方面。在金融风控领域&#xff0c;Agent系统通过结合大模型的语义理解能力和强化学习的决策优化能力&#xff0c;能…

94. 城市间货物运输 I, Bellman_ford 算法, Bellman_ford 队列优化算法

94. 城市间货物运输 IBellman_ford 算法Bellman_ford 算法 与 dijkstra算法 相比通用性更强。dijkstra算法解决不了负权边的问题&#xff0c;因为Dijkstra基于贪心策略&#xff0c;一旦一个节点被从队列中取出&#xff08;标记为已解决&#xff09;&#xff0c;它就假定已经找到…