《2022年分布式数据 .pdf》由会员分享,可在线阅读,更多相关《2022年分布式数据 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、3 分布式数据库31 基本概念A.定义:分布式数据库(英文名称:distributed database;简称 DDB)是指数据分存在计算机网络中的各台计算机上的数据库。目前,大多数为 NoSQL这类的非关系型的数据库。B 关系型数据库:常用的关系模型有实体关系模型,简称 E-RModel。CNoSQL数据库:非关系型、分布式、不提供ACID。不使用 SQL作为查询语言,且数据不再以表格模型存储。D特征:高可扩展性、高并发性、高可用性。E优点:更高的访问速度、更强的可扩展性、更高的并发访问量。FCAP定理:CAP原则是 NOSQL数据库的基石。Consistency(一致性)。Availabi
2、lity(可用性)。Partition tolerance(分区容错性)。Cap定理是说上述三个最多只能实现两个,而其中分区容忍性是必须要实现的。3.2 开源项目3.2.1HBase名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -A定义:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是 HBase基于列的而不是基于行的模式。它使用 HadoopHDFS作为文件存储系统,使用 HadoopMapReduce处理海量数据,利用 Zookeeper作为自己的协调系统。B定位:用于普通商用硬件
3、上存储大规模的数据表,表的特点为:可以有十几亿行、上百万列;每行有一个可以排序的行健(row key)和任意多个列,列可以动态添加;面向列(簇)的存储和权限控制,列独立检索;空列存储不占空间,所以可以设计的比较稀疏;数据以原生的字节数组形式存储,所以任何类型数据都可以保存。C设计特征:模块化、可以线性扩展;读写一致性;自动分片;自动故障转移;多种API支持;操作管理简单;行事务(同一行的、列的写入都是原子操作);和 Hadoophdfs 无缝集成;支持MapReduce。D数据模型的操作:主要是四种:get、put、scan、delete。在 API层次上,都可以通过HTable实例来执行上述
4、操作。E集群架构:在底层,HBase所有信息都保存在hdfs 中,HBase是构建在 hdfs 之上的分布式数据库。FHBase集群由运行在集群上的一组守护进程组成,包括hmaster、hregionserver、zookeeper进程。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -其中,Zookeeper是维护进程的;hmaster是 master 节点的主进程,主要负责 table 和 region 的管理;hregionserver负责相应用户的I/O 请求,读写数据;G与 hdfs 的关系:hdfs 不能进行单个记录的查找、更新等操作,且不通用。Hbase则提
5、供了快速地基于记录的查找、更新等操作,补充了 hdfs 的不足。Hbase是将数据保存在具有索引功能的storefile 中来提供查询,而这些文件最终都是保存在hdfs 中。和传统一样,存在数据库的数据最终还是以文件的形式保存在操作系统的文件系统上。H.是否支持 SQL:不直接支持传统的sql 语句,也不支持高级sql操作,但是通过和 pig、hive 等其他开源项目集成,也可以实现类似sql的查询,其实质是将查询转为MapReduce作业在 Hadoop集群上执行得到结果。I如何运行 MapReduce:通过和 Hadoop的集成,MapReduce能够直接从 hbase中读取数据,并将计算
6、结果写入hbase中进行保存。Hbase提供配套的 tableinputformat 和 tableoutputformat 的 API,可以方便的将 hbasetable作为 MapReduce的 source和 sink。J常用场景:对大规模数据进行处理,且具有较高的并发读/写速度。所以,常用于需要对大规模的数据集进行随机的读/写。3.2.2Hive名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -附录1)ACID:指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Du
7、rability)。一个支持事务(Transaction)的,必需要具有这四种特性,否则在事务过程(Transactionprocessing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。2)集成:(integration)就是一些孤立的事物或元素通过某种方式改变原有的分散状态集中在一起,产生联系,从而构成一个有机整体的过程。3)Apache:是世界使用排名第一的Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web 服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将 Perl/Python 等解释器编译到服务
8、器中。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -4)API:应用程序接口,Application Program Interface,就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API而使操作系统去执行应用程序的命令(动作)。它是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用 API 函数对应用程序进行开发,可以减轻编程任务。API 同时也是一种中间件,为各种不同平台提供数据共享。5)事务:一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。6)时间戳:(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳的技术是数字签名技术一种变种的应用。7)WAL:Write-Ahead Logging 预写日志系统。数据库中一种高效的日志算法,对于非内存数据库而言,磁盘I/O 操作是数据库效率的一大瓶颈。在相同的数据量下,采用 WAL日志的数据库系统在事务提交时,磁盘写操作只有传统的回滚日志的一半左右,大大提高了数据库磁盘I/O 操作的效率,从而提高了数据库的性能。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -