zoukankan      html  css  js  c++  java
  • HBase分享会议笔记

    今天参加了一个关于HBase的分享,有一些内容是之前的知识的补充。

    之前关于Hadoop家族,包括HBase的内容,可以参考:http://www.cnblogs.com/charlesblc/p/6014158.html

    HBase是三维存储和索引 (http://ronxin999.blog.163.com/blog/static/4221792020130109202973/

    hbase所谓的三维有序存储的三维是指:rowkey(行主键),column key(columnFamily+qualifier),timestamp(时间戳)三部分组成的三维有序存储。

    rowkey

    rowkey是唯一能进行scan操作的。

    column key
    column key是第二维,数据按rowkey字典排序后,如果rowkey相同,则是根据column key来排序的,也是按字典排序。
    我们在设计table的时候要学会利用这一点。比如我们的收件箱。我们有时候需要按主题排序,那我们就可以把主题这设置为我们的column key,即设计为columnFamily+主题.,这样的设计。

    timestamp
    timestamp 时间戳,是第三维,这是个按降序排序的,即最新的数据排在最前面。这个就没有什么说的了。网上其他的博客也提到比较多。

    HBase所在的层次要了解。

    写的顺序,要了解:首先是写WAL,相当于Mysql的binlog;然后数据写Memstore,当Memstore满了之后进行Dump到HFile;注意Memstore有多份,当一份写满了,新开一个Memstore,同时旧的dump到File? (也可能不像分享里面说的,其实不开新的Memstore;而是每个region的列族都有单独的memstore对象但实际上共用一块内存池?)

    分享的应用是把HBase 和 ES(ElasticSearch) 结合起来的。HBase作为底层存储,ES作为索引的组织和检索框架。

    再开一篇文章讨论 ES和Solr的关系和区别。

  • 相关阅读:
    jvm 更多链接
    JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )
    python 排序
    python 第K个语法符号
    python conf.ini 文件的使用
    python 表示数字
    window 下安装redis
    python redis相关操作
    python 矩阵乘法
    python 查找两个字符串a,b中的最长公共子串
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6233860.html
Copyright © 2011-2022 走看看