赞
踩
Hbase是基于hadoop的开源数据库,它的设计具有高性能、高可靠性、列存储、可伸缩、实时读写的数据库系统,用于存储粗粒度结构化的数据。
Hbase是面向列存储的、非结构型、分布式数据库。
Region:服务器:
Region是hbase中分布式存储和负载均衡的最小单位,一个表拥有多个region,分配在不同的region服务器上,一个region内的数据存储在一个region服务器上。物理上所有的数据存储到hdfs上。
一台计算机上只运行一个region服务器,管理维护其他region实例。
Hbase在行的方向上将存储表分成了多个region。每个表最初只有一个region,随着记录数的增加,region会被分割成两个新的region,以此类往。通常一段时间后,一个表中会有n 个 region。
Region由一到多个store组成,每个store保存一个列族的所有数据。每个store由一个memstore和零个或多个storefile组成。
Storefile则Hfile的格式存储在HDFS中。
主服务器:
Hbase是主从结构。每个时刻只有一个HMaster运行,HMaster将Region分配给Region服务器,协调region服务器的负载并维护集群状态。
HMaster只向Region服务器提供数据服务,Region服务器负责对所有region的读写请求操作。HMaster通过ZooKeeper判断是否出现故障,如出现则会参考log文件,重新分配Regions。
元数据表:
用户表的regions元数据被存储在.meta表中,随着region的增加,.meta表中数据也会增大,并分裂成多个regions。.meta将表中的多个regions的元数据保存在ROOT表中,由ZooKeeper记录ROOT表的位置信息以便查询。
中ROOT表不会被分割,只有一个region,用以保障最多需要三次跳转就可以定位到任意一个region.
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,NoSQL数据库是非关系的、水平可扩展、分布式并且是开源的。在当时是一项全新的数据库革命性运动,NoSQL数据库主要分为四大类:健值存储数据库、列存储数据库、文档型数据库、图形数据库。
NoSQL 数据库分类
类型 | 部分代表 | 特点 |
列存储 | Hbase Cassandra Hypertable | 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。 |
文档存储 | MongoDB CouchDB | 文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。 |
key-value存储 | Tokyo Cabinet / Tyrant Berkeley DB MemcacheDB Redis | 可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能) |
图存储 | Neo4J FlockDB | 图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。 |
对象存储 | db4o Versant | 通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。 |
xml数据库 | Berkeley DB XML BaseX | 高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。 |
NewSQL是对所有新型可扩展、高性能数据库的简称,它们不仅有NoSQL对海量数据库的存储管理能力,还保持了传统数据库支持ACID和SQL等特性。这类新式的关系型数据库针对OLTP(读-写)工作负载,追求提供和NoSQL系统相同的扩展性能。
“NewSQL”是我们对各种新的可扩展/高性能的SQL数据库厂商的简称。NewSQL厂商的共同之处在于研发新的关系数据库产品和服务,通过这些产品和服务,把关系模型的优势发挥到分布式体系结构中,或者提高关系数据库的性能到一个不必进行横向扩展的程度。
几种数据库类型的发展趋势:
*sql数据库:关系型,扩展性差;
·NoSQL数据库,旨在满足分布式体系结构的可扩展性需求和/或无模式数据管理需求;
·NewSQL数据库,兼容sql和nosql的优点。
·数据网格/缓存产品,旨在存储数据在内存中,以提高应用程序和数据库性能。
基于行存储:
基于列存储:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。