读构建可扩展分布式系统:方法与实践09可扩展数据库基础

2024-09-19  本文已影响0人  躺柒
读构建可扩展分布式系统:方法与实践09可扩展数据库基础.png

1. 可扩展数据库基础

1.1. 绝大多数应用程序都是基于关系数据库技术构建的

1.2. 数据库必须存储大量数据,为分布在全球的客户端提供快速的查询响应,并且全天候可用

1.3. NoSQL数据库采用简单的数据模型,可以复制和分区以支持海量数据集和请求量

1.4. Facebook以使用MySQL管理PB级社交相关活动(例如用户评论和点赞)的数据而闻名

1.5. 百度公司从2012年开始使用MongoDB

2. 分布式数据库

2.1. 互联网大规模的应用程序让数据集在规模和复杂性上有了长足的增长

2.2. 需要演化过的数据库引擎来管理大量的分布式数据集合

2.3. 当今互联网应用程序需求的不断变化是数据库引擎创新的另一个主要驱动力

2.4. 当系统拥有数万乃至数百万的用户时,可以放宽关系数据库的各种数据约束,从而获得更好的性能和可扩展性

3. 扩展关系数据库

3.1. 支持关系模型和SQL查询语言的数据库代表了如今最成熟、稳定和强大的数据库软件平台

3.2. 关系数据库是非常复杂且非常成功的技术

3.3. 规范化

3.4. 垂直扩展

3.5. 水平扩展:只读副本

3.6. 水平扩展:数据分区

3.7. 分布式SQL连接

3.8. Oracle RAC

4. 向NoSQL转变

4.1. 广泛可用的低成本商业计算节点和存储的非共享架构

4.2. 向NoSQL转变的核心特征

4.3. NoSQL连接查询

4.4. NoSQL数据模型

4.5. NoSQL数据库通常被称为无模式数据库

4.6. 查询语言

4.7. 分布式数据存储

4.8. 引入副本来解决可用性问题

5. CAP定理

5.1. Eric Brewer著名的CAP定理优雅地阐述了使用分布式数据库时副本一致性和可用性的选择

5.2. 描述了数据库系统在存在网络分区时的选择,即当数据库节点之间发送的消息存在网络延迟和丢失时

5.3. 如果网络运行正常,系统就可以同时保持一致性和可用性

5.4. 如果发生网络分区,系统可以是一致的(CP)或可用的(AP)

上一篇下一篇

猜你喜欢

热点阅读