Kudu底层数据模型

3 篇文章 0 订阅
订阅专栏

Kudu的底层数据文件的存储,未采用HDFS这样的较高抽象层次的分布式文件系统,而是自行开
发了一套可基于
Table/Tablet/Replica视图级别的底层存储系统。
这套实现基于如下的几个设计目标:
• 可提供快速的列式查询
• 可支持快速的随机更新
• 可提供更为稳定的查询性能保障

一张表会分成若干个tablet,每个tablet包括MetaData元信息及若干个RowSet,RowSet包含一
个MemRowSet及若干个DiskRowSet,DiskRowSet中包含一个BloomFile、Ad_hoc
Index、BaseData、DeltaMem及若干个RedoFile和UndoFile(UndoFile一般情况下只有一个)。
MemRowSet:用于新数据insert及已在MemRowSet中的数据的更新,一个MemRowSet写满后会将数据刷到磁盘形成若干个DiskRowSet。每次到达32M生成一个DiskRowSet。
DiskRowSet:用于老数据的变更(mutation),后台定期对DiskRowSet做compaction,以删除没用的数据及合并历史数据,减少查询过程中的IO开销。
BloomFile:根据一个DiskRowSet中的key生成一个bloom filter,用于快速模糊定位某个key是否在DiskRowSet中存在。
Ad_hocIndex:是主键的索引,用于定位key在DiskRowSet中的具体哪个偏移位置。
BaseData是MemRowSet flush下来的数据,按列存储,按主键有序。
UndoFile是基于BaseData之前时间的历史数据,通过在BaseData上apply UndoFile中的记录,可以获得历史数据。
RedoFile是基于BaseData之后时间的变更(mutation)记录,通过在BaseData上apply RedoFile中的记录,可获得较新的数据。
DeltaMem用于DiskRowSet中数据的变更mutation,先写到内存中,写满后flush到磁盘形成RedoFile。


MemRowSets可以对比理解成HBase中的MemStore, 而DiskRowSets可理解成HBase中的HFile。MemRowSets中的数据按照行试图进行存储,数据结构为B-Tree。
MemRowSets中的数据被Flush到磁盘之后,形成DiskRowSets。
DisRowSets中的数据,按照32MB大小为单位,按序划分为一个个的DiskRowSet。 DiskRowSet中的数据按照Column进行组织,与Parquet类似。
这是Kudu可支持一些分析性查询的基础。每一个Column的数据被存储在一个相邻的数据区域,而这个数据区域进一步被细分成一个个的小的Page单元,与HBase File中的Block类似,对每一个Column Page可采用一些Encoding算法,以及一些通用的Compression算法。 既然可对Column Page可采用Encoding以及Compression算法,那么,对单条记录的更改就会比较困难了。
前面提到了Kudu可支持单条记录级别的更新/删除,是如何做到的?
与HBase类似,也是通过增加一条新的记录来描述这次更新/删除操作的。DiskRowSet是不可修改了,那么 KUDU 要如何应对数据的更新呢?在KUDU中,把DiskRowSet分为了两部分:base data、delta stores。base data 负责存储基础数据,delta stores负责存储 base data 中的变更数据


如上图所示,数据从 MemRowSet 刷到磁盘后就形成了一份 DiskRowSet(只包含 base data),每份 DiskRowSet 在内存中都会有一个对应的DeltaMemStore,负责记录此 DiskRowSet 后续的数据变更(更新、删除)。DeltaMemStore 内部维护一个 B-树索引,映射到每个 row_offset 对应的数据变更。DeltaMemStore 数据增长到一定程度后转化成二进制文件存储到磁盘,形成一个DeltaFile,随着 base data 对应数据的不断变更,DeltaFile 逐渐增长。

