hbase概念: 非结构化的分布式的面向列存储非关系型的开源的数据库,根据谷歌的三大论文之一的bigtable 高宽厚表 作用: 为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
成都网站制作,成都营销型网站-创新互联科技公司专注营销型网站建设及定制型网站开发。致力为您建设最有价值的网站,服务热线:028-86922220。
能干什么: 存储大量结果集数据,低延迟的随机查询。
sql: 结构化查询语言 nosql: 非关系型数据库,列存储和文档存储(查询低延迟),hbase是nosql的一个种类,其特点是列式存储。
非关系型数据库--列存储(hbase) 非关系型数据库--文档存储(MongoDB) 非关系型数据库--内存式存储(redis) 非关系型数据库--图形模型(graph) hive和hbase区别? Hive的定位是数据仓库,虽然也有增删改查,但其删改查对应的是整张表而不是单行数据,查询的延迟较高。
其本质是更加方便的使用mr的威力来进行离线分析的一个数据分析工具。
HBase的定位是hadoop的数据库,电脑培训发现是一个典型的Nosql,所以HBase是用来在大量数据中进行低延迟的随机查询的。
hbase运行方式: standalonedistrubited 单节点和伪分布式? 单节点:单独的进程运行在同一台机器上 hbase应用场景: 存储海量数据低延迟查询数据 hbase表由多行组成 hbase行一行在hbase中由行健和一个或多个列的值组成,按行健字母顺序排序的存储。
NoSQL太火,冒出太多产品了,保守估计也成百上千了。
互联网公司常用的基本集中在以下几种,每种只举一个比较常见或者应用比较成功的例子吧。
1. In-Memory KV Store : Redis
in memory key-value store,同时提供了更加丰富的数据结构和运算的能力,成功用法是替代memcached,通过checkpoint和commit log提供了快速的宕机恢复,同时支持replication提供读可扩展和高可用。
2. Disk-Based KV Store: Leveldb
真正基于磁盘的key-value storage, 模型单一简单,数据量不受限于内存大小,数据落盘高可靠,Google的几位大神出品的精品,LSM模型天然写优化,顺序写盘的方式对于新硬件ssd再适合不过了,不足是仅提供了一个库,需要自己封装server端。
3. Document Store: Mongodb
分布式nosql,具备了区别mysql的最大亮点:可扩展性。mongodb 最新引人的莫过于提供了sql接口,是目前nosql里最像mysql的,只是没有ACID的特性,发展很快,支持了索引等特性,上手容易,对于数据量远超内存限制的场景来说,还需要慎重。
4. Column Table Store: HBase
这个富二代似乎不用赘述了,最大的优势是开源,对于普通的scan和基于行的get等基本查询,性能完全不是问题,只是只提供裸的api,易用性上是短板,可扩展性方面是最强的,其次坐上了Hadoop的快车,社区发展很快,各种基于其上的开源产品不少,来解决诸如join、聚集运算等复杂查询。
像MongoDB, Cassandra, HBase, DynamoDB, 和
Riak这些NoSQL缺乏传统的原子事务机制,所谓原子事务机制是可以保证一系列写操作要么全部完成,要么全部不会完成,不会发生只完成一系列中一两个
写操作;因为数据库不提供这种事务机制支持,开发者需要自己编写代码来确保一系列写操作的事务机制,比较复杂和测试。
这些NoSQL数据库不提供事务机制原因在于其分布式特点,一系列写操作中访问的数据可能位于不同的分区服务器,这样的事务就变成分布式事务,在分
布式事务中实现原子性需要彼此协调,而协调是耗费时间的,每台机器在一个大事务过程中必须依次确认,这就需要一种协议确保一个事务中没有任何一台机器写操
作失败。