Apache Kudu 读后感

  • 时间:
  • 浏览:7

        其在文章开始了了说因此 用户想完成数据在线写入,因此 又要分析,没几块 独立的软件不能完成(关系数据库就没提了,觉得某些写入能力还是可不想能的,比如TokuDB),常见的架构是写入HBase因此 导入到HDFS分析,因此 写入Kafka,因此 分别分入HBase和HDFS进行分析,作者认为你是什么 架构有如下匮乏:

        Kudu对PK做了唯一性约束,也本来我每次写会检查算不算存在,是在引擎层做的,这似乎都有个很好的设计,做的太硬了。

[1] Kudu: http://getkudu.io/

        全都 大伙儿 就要做一款删改正确处理里面现象报告 的产品了,Kudu大羚羊诞生。

        文中都看了几块 东西叫做Fractured Mirrors(很早别人提的), 你是什么 想法觉得妙,三份replica的底层存储引擎可不想能不同,比如replica A更好的支持随机读,replica B更好的支持批量读,那我 就可不想能在不同的场景中充分的利用各个replica的能力,在产品架构上,分层和垂直的设计半斤八两不分上下。

        A new addition to the open source Apache Hadoop ecosystem, Apache Kudu (incubating) completes Hadoop's storage layer to enable fast analytics on fast data.

        其目标是变快的分析数据,在多处的介绍里面也都看其希望弥补HDFS和HBase之间的gap,前者是重离线批量,后者中在线随机,今天都看下Kudu的论文[2],记录感想。

        Kudu也要做compaction来移除无效数据,因此 分派数据以便优化读,这里其将数据文件切小,再添加很好的优先级控制和某些启发式算法,对各个replica的时机也做控制,那末还是能做到尽量少的影响业务。

        Kudu支持MVCC做事务控制,不过事务你是什么 段写的太模糊,写了靠token机制,也写了靠同类Spanner的commit-wait(根本上来说,同步可不想能不能 五种,五种是消息,本来我你可不想能打个电话告诉你点事情;五种基于几块 一同的时间,比如约定7点开战,commit wait是后五种),我本来我知道到底要干嘛。

        4. 时效性:跟一致性是同类现象报告 ,因此 是异步队列因此 定期拉数据,那末就可不想能 实时的分析此类的数据。

        整体而言,Kudu似乎想做几块 集合OLTP/OLAP的东西,在线写入,高可用,可选的一致性,即时快速的扫描分析,好嘛。大一统的产品可不想能做成要打个问号,不过我我人及倒觉得因此 沿着这条路,MySQL同类的产品们希望更大。

[2] Kudu 论文:http://getkudu.io/kudu.pdf

        2. 安全:猜测作者主要意思是数据在各个组件间流动,那末因此 有一款组件安全性做的不好,都有导致 分析数据泄露的风险;

Kudu[1]是Apache下几块 新开源产品,其介绍

        Kudu那末使用同类HDFS的共享存储,本来我我人及管理磁盘,这当然助于做将事情做到极致且助于快速推进,不过我人及管理磁盘,数据一键复制也都有那末容易的。

        Kudu支持基于Raft协议提高可用性,支持动态增加、减少replica个数。你是什么 好理解,反正存储都我人及做了,几块 删改的垂直产品,搞Raft是天经地义,MySQL兄弟们啥很久推出来你是什么 ?

        1. 简化:这不想讲了,几块大伙儿 伙一同肯定都有那末好追到的;

        Kudu从整体看是列存储,本来我列数据之间是分开存储的,那我 扫描的很久因此 只需用扫描次要列就会比较快(大块扫描场景);

        Kudu是强schema的,那我 系统都有了更多的信息,可不想能进行更好的编码压缩,比如bitvector同类的,都有传统数据库早就发明的;

        Kudu支持range和hash五种最好的土办法对数据进行分片,这是个用户友好的选折 ,技术方案上差别不大;

        3. 一致性:里面方案中的数据同步机制一般都有通过异步队列进行的,存在一定的延时性,全都 数据源和数据目标之间会有一次要数据不一致;