python编程100例画图-python 画图示例源码(Turtle Graphics)
weixin_37988176的博客
11-01 2527
【实例简介】【实例截图】【核心代码】import turtle as timport timedef drawgap():t.pu()t.fd(5)def drawline(draw):drawgap()t.pd() if draw else t.pu()t.fd(40)drawgap()t.right(90)def drawdigit(digit):drawline(True) if digit...
python精彩编程200例-编程语言入门经典100例【Python版】
weixin_37988176的博客
10-29 3737
无论学习哪门计算机语言,只要把100例中绝大部题目都做一遍,就基本掌握该语言的语法了。【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#Filename:001.pycnt = 0#count the sum of resultfor i in range(1,5):for j in range(1,5):for k in range(1,5):if ...
python绘图编程100例_python交互式图形编程实例(一)
weixin_39621495的博客
11-23 518
本文实例为大家享了python交互式图形编程的具体代码,供大家参考,具体内容如下#!/usr/bin/env python3# -*- coding: utf-8 -*-#温度转换from graphics import *win = GraphWin("摄氏温度转换器", 400, 300)win.setCoords(0.0, 0.0, 3.0, 4.0)# 绘制接口Text(Point(1,...
python绘图编程100例_Python作图程序
weixin_39901571的博客
11-23 931
#coding=utf-8import pylab as y #引入pylab模块x = y.np.linspace(-10, 10, 100) #设置x横坐标范围和点数y.plot(x, x*x*x,'or') #生成4102图像1653ax = y.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color(...
python绘图100例_太赞了!100个案例,Matplotlib 从入门到大神!(附源代码)
weixin_33108105的博客
02-04 3374
大家好,今天来跟大家享下 Matplotlib 从入门到进阶的精彩内容。Matplotlib 是 Python数据科学生态系统中非常重要的一个 Python库,是 Python可视化中使用最多,同时其他许多可视化库也是在这个基础上衍生或延展而来的。从下面这张图,可以看出 Matplotlib 在 Python可视化生态系统中的强大之处。 因此,熟练使用 Matplotlib 也是进阶 Pyt...
apache kudu底层架构图
最新发布
08-30
apache kudu底层架构图
kudu与hbase组成底层图解.zip
10-22
kudu与hbase底层脉络图解 ★★★https://blog.csdn.net/qq_25073261/article/details/108140000 https://blog.csdn.net/lingbo229/article/details/80359987 ...
kudu原理与使用
01-27
官方给kudu的定位是:在更新更及时的基础上实现更快的数据析1.2.1、hdfs与hbase数据存储的缺点目前数据存储有了HDFS与hbase,为什么还要额外的弄一个kudu呢?HDFS:使用列式存储格式ApacheParquet,Apache ORC,适合...
Kudu架构原理
02-24
kudu定位是「FastAnalyticsonFastData」,是一个既支持随机读写、又支持OLAP析的大数据存储引擎。原数据存储于HDFS或HBase都有优缺点:直接存放于HDFS中,适合离线析,却不利于记录级别的随机读写。直接将数据...
python绘图100例_Python练习实例100例(从简入难)16-20
weixin_39762001的博客
12-19 788
Python学习中心2020-11-21 11:03:00相信有很多人都在努力地自学着Python,但自学过程中总是看懂了却不会做。这就像学生时期老师讲过了,觉得听懂了,但一看题就懵了。在自学任何一门软件或是编程语言的过程中,最重要的是结合教程去进行实践训练,毕竟“实践才是检验真理的唯一标准”。今天给大家带来Python从初级入门到精进的练习实例共100例,每篇五道题保持篇幅不会过长,大家练习也循...
100个Python小例子
10-26
这是100个Python的小例子,看着挺不错的
python绘图练习
qq_55977554的博客
12-13 3346
1.绘制重庆24小时的气温图像的折线图,有标题x轴y轴并将最低气温最高气温单独标出 # @Time:2021/12/1014:18 # @Author:中意灬 # @File:天气.py # @ps:tutu qqnum:2117472285 from matplotlib import pyplot as plt import numpy as np from scipy import interpolate y=[9,10,12,13,14,13,13,14,15,16,14,15,15,15,15,
使用python画图案例大全【画玫瑰花、樱花树、小黄人等】
热门推荐
zmq836010的博客
06-27 3万+
这篇文章主要介绍了使用Python的turtle模块画图的方法,涉及turtle简介,运动命令,画笔控制命令的享,以及具体操作的步骤,具有一定参考价值,需要的朋友可以了解下。简介:turtle是一个简单的绘图工具。它提供了一个海龟,你可以把它理解为一个机器人,只听得懂有限的指令。...
python编程100例画图-教孩子学Python编程之海龟画图(一)
weixin_37988176的博客
11-01 8523
大家好,我是践行计算机教育刘老师,很高兴跟大家Python编程,建议5年级以上的学生学习。父母也可以陪着孩子一起学习Python编程,对于孩子学编程起到监督和辅助学习。下载我们Python编程工具,如下图所示:下载界面下载好了编程工具之后,就开始我们今天的编程之旅吧。本章主要内容海龟是想隵基本计算机作图的好方法,今天我们会用Python的海龟来画一些简单的形状和线。打开Python Shell...
python海龟作图经典100例_经典编程100例——python版(例29~例31)
weixin_39719749的博客
01-24 2万+
例29:求出所有满足下列条件的两位数,将此两位数的个位数字与十位数字进行交换,可以得到一个新的两位数,要求新数与原数之和小于100,每行输出6个满足条件的数。求解析:程序求解不难,设十位数为x,个位数为y,两位数a=10*x+y新数+原数=11*(x+y),x,y都不能为0,所以它们的取值范围从1开始到9结束。难点在于,如何做到每行输出6个数,这里我设置了一个计数,用count%6==...
python100例
weixin_41692282的博客
05-27 1448
有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少 或者 2.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部按10%提成,高于10万元的部,可提成7.5%;20万到40万之间时,高于20万元的部,可提成5%;40万到60万之间时高于40万元的部,可提成3%;60万到100万...
[新星计划]Kudu底层数据模型
Maynor的博客
06-04 2483
以上便是Kudu底层数据模型图,愿你读过之后有自己的收获,如果有收获不妨一键三连一下~
Kudu(2) -- 数据模型、原理与优化
erainm
11-04 970
1. 表与schema 2. kudu底层数据模型 3. Tablet的发现过程 4. Kudu读写更新原理 5. Kudu的优化
Python绘图实例(一)
m0_64087341的博客
03-04 1025
python绘制图形5个实例
spark sql 删除kudu数据
07-20
使用Spark SQL可以轻松地读取MySQL数据并将其写入Kudu。 以下是一些基本步骤: 1. 在Spark中创建一个SQLContext对象。 2. 使用JDBC驱动程序连接到MySQL数据库。 3. 使用Spark SQL的DataFrame API读取MySQL表中的...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • canal的配置详解 35865
  • linux命令下jq的用法简介 28866
  • Java8中的LocalDateTime和时间戳timestamp互相转换 21797
  • Hive中CAST()函数用法 21633
  • ElasticSearch中keyword的属性ignore_above详解 15922

