• 大马猴
    2018-11-29
    提一个建议,大家尽量发一些跟技术主题相关的评论,这才是对作者劳动成果的尊重,也请作者少放那些吹捧和自说自话的评论,提高阅读体验。
    
     54
  • Kaer
    2018-11-29
    1:列族不好查询,没有传统sql那样按照不同字段方便,只能根据rowkey查询,范围查询scan性能低。2:查询也没有mysql一样的走索引优化,因为列不固定 3:列族因为不固定,所以很难做一些业务约束,比如uk等等。4:做不了事务控制
    
     38
  • 纯齐
    2018-11-29
    文中提到hbase数据的修改在内存中处理,就是说如果机器断电的话数据会丢失,请问hbase有没有措施来保证数据不丢失?
    
     16
  • 夏一Sunny
    2018-11-29
    对于LSM树的合并和高效,还是不太理解。
    
     15
  • special
    2018-12-21
    看了十多篇文章了,大都是从大数据领域相关技术的特点,原理及应用场景等方面来阐述,讲得很不错,不过有不少内容需要具备一定的大数据实践及理论基础才能很好的吸收,文章没有针对大数据相关框架或工具的实践介绍,比如环境搭建,操作使用等。这也可以理解,这些放在文章中进行介绍也不大合适。
    我最近学习了大数据快一年了,对于大数据领域的常用工具,如hdfs,hbase,mapreduce,yarn,hive,sqoop,pig,flume,storm,spark等的实践内容,如环境搭建,架构原理,基本操作,Java基本编程等,做了总结,全部以文章的形式发表在个人公众号里:程序猿的修身养性,有兴趣的朋友可以关注下,一起交流学习!
     1
     14
  • shangyu
    2018-11-30
    内存写操作 如何保证突然掉电的话不丢数据呢

    作者回复: 还有一个写操作日志记录数据,所以数据不会丢,但是宕机恢复需要时间,就是根据日志恢复数据,这段时间部分数据更新访问不到。

     1
     9
  • Jowin
    2018-12-01
    列族数据组织方式的缺点:
    1)在需要读取整条记录的时候,需要访问多个列族组合数据,效率会降低,可以通过字段冗余来解决一些问题。
    2)只能提供Key值和全表扫描两种访问方式,很多情况下需要自己建耳机索引。
    3)数据是非结构化,或者说是半结构化的,应用在处理数据时要费点心,不像关系数据库那么省心。

    在数据完全结构化,很少变动,需要事务的场景使用Mysql等关系数据库比较合适。
    展开
    
     8
  • 伊森
    2018-11-29
    李老师,hbase对olap的分析场景支持不行吧?这也是我正想问的问题,一般都咋么解决,那种可变化的数据的实时统计分析场景的?
    
     8
  • 足迹
    2018-11-29
    hbase不支持二级索引,只能通过类似es这样的组件来实现。还是就是事务处理。所以一般oltp还是选择关系型数据库。
    
     3
  • 毛毛
    2018-11-29
    外行人强答一下。
    我记得parquet文件的大小和列数有很大关系。如果可以随便增加列,文件会变得很大,增加的列可能包含的数据很少。
    个人感觉这种可拓展性强的数据库更适合类似于电商的情况多变的业务。
    
     3
  • 往事随风,顺其自然
    2018-11-29
    LSM树的合并过程是咋样的,还有分区是怎么分的,存储到不同节点上
    
     3
  • why
    2019-05-06
    1,什么是HBASE?
    Google三驾马车之BigTable的开源实现,配合HDFS,实现了数据的分布式海量存储。
    2,为什么会出现HBASE?
    传统关系型数据库,关系模型绑架对象模型、僵硬的约束设计及设计范式使得存储数据包含了一部分业务逻辑,而且糟糕的海量数据处理能力引出了各种NoSql设计,HBASE简单粗暴,数据库就是存储数据,业务由应用去处理。
    3,HBASE设计特点?
    a,可伸缩
    HBASE以key的区域进行分片形成HRegion(HBASE数据管理的基本单位),一个HRegion中数据量超过阈值,会一分为二,并在集群中进行负载均衡。
    数据读写:application Zookeeper HMaster HRegionServer HRegion HFile
    b,可扩展数据模型
    列族设计,具体字段(column)在写入时指定,轻松支持百万字段的扩展
    c,高性能存储
    数据写入时通过log连续写入,异步与磁盘上的多个LSM树进行合并。
    数据写操作(i,u,d)都在内存中进行(也是一颗排序树),超过内存阈值,与磁盘上最新的LSM树合并
    展开
    
     2
  • 暴风雪
    2018-12-02
    根据老师的说法,LSM数据先是存储在内存中,当到达阈值的时候才会和磁盘合并(个人理解为序列化),当时如何保证断电的时候,内存中的数据会丢失的问题?
    
     2
  • 落叶飞逝的恋
    2018-11-30
    其实所谓的列组就是相当于定义一个范围宽泛一点的名称定义的JSON。比如课程成绩。就是一个宽泛的定义,使用这种就是能方便的进行动态扩展。不像传统的关系型数据库就需要定义数学成绩、英语成绩等具体科目字段。但是虽然列祖能解决动态扩展,但是对于查询不友好,特别是查询单科成绩,需要解析这个课程成绩的JSON,再筛选出单科。而传统关系型数据库就能精准快速的查询出来。这两个可以互取长处使用。
    
     2
  • 胡家鹏
    2018-11-29
    “HRegion 是 HBase 负责数据存储的主要进程,应用程序对数据的读写操作都是通过和 HRetion 通信完成。”没有看到HRetion

    作者回复: 拼写错误,尽快改正,谢谢纠正

    
     2
  • Tomcat
    2019-04-12
    批处理是对历史大量数据的离线计算处理,而流计算则是对实时流入的数据进行实时响应。

    Storm模仿消息队列的处理方式,并进行了也许和技术的抽象,使得业务和技术分离,这是一种典型的架构设计方式。而且,storm 也采用了主从架构默契,很好的贯彻了分布式的典型思路。

    Spark Stream 主要是使用了Spark Stream 的数据分段作用,如果在分片的时间足够短,那么数据就不会太大,然后将分段分片后的少量数据,提交给Spark 处理,就会在毫秒级得到结果。

    Flink的主要思想则跟Spark 反过来,也就是说,在Flink的世界里,流是一等公民,而批处理只能退而其次。
    展开
    
     1
  • 足迹
    2018-12-09
    HBase是基于HDFS存储的,那实际应用中是不是应该每台DataNode节点安装一个Region?

    作者回复: 每个DataNode安装多个hregion

    
     1
  • 李印
    2018-12-09
    列族存储,对于复杂的条件查询、数据筛选支持不足。还有就是数据的分组聚合、求和等的操作。
    
     1
  • 风中有个肉做的人
    2018-12-04
    传统业务还是使用关系数据库,列结构没啥使用经验,想想聚合计算不方便
    
     1
  • 杰之7
    2018-12-01
    通过本节学习了代表NoSQL的Hbase,Hbase可通过HDFS分区对海量数据进行分布式存储,具有可伸缩的特性。同时,具有MySQL等关系数据库不具备的可拓展模型。Hbase通过LSM树结构满足高性能储存。最后,我认为关系数据库发展到今天依然是数据库的主流,具备了其他类型的数据库不具有的特征,所以NoSQL数据库是关系数据库的补充,而不是替代。
    
     1
我们在线,来聊聊吧