HBase中表的特点
大: 一个表可以由百亿行,上百万列(列多时,插入变慢)

面向列:面向列(族)的存储和权限控制,列(族)独立检索
稀疏:对于为空(null) 的列,并不占用存储空间,因此表可以设计的非常稀疏。
多版本:每个Cell中的数据可以由多个版本,默认情况下版本号自动分配为时间戳。
类型唯一:HBase中的数据都是字符串,没有类型
 
 
 
所以。。。。   列限定符那么多,朋友么多。
 
 
 
大数据强调 3V特性,Volume(量级)  Varity(种类)  Velocity(速度)
大部分公司只是刚刚开始理解大数据。人们将大部分时间花在20%的结构化数据上,但事实是80%的数据是非结构化的。
NoSQL的数据库优势
1 扩展性强
2 并发性能好
    NoSQL大数据量下性能好得益于它的弱关系性,数据库的结构简单。
  一般MySQL使用Query Cache,每当发生更新操作时,Cache就会实效,这是一种大粒度的Cache 在针对web2.0的交互中频繁应用,Cache性能并不高。而NoSQL的Cache是记录级的,是一种细粒度的Cache所以NoSQL在这个层面上来说性能要高很多。
3数据模型灵活

Hbase 特性
Hbase作为一个典型的NoSQL数据库,仅支持单行事物。Hbase设计目标主要依靠横向扩展,通过不断增加廉价的商用服务器来增加计算能力。
1 容量巨大
HBase单表可以有百亿行、百万列,数据矩阵横向和纵向两个纬度所支持的数据量级都非常具有弹性。  千万列亿级可能会超时。 如果限定列则不会出现超时问题
2 面向列
HBase是面向列的存储和权限控制,并支持独立检索。
列式存储 其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数据量。 比如一个字段的数据聚集存储。就更容易为这种聚集存储设计更好的压缩算法。

【】传统的行式数据库特性如下:【】
  数据是按行存储的
  没有索引的查询使用大量的I/O.
  建立索引和物化视图需要花费大量的时间和资源
  面对查询需求,数据库必须被大量膨胀才能满足需求
【】列式数据库的特性【】
  数据按列存储,即每一列单独存放。
  数据即索引
  只访问查询涉及的列,可以大量降低系统I/O
  每一列由一个线索来处理,即查询的并发处理性能高。
  数据类型一致,数据特征相似,可以高效压缩。

列式存储不但解决了数据稀疏性问题,最大程度节省存储开销,而且在查询发生时,仅检索查询涉及的列,能够大量降低磁盘I/O.  这些特性也支撑HBase 能够保证一定的读写性能。

3 稀疏性
大多数情况下,行式存储的数据往往是稀疏的,即存在大量为空(null)的列,而这些列都是占用存储空间的,这就造成存储空间的浪费。对HBase来讲,为空的列并不占用存储空间,因此,表可以设计的非常稀疏。

4 扩展性
底层依赖于HDFS. 同时,HBase的 Region 和 RegenServer 的概念对应的数据可以分区,分区后数据可以位于不同的机器上,所以在HBase 核心架构具备可扩展性。 Hbase的扩展性是热扩展,在不停止现有服务的情况下,可以随时添加或减少节点。

5 高可靠性
1 WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失: Replication 机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。而且HBase底层使用HDFS HDFS本身也有备份。

6 高性能
底层的 LSM 数据结构和Rowkey有序排列等架构上的独特设计,使得Hbase具有非常高的写入性能。Region 切分、主键索引和缓存机制使得 HBase在海量数据下具备一定的随机读取性能,该性能针对 Rowkey 的查询能够到达毫秒级别。 同时HBase对于高并发的场景也具备很好的适应能力。该特性也是业界众多公司选取HBase作为存储数据库的非常重要的一点  
                             rocky  

