- 1 数据库概述
- 1.1 DBMS 简史
- 1.2 数据库理论
- 1.3 事务 Transaction
- 1.4 SQL
- 1.5 数据库接口
- 本章参考
- 2 Relational 关系数据库
- 2.1 关系理论
- 2.2 Oracle
- 2.5 Microsoft SQL Server
- 2.6 DB2
- RDBS 比较
- 本章参考
- 3 NoSQL 非关系数据库
- 3.1 NoSQL 分类
- 3.2 键值 key-value 数据库
- 3.3 列存储数据库
- 3.4 图形数据库
- 本章参考
- 4 NewSQL
- 4.1 NewSQL 分类
- 4.2 分布式数据库 Distributed
- 本章参考
- 5 时序数据库 TSDB
- 5.1 简介
- 5.2 时序数据库比较
- 本章参考
- 6 SQL 引擎
- 6.1 SQL 引擎分类
- 6.2 SQL On Hadoop
- 本章参考
- 7 其它数据库
- 7.1 内存数据库 In-memory
- 7.2 嵌入式数据库 Embed
- 7.3 搜索引擎
- 本章参考
- 8 各种数据库分析比较
- 8.1 数据库排行 db-engines
- 8.2 数据库技术选型
- 8.3 DB 性能比较
- 8.4 国产数据库产品列表
- 8.5 DB 常用 SQL 比较
- 本章参考
- 9 SQL 调优
- 9.1 SQL JOIN
- 9.2 SQL 执行流程
- 10 数据库大型应用实例
- 10.1 负载均衡技术
- 10.2 数据库的高可用 HA
- 10.3 数据库的读写分离
- 10.4 数据库拆分(分布式)
- 10.5 跨库查询
- 本章参考
- 参考资料
- 附录
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1.2 数据库理论
1.2.1 ACID 模型(RDBS)
关系数据库的 ACID 模型拥有高一致性 + 可靠性,丧失可用性:
Atomicity 原子性:一个事务中所有操作都必须全部完成,要么全部不完成。
Consistency 一致性:在事务开始或结束时,数据库应该在一致状态。
Isolation 隔离性:事务将假定只有它自己在操作数据库,彼此不知晓。
Durability:一旦事务完成,就不能返回。
备注:隔离性是一个最常放松的一个。可以在数据操作过程中利用数据库的锁机制或者多版本并发控制机制获取更高的隔离等级。但是,随着数据库隔离级别的提高,数据的并发能力也会有所下降。所以,如何在并发性和隔离性之间做一个很好的权衡就成了一个至关重要的问题。
1.2.2 分布式系统
主要理论:CAP 理论、BASE 模型、一致性、
详见 另文《 分布式架构 》
1.2.3 数据库分类
表格 数据库产品分类
类别 | 细类 | 简述 | 应用场景 |
---|---|---|---|
数据实时性 | OLTP | 事务型处理,需实时或低延迟。。 | |
OLAP | 在线处理。允许延迟。 | ||
数据量规模 | 内存 | 数据量可以全放在内存 | 如内存数据库 HANA |
大量 | 内存无法全部放下 | ||
海量 | 传统数据仓库无法入下 | Hadoop HDFS 分布式存储 | |
数据查询性能 | 并行查询 | MPP |
1.2.4 数据库模型
Common models include:
- Hierarchical model
- Network model 网状模型
- Relational model 关系模型
- Entity-relationship 实体关系模型
- Object-relational model
- Object model 对象模型
- Document-oriented model 面向文档的模型(new)
存储模型
根据数据存储的 逻辑结构 得到下列的存储模型:table-oriented 如传统的关系数据库,表存储,用行存储方式,一行对应多字段。常见的如 oracle, mysql, PostgreSQL 等。
按照数据模型保存性质将当前 NoSQL 分为四种类型:
- column-oriented 列存储,多字段记录,每字段一表。
- document-oriented 如 MongoDB
- key/value store 目前 NoSQL 最流行的方式。一个 key 对应一个 value.
- graph 图数据库,如 InfiniteGraph 和 Neo4j.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论