Introducing Apache Kudu

Kudu是cloudera开源的运行在hadoop平台上的列式存储系统,拥有Hadoop生态系统应用的常见技术特性,运行在一般的商用硬件上,支持水平扩展,高可用,目前是Apache Hadoop生态圈的新成员之一(incubating)。

Kudu的设计与众不同,它定位于应对快速变化数据的快速分析型数据仓库,希望靠系统自身能力,支撑起同时需要高吞吐率的顺序和随机读写的应用场景,提供一个介于HDFS和HBase的性能特点之间的一个系统,在随机读写和批量扫描之间找到一个平衡点,并保障稳定可预测的响应延迟。可与MapReduce, Spark和其它hadoop生态系统集成。

Kudu优势在于:

提供快速的全量数据分析与实时处理功能

结构化的数据模型,支持标准SQL语法,支持数据的更新操作。

集成Impala,利用Imapla SQL语法可操作Kudu数据。

与mapreduce、spark以及其它hadoop生态系统集成。

利用Cloudera Manager,方便管理和维护。

高可用。Tablet Servers and Masters利用Raft Consensus Algorithm.确保只要有一半的副本可用,则tablet可用(可读写)。

对数据顺序扫描(scan)和随机访问(random access)同时具有高性能,简化用户复杂的混合架构。

Kudu-Impala整合

CREATE/ALTER/DROP TABLE

Impala支持creating, altering, and dropping tables来操作存储在Kudu上的表。支持内部/外部表, 灵活的数据查询。

INSERT

利用Impala语法,可以将存储在HDFS or HBase上的数据insert into Kudu tables。

UPDATE / DELETE

Kudu支持标准Impala UPDATE and DELETE SQL语法来执行一行或者批量更新/删除数据。除了简单的DELETE and UPDATE外,还支持复杂的join语法,子查询等。

Flexible Partitioning

和Hive分区表一样,Kudu允许你指定hash or range分区。为了达到数据均衡的读写,你可以将any number of主键列进行any number of hash分区,或者使用二者的组合分区。更多信息参见Kudu Schema Design

Parallel Scan

为了充分利用硬件资源,达到最大的性能,Kudu client利用Impala并行化来同时扫描多个Kudu tablets。

For more details,please refer to Impala documentation

概念和术语

Columnar Data Store

Kudu是列式存储系统,列式存储以强类型的columns来存储数据。一个好的设计,可以较好的支持大多数需求的数据分析或数据仓库。

Read Efficiency

对于分析型查询,你可能会查询某一列的部分数据,而忽悠其它列,这意味着,Kudu能尽可能的访问最少的块来获取所需要的数据。使用行存储,即使需要返回部分columns,也可能会扫描所有的row。

Table

Table就是你在Kudu里存储数据的地方,一个Table拥有一个schema。

Tablet

Tablet是存储的最小单位,是Kudu的水平分区,类似HDFS的block,HBase的region。每个Tablet存储着一定连续的表的segment,一张表所有的Tablet包含了该表key的所有空间。一个Tablet在Tablet servers里面是多副本持久化,任何tablet都是读写一致的。

Tablet Server

tablet server上存了多个Tablets,每个Tablet有多个副本存放在不同的Table Server上,每个Tablet副本同时只有一个Leader,Leader对用户提供写操作,然后同步给其它follower,其它follower只提供读服务,不提供写服务。当Leader节点发生故障后,通过算法 Raft Consensus Algorithm来重新选举Leader节点。 One tablet server can serve multiple tablets, and one tablet can be served by multiple tablet servers。

Master

类似HDFS的NameNode, Master负责管理元数据。这些元数据包括talbet的基本信息,位置信息。Master还作为负载均衡服务器,监听Tablet Server的健康状态,对于副本数过低的Tablet,Master会起replication任务来提高其副本数。Master的所有信息都cache在内存中,因此速度非常快。每次查询都在百毫秒级别。Kudu支持多个Master,不过只有一个active Master,其余只是作为灾备,不提供服务。

Catalog Table

Catalog table is the central location for metadata of Kudu。不能直接的对Catalog table进行读写,而只能通过Client API操作。Catalog table存储着Tables and Tablets的元数据信息:

Tables:table schemas, locations, and states。

Tablets:存在的tablets列表, tablet的当前状态,start and end keys。

