分布式存储分类

W_法 4月前 ⋅ 343 阅读

        任何一个事物,按照不同的分类标准,都可得到不同的分类。分布式存储系统的分类也遵循这个规则。本文的分类,重点实现0->1的过渡,后续如果对分布式存储系统有更深的理解,还会添加其他的分类。

        参考杨传辉老师的《大规模分布式存储系统》,根据待存储数据的类型(结构化数据、非结构化数据、半结构化数据),可将分布式存储系统分为三类:分布式数据库、分布式文件系统、分布式键值系统。其中分布式数据库用于存储结构化数据,分布式文件系统用于存储非结构化数据、分布式键值系统用于存储半结构化数据。

分布式数据库

        结构化数据一般使用关系型数据库进行存储。分布式数据库就是在单机数据库发展起来多机数据库系统。

        Wiki中文版对分布式数据库的定义是:分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库。每个被连接起来的数据库单元称为站点或节点。

        Wiki英文版对分布式数据库的定义是:A distributed database is a database in which storage devices are not all attached to a common processor. It may be stored in multiple computers, located in the same physical location; or may be dispersed over a network of interconnected computers. Unlike parallel systems, in which the processors are tightly coupled and constitute a single database system, a distributed database system consists of loosely coupled sites that share no physical components.

        A distributed database (DDB) is a collection of multiple, logically interrelated databases distributed over a computer network.

        http://lig-membres.imag.fr/leroyv/wp-content/uploads/sites/125/2016/09/IntroductionDDBMS.pdf

        综合以上对分布式数据库的描述,不难看出,分布式数据库就是将物理分布的具有自治能力的数据库,通过计算机网络的连接,使之在逻辑上构成一个统一的数据库。

        在学习分布式数据库时,还要注意一个容易混淆的概念:联邦式分布数据库。联邦式分布式数据库在物理上和逻辑上都是分布的

        https://blog.csdn.net/tianlesoftware/article/details/5465765

分布式文件系统

        非结构化数据,本身不具备结构,更不需要预定义数据模型,典型的非结构化数据的存储方式就是文件系统。接下来简要介绍从文件系统发展而来的分布式文件系统。

        参照Eliezer levy等人1990年的《Distributed File Systems: Concepts and Examples》可以从中获取分布式文件系统比较准确的定义:A DFS is a distributed implementation of the classical time-sharing model of a file system, where multiple users share files and storage resources. The UNIX time-sharing file system is usually regarded as the model [Ritchie and Thompson 1974].

        The purpose of a DFS is to support the same kind of sharing when users are physically dispersed in a distributed system. A distributed system is a collection of loosely coupled machines-either a mainframe or a workstation-interconnected by a communication network. From the point of view of a specific machine in a distributed system, the rest of the machines and their respective resources are remote and the machine’s own resources are local.

        理解分布式文件系统可从分布式系统和文件系统两个层面理解。简单来说,分布式文件系统就是在原有文件系统的基础上,通过分布式系统将这些彼此独立文件系统,从逻辑上构成一个统一的整体,并对外提供服务。外部访问这个分布式文件系统时,就像访问本地文件系统一样,只是访问的方式从本地通信转换成网络通信。

        https://www.quora.com/What-is-a-distributed-file-system-and-what-is-it-used-for

分布式键值系统

        半结构化数据,由于具有自描述性(结构和内容混合),无需预先定义数据的模式结构等特性,使用常见的关系型数据库、文件系统存存储并不能很好的发挥数据本身的特性。而针对非结构化数据发展起来的键值系统可以很好的解决这个问题(不仅解决半结构化数据的存储问题,也能够利用数据自身特性)。代表性的键值系统就是NoSQL数据库,同样,代表性的分布式键值系统就是支持分布式的NoSQL。常见的NoSQL数据库有:Bigtable、Dynamo、HBase、MongoDB、Redis、Cassandra、Neo4j等。

        注意结构化数据也可使用分布式键值系统存储,如Google 的BigTable,而半结构化数据只能使用分布式键值系统存储。BigTable论文链接如下:

        http://lintool.github.io/UMD-courses/bigdata-2015-Spring/content/ChangFay_etal_OSDI2006.pdf

        http://bigdata.51cto.com/art/201610/519765.htm


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: