Kudu 架构—tablet 的冗余存储机制 | 学习笔记

简介: 快速学习 Kudu 架构—tablet 的冗余存储机制

开发者学堂课程【NoSQL 数据库 Kudu 教程Kudu 架构—tablet 的冗余存储机制学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/723/detail/12900


Kudu 架构—tablet 的冗余存储机制


内容介绍:

一、tablet

二、tablet server


一、Tablet

tablet 当中的冗余存储机制的概念,tablet 是表当中水平分区的一部分,一个表有多个 tablet 组成,如果说直接把tablet 放在的服务器上面,没有什么问题,但是可能会产生所谓的单点故障,比如说一个表被分成1234个台播器,如果当中一个台播器挂掉了,那是不是整个表的数据就不完整了,在底层层面 Kudu 针对每一个 tablet 都做一个冗余存储。

image.png

这里有两个 tablet tablet1,除了在这台服务器上存放一份,这台服务器也存放一份,另一台服务器也存放一份,这样就形成一种冗余机制,非常类似于 HDi 当中的一个快存储的机制,这三个 tablet1之间,以这个绿色中为例,这三个 tablet1之间,之间有一个关系,在任意给定的时刻当中,一个称之为 leader,另外成为 follow,所以为什么会做一个划分因为当中还要把数据负责,对外提供读写能力,这当中不管什么操作,读和写可以什么叫做事务请求和非事务请求,如果都是来读数据,不涉及到数据的修改,这个没有任何关系,从这里读也可以,从这里读也可以,从这里也可以,但是一旦发展到或者涉及到数据的修改,就是事务性操作就有问题。

 

二、tablet server

比如有一个客户端,知道最终对客户端提供读写能力的,就是的 tablet server,如下图

image.png

左边这里有一个叫做 Kudu Client a,在右边这里又有一个客户端,叫做 client b。这两个客户端访问的 Kudu 集群,概括起来要么读,要么写,事务是事务,如果两个同时去对的 tablet1进行一个修改,而且去修改同一条记录数据会怎么样,数据之间可能会产生一种冲突,两个都要修改到底俩谁先修改,这两个会产生事物上冲突,所以为了解决这种冲突,虽然都叫冗余,但是在任意给定的时刻,针对 tab 而言,叫做 leader,简单给标个颜色,另外两个,就叫做follow,所以说针对的冗余,也做了一个 leaderfollow 区分,相当于这三个 tablet1,本质上是不一样的,这么区分的关系很重要,Leader 简单描述下,对外提供数据的读写服务,注意除了支持读还是写,但是要注意两个 follow,只支持数据的读服,要去修改数据,知道要操作的叫 tablet1,必须找 leader,之所以在 tablet 的冗余中,一些划分所谓的 leaderfollow 主要是为了保证数据的一致性,是为了保证数据的一致性,因为不仅要进行访问能力分析数据,还可能涉及到一个随机的修改,尤其修改就容易产生冲突,所以就明白了,在的讲义上所描述的 Tablet 当中,在任何给定的时刻,一个副本叫做 leader tablet,其他的就叫 follow ,leader 主要是负责的读和写,所以写很重要。leader 只负责的读服,这样就避免了一种冲突。tablet 和的 tablet server 应该是一个多对多的关系,首先第一点明确一个 tablet 可以存放在多个 tablet 服务器上面,如下图的右边与的服务器。

image.png

W 有服务器,X有 服务器,Y 有服务器 Z,一个 tablet1可以放在多个 tablet 服务器上面,相当于一个冗余,另外一个,一个服务器上面可以存放多个 tablet,这里存 tablet1,也可以存放的 tablet2,这一点非常类似于的 detnod,一个数据块 block,可以放在多个机器上,然后,一个机器上 table 可以多放存放不同的数据块,所以 tablet tablet 社会有什么关系,是一种多对多的关系,主要还是底层,考虑到数据的一个安全性,又考虑数据,一个读写能力,做了一种架构设计,以上就是整体步骤当中一个大致的架构和一些局部的一个细节,对比理解的 HBase HPDS会更加的有帮助。