一、 Hbase特性 3v特性,Volume(量级) Varity(种类) Velocity(速度)的更多相关文章

  1. [C#]Attribute特性(3)——AttributeUsage特性和特性标识符

    相关文章   [C#]Attribute特性 [C#]Attribute特性(2)——方法的特性及特性参数 AttributeUsage特性 除了可以定制自己的特性来注释常用的C#类型外,您可以用At ...

  2. [C#]Attribute特性(2)——方法的特性及特性参数

    上篇博文[C#]Attribute特性介绍了特性的定义,类的特性,字段的特性,这篇博文将介绍方法的特性及特性参数相关概念. 3.方法的特性 之所以将这部分单列出来进行讨论,是因为对方法的特性查询的反射 ...

  3. swift 声明特性 类型特性

    原文地址:http://www.cocoachina.com/newbie/basic/2014/0612/8801.html 特性提供了关于声明和类型的很多其它信息.在Swift中有两类特性,用于修 ...

  4. HBase篇(1)-特性与应用场景

    [每日五分钟搞定大数据]系列,HBase第一篇 结束了Zookeeper篇, 接下来我们来说下Google三驾马车之一BigTable的开源实现:HBase,要讲的内容暂定如下: 这是第一篇我们先不聊 ...

  5. C#4.0图解教程 - 第24章 反射和特性 – 2.特性

    1.特性 定义 Attribute用来对类.属性.方法等标注额外的信息,贴一个标签(附着物) 通俗:给 类 或 类成员 贴一个标签,就像航空部为你的行李贴一个标签一样 注意,特性 是 类 和 类的成员 ...

  6. C++2.0新特性(一)——<特性认知、__cplusplus宏开启、Variadic Templates 、左右值区分>

    一.新特性介绍 2.0新特性包含了C++11和C++14的部分 1.2 启用测试c++11功能 C++ 标准特定版本的支持,/Zc:__cplusplus 编译器选项启用 __cplusplus 预处 ...

  7. 第二季第十天 es6新特性新特性

    1.set的应用(去重)js标准内置对象 适用范围:String,Array(数字基本数据类型不可以) set的方法:例子 var s = new Set(data) 增加:  s.add(data) ...

  8. 20130625修改hbase的hbase-env导致导出器导出数据的速度变慢

    将hbase的 export HBASE_OPTS="-ea -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode" 改为 export ...

  9. Redis(一):NoSQL入门和概述

    NoSQL入门和概述目录导航: NoSQL入门概述 3V+3高 当下的NoSQL经典应用 NoSQL数据模型简介 NoSQL数据库的四大分类 在分布式数据库中CAP原理CAP+BASE NoSQL 入 ...

随机推荐

  1. swift语言点评十五-$0

    import UIKitimport XCPlayground class ViewController: UIViewController { func action() { print(" ...

  2. WebKit.NET-0.5简单应用

    最近想用c#做个简单的浏览器工具,但是网站一些内容不支持c#内置的WebBowser控件,于是只能改用其他内核浏览器进行开发,搜索到WebKit.NET这个封装好的浏览器引擎,需求的功能也都有,于是用 ...

  3. virtual box虚拟机在linux下设置共享文件夹

    使用的虚拟机版本是:VirtualBox-5.2.8-121009 使用的linux版本是:Ubuntu 12.04.5 LTS 和 Linux Mint 19 Tara 1. 安装增强功能包(Gue ...

  4. V$ASM_OPERATION

  5. C++primer读书笔记11-多态

    多态也是C++中的一个重要的方面.多态和动态类型,虚函数本质上是指同样的事情. 1 虚函数 类中的成员函数原型前面加上virtual 表面这个函数是个虚函数.虚函数的目的是为了在继承它的派生类中又一次 ...

  6. linux程序设计——个人总结

    linux程序设计--个人总结 到今天为止,<linux程序设计>学习基本完毕了.从五月下旬開始接触linux,学习安装Ubuntu14.04,六月份開始学习<linux程序设计&g ...

  7. BZOJ 3600 替罪羊树+线段树

    思路: 当然是抄的黄学长的题解啦 //By SiriusRen #include <cstdio> #include <algorithm> using namespace s ...

  8. SecondaryNameNode合并元信息过程

  9. 【深入篇】自定义ExpandableListView,实现二级列表效果

    先看效果图: 上图是我们要实现的效果,那么现在我们开始着手去做,主要分为以下几步: 一丶我们需要根据效果图去思考该如何动手,从上图分析看,我们可以用一个相对布局RelativeLayout来完成gro ...

  10. OpenGL编程(五)绘直线以及分析绘直线的算法

    这次主要实现在窗口上绘制点.线以及修改其属性,另外还会分析画直线的原理和相关算法. 1.在窗口指定位置画点 glBegin(GL_POINTS); glEnd(); 使用glBegin()和glEnd ...