Apache Kudu 简介相关推荐

  1. kudu简介与操作方式

    kudu简介与操作方式 0.932018.06.09 16:13:35字数 750阅读 30042 1.kudu整体介绍 Kudu是cloudera开源的运行在hadoop平台上的列式存储系统,拥有H ...

  2. Apache Kudu 1.9.0 发布,支持位置感知

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   Apache Kudu 1.9.0 发布了,Kudu 是一个支持结构化数据的开源存储引擎,具有低延迟随机读取与高效分析读取模式.它基于 Ap ...

  3. 独家 | 一文读懂Apache Kudu

    前言 Apache Kudu是由Cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力.Kudu支持水平扩展,使用Raft协议进行一致性保证,并且与Cloudera Impa ...

  4. Apache Mahout 简介

    Apache Mahout 简介 通过可伸缩.商业友好的机器学习来构建智能应用程序 当研究院和企业能获取足够的专项研究预算之后,能从数据和用户输入中学习的智能应用程序将变得更加常见.人们对机器学习技巧 ...

  5. 未明确定义列存储过程没问题_使用Apache Kudu和Impala实现存储分层

    当为应用程序的数据选择一个存储系统时,我们通常会选择一个最适合我们业务场景的存储系统.对于快速更新和实时分析工作较多的场景,我们可能希望使用 Apache Kudu ,但是对于低成本的大规模可伸缩性场 ...

  6. 使用Apache Kudu和Impala实现存储分层

    为什么80%的码农都做不了架构师?>>>    当为应用程序的数据选择一个存储系统时,我们通常会选择一个最适合我们业务场景的存储系统.对于快速更新和实时分析工作较多的场景,我们可能希 ...

  7. Apache Ant 简介和配置

    Apache Ant 简介 Apache Ant是目前事实上的Java应用的标准build脚本工具.使它大受欢迎的一个主要愿意是它的和灵活,允许程序员创建自己的Task来对Ant进行扩展. 本文主要内 ...

  8. Apache Kudu 1.15.0的分布式集群部署

    目录 1. 部署规划 2. 部署要求 2.1 硬件要求 2.2 软件要求 2.3 安装依赖 3. 从源码编译(kudu1上操作) 3.1 安装Red Hat Developer Toolset 3.2 ...

  9. Apache CXF 简介

    Apache CXF 简介 开放源代码的服务框架 本教程介绍了 Apache CXF 服务框架的基本知识,并通过讲解自带的例子来初步体验通过 CXF 进行服务的发布与消费:然后搭建基于 Eclipse ...

最新文章

  1. Jquery通过ajax请求NodeJS返回json数据
  2. boost::geometry::discrete_frechet_distance用法的测试程序
  3. 南京php培训班哪家,南京PHP培训中心哪家比较专业
  4. 你可能不知道的小知识-bug为什么叫bug
  5. 数学--数论--四大定理之威尔逊定理
  6. 《Head First设计模式》批注系列(一)——观察者设计模式
  7. 对于这款APP,我充了个终身VIP!!!
  8. codeblock不能调试
  9. matlab矩阵元素绝对值,如何解决矩阵内部元素绝对值化
  10. 华为设备离线什么意思_华为手机中的P、Mate、nova分别是什么意思?看完你全懂了...
  11. android控制软键盘显示与隐藏
  12. 2021年电工杯B题附代码、附论文——光伏建筑一体化板块指数发展趋势分析及预测
  13. displaytag 国际化 探索日志 注释
  14. FT232R国产替代GP232RLUSB2.0串口芯片
  15. 计算机应用物联网应用技术论文,计算机应用技术论文:物联网垃圾回收站设计与实现...
  16. 怎么把台式电脑的大量数据快速迁移到笔记本
  17. 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
  18. python xlsx文件与csv文件转换
  19. 几本关于用户体验的书籍
  20. 【已解决】部分安卓手机,部分ios机型,调微信的jssdk方法失败

热门文章

  1. 网页中动态GIF图片不动的问题
  2. 量子隐形传送(Quantum Teleportation)初学
  3. Integration Architecture
  4. 关于华为P40的博客营销实践
  5. 部署Kubernetes集群 - v1.18.1
  6. Opensim教程3-缩放,逆运动学,逆动力学
  7. 近5千侦探脑筋急转弯选择题ACCESS数据库
  8. dnsmasq no body user or group
  9. java微信昵称表情_java 微信昵称emoji表情保存失败 无法存入数据库(二)
  10. short—溢出问题