相关文章
|
2月前
|
运维 负载均衡 微服务
|
5月前
|
存储 机器学习/深度学习 缓存
软考软件评测师——计算机组成与体系结构(分级存储架构)
本内容全面解析了计算机存储系统的四大核心领域:虚拟存储技术、局部性原理、分级存储体系架构及存储器类型。虚拟存储通过软硬件协同扩展内存,支持动态加载与地址转换;局部性原理揭示程序运行特性,指导缓存设计优化;分级存储架构从寄存器到外存逐级扩展,平衡速度、容量与成本;存储器类型按寻址和访问方式分类,并介绍新型存储技术。最后探讨了存储系统未来优化趋势,如异构集成、智能预取和近存储计算等,为突破性能瓶颈提供了新方向。
|
1月前
|
存储 NoSQL 前端开发
【赵渝强老师】MongoDB的分布式存储架构
MongoDB分片通过将数据分布到多台服务器,实现海量数据的高效存储与读写。其架构包含路由、配置服务器和分片服务器,支持水平扩展,结合复制集保障高可用性,适用于大规模生产环境。
264 1
|
5月前
|
存储 关系型数据库 MySQL
成本直降30%!RDS MySQL存储自动分层实战:OSS冷热分离架构设计指南
在日均订单量超500万的场景下,MySQL数据年增200%,但访问集中在近7天(85%)。通过冷热数据分离,将历史数据迁移至OSS,实现存储成本下降48%,年省72万元。结合RDS、OSS与Redis构建分层架构,自动化管理数据生命周期,优化查询性能与资源利用率,支撑PB级数据扩展。
348 3
|
5月前
|
存储 关系型数据库 数据库
高性能云盘:一文解析RDS数据库存储架构升级
性能、成本、弹性,是客户实际使用数据库过程中关注的三个重要方面。RDS业界率先推出的高性能云盘(原通用云盘),是PaaS层和IaaS层的深度融合的技术最佳实践,通过使用不同的存储介质,为客户提供同时满足低成本、低延迟、高持久性的体验。
|
存储 数据采集 弹性计算
Codota的存储架构通过多种方式保障数据安全
Codota的存储架构通过多种方式保障数据安全
122 4
|
7月前
|
存储 编解码 搜索推荐
文生图架构设计原来如此简单之社区与共享机制
工作流共享是文生图应用社区建设的核心功能,它使用户能够分享创作经验和技巧,形成知识共享生态。工作流序列化与存储设计需要解决复杂工作流的高效表示问题。
188 10
|
8月前
|
存储 数据采集 机器学习/深度学习
新闻聚合项目:多源异构数据的采集与存储架构
本文探讨了新闻聚合项目中数据采集的技术挑战与解决方案,指出单纯依赖抓取技术存在局限性。通过代理IP、Cookie和User-Agent的精细设置,可有效提高采集策略;但多源异构数据的清洗与存储同样关键,需结合智能化算法处理语义差异。正反方围绕技术手段的有效性和局限性展开讨论,最终强调综合运用代理技术与智能数据处理的重要性。未来,随着机器学习和自然语言处理的发展,新闻聚合将实现更高效的热点捕捉与信息传播。附带的代码示例展示了如何从多个中文新闻网站抓取数据并统计热点关键词。
385 2
新闻聚合项目:多源异构数据的采集与存储架构
|
11月前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
955 81
|
8月前
|
人工智能 前端开发 Java
DDD四层架构和MVC三层架构的个人理解和学习笔记
领域驱动设计(DDD)是一种以业务为核心的设计方法,与传统MVC架构不同,DDD将业务逻辑拆分为应用层和领域层,更关注业务领域而非数据库设计。其四层架构包括:Interface(接口层)、Application(应用层)、Domain(领域层)和Infrastructure(基础层)。各层职责分明,避免跨层调用,确保业务逻辑清晰。代码实现中,通过DTO、Entity、DO等对象的转换,结合ProtoBuf协议,完成请求与响应的处理流程。为提高复用性,实际项目中可增加Common层存放公共依赖。DDD强调从业务出发设计软件,适应复杂业务场景,是微服务架构的重要设计思想。

热门文章

最新文章