分类专栏

  • Presto&Trino 1篇
  • Excel 2篇
  • Flink 75篇
  • 数据湖 6篇
  • Hive 49篇
  • 大数据综合 43篇
  • Impala 19篇
  • sqoop 5篇
  • 爬虫 1篇
  • 数据分析 8篇
  • clickhouse
  • Mysql实战45讲学习笔记 8篇
  • Kudu 3篇
  • 杂项 | 心情 | 随手记 11篇
  • 资料收集 1篇
  • Apache Druid 6篇
  • 系统 | 工具 9篇
  • zookeeper 1篇
  • Docker 1篇
  • C++ 1篇
  • Kylin 3篇
  • Scala 11篇
  • Python 27篇
  • Spark 25篇
  • Kafka 17篇
  • MySQL 12篇
  • 算法 6篇
  • HBase 5篇
  • RocketMQ 1篇
  • Idea 4篇
  • java 14篇
  • jvm 7篇
  • Maven 7篇
  • java基础 4篇
  • Redis 8篇
  • Markdown 2篇
  • Linux 30篇
  • MongoDB 4篇
  • Hadooop 8篇
  • Apache Beam 1篇
  • Kettle 1篇
  • airflow 1篇
  • 业务 4篇
  • ElasticSearch 9篇
  • oozie 4篇
  • Azkaban 7篇
  • Nginx 2篇
  • Flume 1篇
  • Griffin 1篇
  • Sentry

最新评论

  • linux命令下jq的用法简介

    hongdounuoyan: 看似很复杂,实则不简单,操作起来很难得到自己要的结果。

  • Trino 与Hive 有差异的函数

    小的~~: 还有包裹字段名和表名的符合也不一致,在字段名为与关键字一样的情况下

  • Trino 与Hive 有差异的函数

    小的~~: hive中的string,在trino中是VARCHAR hive中获取时间戳unix_timestamp在trino中只能使用to_unixtime(now())获取

  • Canal 直接发送消息到 Kafka 、RocketMQ配置

    qq_43179622: 去官方文档上看:https://github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ-QuickStart

  • Canal 直接发送消息到 Kafka 、RocketMQ配置

    qq_43179622: 我就说怎么这么熟悉。。。

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • Trino 与Hive 有差异的函数
  • Scala面向对象编程(高级部分)
  • Flink EventTime窗口不触发
2023年11篇
2022年13篇
2021年189篇
2020年134篇
2019年293篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香山上的麻雀1008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司伊春SEO按效果付费平顶山关键词按天收费包头网络广告推广价格铁岭网站设计推荐凉山网站开发价格横岗网站推广工具公司黄石网站优化按天扣费公司日照企业网站制作价格海东百度网站优化排名青岛百度爱采购公司上饶模板制作公司咸宁SEO按天收费价格海北关键词排名多少钱伊春百度seo公司鞍山网站优化排名公司湛江品牌网站设计推荐庆阳推广网站娄底营销网站价格诸城关键词排名多少钱玉树建站海北百度网站优化哪家好三明建网站公司遵义设计公司网站多少钱大理网络广告推广报价天津网站推广方案报价舟山SEO按效果付费多少钱仙桃网络推广哪家好六安优化推荐甘孜网站推广系统哪家好三亚企业网站设计价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化