这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天。
数据库
1、单机存储:
单机存储是指单个计算机节点上的存储软件系统,一般不涉及网络交互,例如:本地文件系统,key-value存储。
文件系统的管理单元是文件,在linux系统中一切都可以认为是文件。
2、分布式存储:
分布式存储是指在单机存储的基础上实现了分布式协议,设计大量网络交互,例如:分布式文件系统,分布式对象存储。
分布式存储-HDFS:支持海量数据存储,具有高容错性,具有弱POSIX语义,使用普通X86服务器,性价比较高。
分布式存储——Ceph:开源分布式存储系统里的万金油,一套系统支持对象接口、块接口、文件接口,但是一切皆对象;数据写入采用主备复制模型;数据分布模型采用CRUSH(HASH+权重+随机抽签)算法。
3、单机数据库:
单机数据库是指单个计算机节点上的数据库系统,事务在单机内执行,也可能通过网络交互实现分布式事务,例如:关系型数据库和非关系型数据库。
常见的关系型数据库包括Oracle和MySQL以及PostgreSQL等,其中MySQL和PostgreSQL是开源数据库,Oracle是商业产品。
非关系型数据库包括MongoDB、Redis、Elasticsearch等。
关系型数据库一般直接使用SQL交互,而非关系型数据库交互方式各不相同。非关系型数据库的数据结构千奇百怪,没有关系约束,schema相对灵活。
单机数据库由于容量、弹性、性价比等因素引入分布式架构。
4、分布式数据库
分布式数据库具有灵活的体系结构,适应分布式的管理和控制机构,经济性能优越,系统的可靠性高、可用性好,局部应用响应速度快,可拓展性好,易于集成现有的系统的优点。
分布式数据库具有物理分布性,逻辑整体性,场地自治性,场地之间协作性,数据独立性,事务管理分布性等特点。
分布式数据库可以适当增加数据冗余度,采用集中与自治相结合的控制机制。
分布式数据库的缺点:系统开销大,主要花在通信部分;复杂的存取结构;数据的安全性和保密性较难处理。
引用参考
史上最全分布式数据库概述 - 腾讯云开发者社区-腾讯云 (tencent.com)
总结
本文是青训营学习中关于数据库和存储系统的笔记。本文接上篇文章,本文主要是单机数据库和分布式数据库的概念。