大数据仓库-kudu
数据仓库里面存储引擎是非常重要的,存储引擎的好坏,基本决定了整个数仓的基础。
kudu目标
cloudera公司最近发布了一个kudu存储引擎。按照cloudera的想法,kudu的出现是为了解决,hbase,parquet不能兼顾分析和更新的需求,所以需要一个新的存储引擎可以同时支持高吞吐的分析应用以及少量更新的应用。cloudera 的设计目标是:(http://blog.cloudera.com/blog/2015/09/kudu-new-apache-hadoop-storage-for-fast-analytics-on-fast-data/)
• Strong performance for both scan and random access to help customers simplify complex hybrid architectures
在扫描和随机访问两种场景下都有很强的性能,帮助客户简化混合架构。
• High CPU efficiency in order to maximize the return on investment that our customers are making in modern processors
高cpu利用率
• High IO efficiency in order to leverage modern persistent storage
高io效率充分利用现代存储
• The ability to update data in place, to avoid extraneous processing and data movement
支持数据原地更新
• The ability to support active-active replicated clusters that span multiple data centers in geographically distant locations
支持双活复制集群
kudu核心机制
Cloudera有一篇论文描述kudu的机制,Kudu: Storage for Fast Analytics on Fast Data 。可以从http://getkudu.io/kudu.pdf下载。这里简单说下kudu的关键机制。
模仿数据库,以二维表的形式组织数据,创建表的时候需要指定schema。所以只支持结构化数据。
每个表指定一个或多个主键。
支持insert/update/delete,这些修改操作全部要指定主键。
read操作,只支持scan原语。
一致性模型,默认支持snapshot ,这个可以保证scan和单个客户端 read-you-writes一致性保证。更强的一致性保证,提供manually propagate timestamps between clients或者commit-wait。
cluster类似hbase简单的M-S结构,master支持备份。
单个表支持水平分割,partitions叫tablets,单行一定在一个tablets里面,支持范围,以及list等更灵活的分区键。
使用Raft 协议,可以根据SLA指定备份块数量。
列式存储
delta flushes,数据先更新到内存中,最后在合并到最终存储中,有专门到后台进程负责。
Lazy Materialization ,对一些选择性谓词,可以帮助跳过很多不必要的数据。
支持和MR/SPARK/IMPALA等集成,支持Locality ,Columnar Projection ,Predicate pushdown 等。
总结
为应对BI领域少量更新和大量扫描分析场景,kudu 借鉴了很多传统数仓等技术。对这个领域目前是impala+kudu/Hive/Spark SQL/Greenplum MPP数据库在混战,未来这个会走向融合,传统的mpp数据库个人认为会是一个过渡产品。
微信扫一扫
关注该公众号
大数据仓库-kudu相关推荐
- 基于阿里云数加MaxCompute的企业大数据仓库架构建设思路
摘要: 数加大数据直播系列课程主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台. 本次分享嘉宾是来自阿 ...
- Flume在企业大数据仓库架构中位置及功能
Flume在企业大数据仓库架构中位置及功能 hadoop 数据仓库 flume 数据仓库架构 1.如下图所示,外部数据中,关系型数据库导入到HDFS用sqoop,由Nginx产生的文件实时监控用Flu ...
- 大数据仓库技术实训任务2
大数据仓库技术实训--任务2 请按照要求完成以下内容: 1. 启动hadoop,hive start-all.sh hive 2. 在hive中创建数据库empdb和empdb1 create dat ...
- 什么是大数据?漫谈大数据仓库与挖掘系统
什么是大数据?漫谈大数据仓库与挖掘系统 任何比较关注业界新闻的人,都会知道近两年数字信息领域的几个关键字: 移动端.LBS.SNS和大数据(Big Data).前边三个,大家应该是很熟悉的,因为身边早 ...
- 大数据仓库技术实训任务3
大数据仓库实训-任务3 淘宝双11数据分析与预测 案例简介 淘宝双11数据分析与预测课程案例,涉及数据预处理.存储.查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux.MySQL.H ...
- 数据仓库ods层是啥意思_一文读懂大数据仓库建设
文章标签: 数据仓库ods层是啥意思 版权 从传统数仓到大数据平台,MPP数据集市,Hadoop集群,还有混合架构数仓,一直在不断演进,但是万变不离其宗,大框架和方法论终归是那一套.所以本文就来分享数 ...
- 什么是Hive——大数据仓库Hive基础
Hive是什么: Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能:其本质是将HQL转化成MapReduce程序. 构建在Hadoop之上的数据 ...
- 1.8-1.10 大数据仓库的数据收集架构及监控日志目录日志数据,实时抽取之hdfs系统上...
一.数据仓库架构 二.flume收集数据存储到hdfs 文档:http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#hd ...
- 大数据Kudu使用方法
//impala 一条一条插入影响性能,更换成另一个种方式,换成直接调用kuduClient之API,直接插入kudu,加油,小伴伙. package com.gome.ghs.footfall.im ...
最新文章
- sqlserver数据库进行数据和结构比较和同步 Visual Studio2017 数据库架构比较
- drbd(一):简介和安装
- Intel Realsense D435 是否启动pipeline.start()就开始传输帧,还是只有我们调用wait_for_frames()函数时它才会传输帧?(任务管理器USB带宽内存测试)
- mysql数据库 quota_shell脚本抓取用户存储quota写道mysql并展现到grafana面板
- IOS 14.5版本之解档和归档的API学习
- SP22343 NORMA2 - Norma(分治优化复杂度)
- 对比linux终端模式和图形模式,Linux知识-2. Linux初学(CnetOS Linux7)之切换命令模式和图形模式...
- pythonname是什么意思_浅析Python __name__ 是什么
- SVN如何迁移到Git?
- ubuntu自定义安装里怎么选_安装地暖时,地板要怎么选?
- 独立站电商广告和营销洞察
- QQ空间自动发广告解决方法
- 永磁同步电机PI控制器设计
- 科研论文研读工具及英文论文写作
- Layabox 1 layabox的项目文件以及项目配置
- 常用通讯电平转换电路整理
- STM32SD卡实现USB虚拟U盘
- kaggle自动驾驶竞赛铜牌总结:Peking University/Baidu - Autonomous Driving—(Part 1)
- [OHIF-Viewers]医疗数字阅片-医学影像-数字胶片直接下载,不再弹窗进行设置
- 3D美术人员Technical Artist(TA技术美术)的学习之旅(3)
热门文章
- EN 622-2纤维板规范—第二部分:硬木板的要求
- 矩阵的 Frobenius 范数及其求偏导法则
- WEB主机没有正确返回“404”错误页面
- Pycharm 配置pylint
- 亿级高并发电商项目-- 实战篇 --万达商城项目 十二(编写用户服务、发送短信功能、发送注册验证码功能、手机号验证码登录功能、单点登录等模块)
- 小程序开发|uniapp底部导航栏的如何设置
- Android payload注入
- 华创期货:谈谈短线交易远离亏损和骗局
- MySQL基础之这一篇就够了
- html单行文本垂直居中对齐,关于使用line-height单行文本的垂直居中问题