【数据库】《DBA实战手记》- 读书笔记
《DBA实战手记》基本介绍
- 作者:薛晓刚 等
- 出版时间:2024年6月
- 出版社:机械工业出版社
- ISBN:9787111757665
本书是一本指导DBA进行数据库开发和运维的实用手册,本书共9章,包括漫谈数据库、如何提升数据库性能、如何运维好数据库、如何进行数据库设计、如何做好数据库同步、认识HTAP技术、认识数据库的底层工作原理、认识数据库中的数学(逻辑与算法)、DBA的日常:数据库管理及运维的最佳实践,附录DBA杂谈。 本书内容是资深DBA多年实践经验的归纳总结,涵盖DBA日常工作中的主要方面,通过剖析众多的真实案例解读原理,分享技巧,提供思路,内容具备较强的启发性和指导性。 本书的受众包括但不限于想要了解如何提升数据库性能的应用开发人员、DBA、业务架构师、IT架构师、数据架构师、数据分析师、系统架构师、解决方案架构师和企业高级管理人员。
我于20250603开读,更新中
D1(p1-p32)
第一章漫谈数据库,对数据库的国内外发展历史及分类有了清晰的认知,还有相关技术大数据、区块链、物联网的延展,受益匪浅。
1.1 什么是数据库
是一种用于存储、管理和检索数据的系统。它允许多用户方便地组织、插入、更新、删除和查询数据。
1.2 数据库发展史
国外数据库的历史
时间段 | 事件 | 相关数据库/技术 |
---|---|---|
1960s-1970s | 前关系型数据库阶段:关系模型的概念被提出,首个关系数据库管理系统(RDBMS)出现。 | IBM System R(研究项目),Ingres(1973加州大学伯克利分校) |
1980s-2000s初 | 关系型数据库阶段:SQL成为标准查询语言,多个商业RDBMS产品推出。 | Oracle(1979),Informix(1980),Sybase(1987),MySQL(1995,2009后由Oracle收购), PostgreSQL(1996开源), Microsoft SQL Server,SQLite |
2000s中期至今 | 后关系型数据库阶段:开源数据库兴起,NoSQL概念开始形成;云数据库服务开始流行。 | MongoDB(2009),Neo4j(2007),Redis(2009), Snowflake(2012),Amazon RDS, Google Cloud SQL |
国内数据库的历史
时间段 | 事件 | 相关数据库/技术 |
---|---|---|
1980s-1990s | 主要依赖于国外数据库技术,自主研发起步较晚。 | 使用Oracle、IBM DB2等国外数据库产品 |
2000s | 随着互联网的发展,国内数据库技术快速进步,开源数据库得到广泛应用。 | 达梦数据库DM2(1996),人大金仓KingbaseES(1999),TDSQL(2007),南大通用GBase(2007),神州数码通用数据库(2008),亚信AntDB(2008) |
2010s至今 | 国产数据库品牌逐渐崛起,多种类型数据库技术并行发展。 | 蚂蚁OceanBase(2010),巨杉SequoiaDB(2011),华为GaussDB(2013),中兴GoldenDB(2014),阿里云PolarDB(2017),平凯星辰TiDB(2015),华为openGauss(2020) |
1.3 数据库的主要分类
类型 | 描述 | 常见数据库 | 优点 | 缺点 |
---|---|---|---|---|
关系数据库 | 使用表格来组织数据,适用于需要高精度和完整性的交易处理。 | MySQL、PostgreSQL、Oracle、SQL Server、IBM DB2 | 支持ACID事务、结构清晰、成熟稳定 | 扩展性差,难以应对海量非结构化数据 |
键值数据库 | 以键值对形式存储数据,适合缓存应用,提供快速的数据存取速度。 | Redis、Memcached | 高性能、简单易用、适合读写密集场景 | 不支持复杂查询,不适合持久化大容量数据 |
列式数据库 | 将数据按列存储,优化分析查询性能,适合大规模数据分析。 | ClickHouse、Cassandra、GreenPlum | 查询效率高,压缩比好,适合OLAP | 写入性能一般,不适合高频更新 |
文档型数据库 | 存储半结构化数据如JSON文档,灵活性高。 | MongoDB | 结构灵活,适合嵌套数据和快速迭代开发 | 查询能力不如关系型数据库,事务支持有限 |
图数据库 | 专门用于存储和查询复杂网络关系的数据。 | Neo4j、NebulaGraph | 关系查询高效,适合社交网络、推荐系统 | 学习成本高,不适用于传统业务场景 |
时序数据库 | 设计用来处理时间序列数据,适用于物联网等场景。 | InfluxDB、TimescaleDB、OpenTSDB | 高效处理时间序列数据,压缩率高 | 特定场景专用,通用性较弱 |
搜索引擎数据库 | 提供全文搜索功能,用于快速查找信息。 | Elasticsearch | 搜索能力强,实时索引,支持大数据量 | 数据一致性较差,运维复杂度较高 |
多模数据库 | 支持多种数据模型(如文档、图、KV等)融合使用。 | Oracle-JSON&图、MySQL-KV插件memcache、PolarDB多引擎、PostgreSQL-各类插件 | 多模型统一管理,减少系统复杂度 | 功能集成复杂,学习曲线陡峭 |
移动端数据库 | 专为移动设备设计的小型数据库,用于本地数据存储。 | SQLite、DuckDB | 轻量级、部署方便、低资源消耗 | 功能有限,不适合大规模并发访问 |
1.4 数据库应用的发展趋势
国内外数据库应用排名
数据库排名网站 DB-Engines
https://db-engines.com/en/ranking
墨天轮排行榜
https://www.modb.pro/dbRank
数据库应用发展趋势
2021年信通院发布的《数据库发展研究报告》中指出了数据库未来的七大趋势:
序号 | 趋势描述 | 详细说明 |
---|---|---|
1 | 多模数据库实现一库多用 | 支持多种数据模型(如关系型、文档、键值等)统一管理,减少系统复杂度和迁移成本,实现“一库多用”,提升开发效率与运维便捷性。ALL In One 最终多模带来了总成本的下降。 |
2 | 统一框架支撑分析与事务混合处理 | 在同一系统中融合OLTP与OLAP能力,消除传统ETL流程,支持实时分析与决策,显著降低架构复杂性和响应延迟。 |
3 | 运用AI实现管理自治 | 引入AI技术实现自动调优、故障自愈、资源预测等能力,提升数据库稳定性与运维效率,降低人工干预和运营成本。例如,Oracle Autonomous Database和Amazon Aurora都集成了AI功能来增强自治能力。 |
4 | 充分利用新兴硬件 | 结合NVMe SSD、GPU、RDMA、持久内存等新型硬件,大幅提升I/O性能、计算能力和网络传输效率,释放底层硬件潜力。 |
5 | 与云基础设施深度结合 | 深度适配云环境,支持弹性伸缩、高可用部署、Serverless模式等,推动数据库向云原生架构演进,提升资源利用率和服务灵活性。 |
6 | 隐私计算技术助力安全能力提升 | 融合同态加密、多方安全计算(MPC)、可信执行环境(TEE)等技术,在保障数据隐私的前提下实现安全计算,满足金融、政务等行业合规需求。 |
7 | 区块链数据库辅助数据存证溯源 | 将区块链的不可篡改特性与数据库的高效查询能力结合,适用于供应链、司法、版权等需可信存证与可追溯的业务场景。 |
1.5 数据库与新兴数字技术
技术 | 与数据库的关系 | 描述 |
---|---|---|
HTAP(混合事务与分析处理) | 数据库架构演进,OLTP+OLAP 融合 | HTAP 是数据库技术从传统 OLTP(在线事务处理)和 OLAP(在线分析处理)分离架构向统一架构演进的结果。它允许在同一系统中同时执行高并发的事务操作和复杂的数据分析,避免了传统 ETL 流程带来的延迟与资源消耗。这种能力推动了实时决策的发展,成为新一代企业级数据库的重要特征。代表系统如 SAP HANA、阿里云 PolarDB-HTAP、PingCAP TiDB 等。 |
大数据技术 | 广义技术集合,底层依赖数据库能力 | 大数据技术本质上是数据库技术在数据规模扩大和应用场景扩展下的延伸与重构。它涵盖多个技术分支,如:Hadoop 生态(用于批处理)、Spark(支持内存计算与流处理)、Flink(实时流计算)、Delta Lake / Iceberg(数据湖技术)、图计算引擎(如 GraphX)等。虽然实现方式不同,但它们都依赖于数据库的基础能力(如结构化存储、查询语言、事务机制),并在此基础上构建更高层次的分布式、可扩展、高性能的数据处理能力。 |
区块链 | 特殊形式的数据库,强调安全与信任 | 区块链是一种具有不可篡改特性的分布式账本系统,其底层本质是一种特殊的数据库结构(如键值对 + 链式结构)。早期区块链系统如比特币使用简单的数据库模型,随着智能合约和复杂业务需求的发展,区块链开始引入数据库领域的事务控制、索引机制、共识算法等技术,形成一种新型可信数据管理系统。未来,区块链与数据库的深度融合将推动金融、司法、供应链等领域的信任机制革新。 |
物联网(IoT) | 推动数据库向时序化、专用化发展 | 物联网设备持续产生海量时间序列数据,具备高并发写入、低更新频率、按时间窗口查询等特点。传统关系型数据库难以胜任此类场景,催生了时序数据库(Time Series Database)的发展。这类数据库通过压缩算法、高效索引、批量写入等机制优化性能,典型代表如 TDengine、InfluxDB、OpenTSDB 等。可以说,物联网的发展直接推动了数据库技术向专用化、场景化方向演进。 |