由于数据类型的多样性,不同的分布式存储系统适合处理不同类型的数据,分布式存储系统分大致分为四类∶分布式文件系统、分布式键值(Key-Value)系统、分布式表系统和分布式数据库。
1.分布式文件系统
互联网应用中往往需要存储大量的图片、音频、视频等非结构化数据,这类数据以对象的形式组织,一般称这样的数据为Blob(Binary Large Object,二进制大对象)数据,分布式文件系统也常作为分布式表系统以及分布式数据库的底层存储,总的来说,分布式文件系统用来存储三种类型的数据∶Blob 对象、定长块以及大文件。在系统实现层面,分布式文件系统内部按照数据块(chunk)来组织数据,每个数据块可以包含多个Blob对象或者定长块,一个大文件也可以拆分为多个数据块,如图1所示。分布式文件系统将这些数据块分散存储到集群的服务器上,通过软件系统处理数据一致性、数据复制、负载均衡、容错等问题。
图 1 数据块与 Blob 对象、定长块、大文件之间的关系
2.分布式键值系统
分布式键值系统用于存储关系简单的半结构化数据,它提供基于主键的CRUD(Create/Read/Update/Delete)功能,即根据主键创建、读取、更新或者删除一条键值记录。
3.分布式表系统
分布式表系统主要用于存储半结构化数据。分布式表系统以表格为单位组织数据,每个表格包括很多行,通过主键标识一行,支持根据主键的CRUD功能以及范围查找功能。
4.分布式数据库
分布式数据库是从传统的基于单机的关系型数据库扩展而来,用于存储大规模的结构化数据。分布式数据库采用二维表格组织数据,提供经典的SQL关系查询语言,支持嵌套子查询、多表关联等复杂操作,并提供数据库事务以及并发控制。关系数据库是目前为止最为成熟的存储技术,功能丰富,有完善的商业关系数据库软件的支持,包括Oracle、Microsoft SQL Server、IBM DB2、MySQL等,其上层的工具及应用软件生态链也非常强大。
标签:存储,数据库,分类,键值,分布式文件系统,数据,存储系统,分布式 From: https://blog.51cto.com/u_15735635/5881536