`
Tristan_S
  • 浏览: 361520 次
  • 性别: 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之前,我想再唠叨几句。做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了,结果...

    Hadoop HBase数据库简介

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

    4_分布式数据库Hbase1

    1.3 HBase的产生背景 1.3 HBase的产生背景 1.3 HBase的产生背景 1.4 Hbase与传统关系型数据库的联系和区别 1.5 HBase的

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

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

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

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

    7-分布式数据库HBase.ppt

    关系数据库已经流行很多年,并且Hadoop已经有了HDFS和MapReduce,为什么需要HBase? Hadoop可以很好地解决大规模数据的离线批量处理问题,但是,受限于Hadoop MapReduce编程框架的高延迟数据处理机制,使得Hadoop...

    大数据运维技术第7章 HBase组件安装与配置课件.pptx

    HBase相关知识;...既然HBase是数据库,那么数据库从根本上来说就是存储表Table的,但是必须注意HBase并非是传统的关系型数据库(例如:MySQL、Oracle),而是非关系型数据库,因为HBase是一个面向列的分布

    论文研究-关系型数据库到HBase的转换设计 .pdf

    关系型数据库到HBase的转换设计,李青云,余文,云计算的出现促成了大数据这个热点。企业越来越关注和尝试大数据,并开始初有成效。对大多数企业而言,之前的系统都是使用的传统

    大数据云计算技术系列 Hadoop之Hbase从入门到精通(共243页).pdf

    一、 HBase技术介绍 HBase简介 HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统... Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

    基于Hbase的大数据查询优化

    类比于传统型数据库里的一些查询方式,本文对Hbase的存储原理进行了研究,借助分布式计算框架Mapreduce在Hbase上构建了二级索引,就可以对表进行有针对性的定位和高效率的查找,同时也减轻zookeeper服务对资源调度的压力...

    HBase视频教程下载|基于微博数据应用的HBase实战开发

    在大数据热潮中,推出了NoSQL数据库,这种天生就为分布式存储而设计的技术,尤其以Apache HBase为代表,占领海量数据存储技术的大半壁江山。本教视从实战角度出来,向学员们手把手掌握HBase使用精髓,让学员达到如下...

    分布式数据库HBase的架构设计详解

    我们在平时的技术讨论或者实际应用中经常会提到传统数据库。提到传统数据库,很多人会很容易联想到Oracle、MySQL、SQLServer等带有很明显关系型数据库特征的数据库系统。在我看来,传统数据库并不等于这些数据库,...

    面向HBase的大规模数据加载研究

    分布式数据库HBase在大规模数据加载中较传统关系型数据库有较大的优势但也存在很大的优化空间.基于Hadoop分布式平台搭建HBase环境,并优化自定义数据加载算法.首先,分析HBase底层数据存储,实验得出HBase自带数据加载...

    2013年中国数据库大会-04-小米hadoop/hbase微实践

    今年,大会将继续秉承分享IT最佳应用实践的宗旨,围绕大数据应用、数据架构、数据管理(数据治理)、传统数据库软件等技术领域展开深入探讨。 一直以来,数据库架构实践、数据库优化应用等,是备受大家关注的传统...

    大数据干货|Hbase设计与开发实战

    传统的关系型数据库处理方式是基于全面的ACID保证,遵循SQL92的标准表设计模式(范式)和数据类型,基于SQL语言的DML数据交互方式。长期以来这种基于关系型数据库的IT信息化建设中发展良好,但受制于关系型数据库...

    HBase-并发控制机制解析

    作为一款优秀的非内存数据库,HBase和传统数据库一样提供了事务的概念,只是HBase的事务是行级事务,可以保证行级数据的原子性、一致性、隔离性以及持久性,即通常所说的ACID特性。为了实现事务特性,HBase采用了...

    Apache Hadoop---HBase.docx

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

Global site tag (gtag.js) - Google Analytics