`
Tristan_S
  • 浏览: 378637 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hbase 与传统数据库的区别

 
阅读更多
hbase最大的不同
1, 没有索引,没有查询语句,所有的访问都是通过id的
id中会有很多查询逻辑,需要重点考虑

2, 用名值对来存放数据(行健,列族,列修饰符,时间,值)
没有列的概念,随性的定义列名,列名甚至能作为数据来存储

3, 反规范化,用冗余的数据来避免join查找,增加读的性能, 但写入时需要更新多个副本
传统数据的是规范化的,方便写,重复的信息会放在独立的表中。

4, 数据存放的不是文本,而是byte数组,需要用UTF-8来转义


-----hbase 特点-----
1, 宽表 高表
当用户关注某些人的时候可以用宽表设计
column qualifier是数字 value是被关注人
follows
TheFakeMT1:RealMT2:MTFanBoy3:Olivia4:HRogers

如果要添加一个被关注人,需要当前的qualifier,必须在某个地方维护
follows
TheFakeMT1:RealMT2:MTFanBoy3:Olivia4:HRogerscount:4

计算的逻辑会让客户端很复杂
将被关注人放在qualifier中, value随便给
follows
TheFakeMTRealMT:1MTFanBoy:1Olivia:1HRogers:1

但是无法得到计数

高表
f
MD5(TheFakeMT)+MD5(RealMT)from:TheFakeMTto:RealMT
MD5(TheFakeMT)+MD5(MTFanBoy)from:TheFakeMTto:MTFanBoy
MD5(TheFakeMT)+MD5(Olivia)from:TheFakeMTto:Olivia
MD5(TheFakeMT)+MD5(HRogers)from:TheFakeMTto:HRogers

副作用 如果用户更新了他们的用户名,必须在本表中更新所有的名字,典型的反规范化处理。
所以微信中不允许修改用户名

question 为什么不能在一个qualifier中存放所有的被关注人,用特殊符合分割?
-- 如果增加一个被关注人的话需要将原来的被关注人重新update下。

2, 协处理器
observer 类似于 trigger
endpoint 类似于 存储过程  -- 在聚合中会使用到


分享到:
评论

相关推荐

    HBase专场:HBase在时序数据库中的应用(悠你).pdf

    通过专家悠你123的介绍,我们可以看到HBase不仅在传统数据库难以应对的时序数据场景中展现出了强大的能力,还在成本、性能和可扩展性方面具有显著优势。HiTSDB等时序数据库的优化方案进一步证明了HBase在特定领域的...

    Hbase与传统数据库的区别

    在说HBase之前,我想再唠叨几句。做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了,结果...

    MyHBase_一种基于Hbase的NewSQL数据库的设计与实现

    这表明MyHBase作为一种新型数据库存储引擎,具备了与传统数据库竞争的实力,尤其是在处理大数据和需要高度扩展性的应用场景中。 本文中提到的关键技术,如列式存储、缓存配置、查询优化、以及与MySQL的集成,共同...

    搭建HBase完全分布式数据库

    4. HRegion:由多个HStore组成,是HBase分布式存储和负载均衡的最小单位,相当于传统数据库中的表分区。 5. Hlog(WAL,Write-Ahead Log):HBase使用日志文件来保证数据的持久性和一致性,日志在发生故障时提供...

    HBase数据库设计.doc

    2. **列导向**:与传统的关系型数据库不同,HBase以列族为单位存储数据,这使得数据读取更加高效,尤其适合大数据分析场景。 3. **实时读写**:HBase支持实时的数据读写操作,适合在线服务和大数据实时处理。 4. **...

    hbase数据库

    1. 数据类型多样:互联网上的数据类型多样,包括结构化和半结构化的数据,而传统数据库往往无法高效处理这些数据类型。 2. 数据规模庞大:不论是数据量还是用户数量,互联网应用产生的数据规模极其庞大,传统数据库...

    基于HBase的分布式空间数据库技术

    HBase采用列存储模型,与传统的关系型数据库按行存储不同,列存储可以更有效地处理大量数据的读写操作,尤其在处理具有大量列的数据集时,性能表现更佳。 GeoHash是一种地理空间数据的编码方法,它可以将地理坐标...

    Hbase数据库的发展

    HBase借鉴了Google BigTable的设计理念,旨在解决传统关系型数据库在处理大规模数据时所遇到的问题,尤其适合存储非结构化或半结构化的数据。 - **面向列的存储**:HBase采用了面向列的存储模型,这使得它可以高效...

    基于HBase的医疗卫生数据中心构建与异构数据库同步研究

    首先,本文分析了当前医疗卫生信息数据中心的规模及需求,通过对比传统关系数据库与NoSQL数据库之间的差异,着重指出了NoSQL数据库(尤其是HBase)在构建医疗卫生信息数据中心方面的适用性。由于NoSQL数据库能够更好...

    HBASE数据库.docx

    HBase是一款基于Google Bigtable设计理念的开源分布式数据库,由Apache Hadoop项目开发,主要用于处理大规模数据。它是NoSQL数据库的一种,特别适合存储结构化和半结构化的松散数据。HBase构建在Hadoop的分布式文件...

    Hadoop HBase数据库简介

    HBase 和传统关系数据库不同,它采用了 BigTable 的数据模型增强的稀疏排序映射表(Key/Value ),其中,键由行关键字、列关键字和时间戳构成。 HBase 提供了对大规模数据的随机、实时读写访问。HBase 的目标是存储...

    hadoop大数据平台技术与应用---第5章分布式数据库HBase.pdf

    HBase的列是由列族和列族限定符构成的,这与关系型数据库的列概念有所区别,更加适合分布式存储和处理。数据的组织方式使得它能够存储大量数据,同时支持列式存储和数据的多版本管理。 HBase的体系结构设计使其具备...

    第4章-分布式数据库HBase.pdf

    HBase作为分布式数据库的核心概念和知识点可以详细阐述如下: 1. 分布式存储系统BigTable的概念...它在大数据生态体系中的地位及对传统数据库的补充和扩展,使得它成为当前大数据存储和实时处理领域中的一个重要工具。

    hbase-1.1.5-bin版本的压缩包,下载到本地解压后即可使用 HBase 是一个开源的、分布式的NoSQL数据库

    与传统的关系型数据库类似,HBase 也以表的形式组织数据,表也由行和列组成;不同的是,HBase 有列族的概念,它将一列或者多列组织在一起,HBase 的每一个列都必须属于某个列族。 HBase 是一个可以进行随机访问的...

    hive、Hbase、mysql的区别.docx

    - 数据存储:Hive的数据存储在HDFS中,而传统数据库如MySQL可以存储在本地文件系统或块设备上,数据存储更灵活。 - 数据格式:Hive允许用户自定义数据格式,无需转换即可加载,而数据库有自己的存储格式。 - 数据...

    hbase-1.2.1-bin.tar的压缩包,下载到本地解压后即可使用 HBase 是一个开源的、分布式的NoSQL 数据库

    与传统的关系型数据库类似,HBase 也以表的形式组织数据,表也由行和列组成;不同的是,HBase 有列族的概念,它将一列或者多列组织在一起,HBase 的每一个列都必须属于某个列族。 HBase 是一个可以进行随机访问的...

    hbase与rdbms比较

    下面我们将详细比较HBase与RDBMS的区别与联系。 RDBMS的优点 RDBMS(Relational Database Management System)是传统的关系数据库管理系统,具有以下优点: 1. 持久性:RDBMS提供了持久性的数据存储,确保数据的...

    大数据技术原理与应用-第四章-分布式数据库HBase(2016年1月28日版本).ppt

    HBase与传统关系数据库的主要区别在于: 1) 数据类型:HBase采用简单数据模型,存储未解释的字符串,而关系数据库有丰富的数据类型。 2) 数据操作:HBase操作简单,无复杂表连接,而关系数据库支持复杂的多表操作。 ...

Global site tag (gtag.js) - Google Analytics