概念:COW与MOR

这篇具有很好参考价值的文章主要介绍了概念:COW与MOR。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

名词解释

COW:写时复制
MOR:读时合并

CopyOnWrite 思想

写时复制(CopyOnWrite,简称COW)思想是计算机程序设计领域中的一种通用优化策略。其核心思想是,如果有多个调用者(Callers)同时访问相同的资源(如内存或者是磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者修改资源内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变。这过程对其他的调用者都是透明的(transparently)。此做法主要的优点是如果调用者没有修改资源,就不会有副本(private copy)被创建,因此多个调用者只是读取操作时可以共享同一份资源。

通俗易懂的讲,写时复制技术就是不同进程在访问同一资源的时候,只有更新操作,才会去复制一份新的数据并更新替换,否则都是访问同一个资源。

JDK 的 CopyOnWriteArrayList/CopyOnWriteArraySet 容器正是采用了 COW 思想

COW适用场景

对于一些读多写少的数据,写入时复制的做法就很不错,例如配置、黑名单、物流地址等变化非常少的数据,这是一种无锁的实现。可以帮我们实现程序更高的并发。

COW缺陷

  • 数据一致性问题
    cow这种实现只是保证数据的最终一致性,在添加到拷贝数据但还没进行替换的时候,读到的仍然是旧数据。

  • 内存占用问题
    如果对象比较大,频繁地进行替换会消耗内存,从而引发 Java 的 GC 问题,这个时候,我们应该考虑其他的容器,例如 ConcurrentHashMap

MergeOnRead的思想

读取时合并的思想:新插入的数据存储在delta log 中。定期再将delta log合并进行parquet数据文件。读取数据时,会将delta log跟老的数据文件做merge,得到完整的数据返回。当然,MOR表也可以像COW表一样,忽略delta log,只读取最近的完整数据文件。

对于hudi中的Merge-On-Read Table,整体的结构有点像 LSM-Tree

适用场景

由于写入数据先写delta log,且delta log较小,所以写入成本较低。

MOR缺陷

需要定期合并整理compact,否则碎片文件较多。读取性能较差,因为需要将delta log和老数据文件合并。

基于上述基础概念,Hudi提供了两类表格式COW表和MOR表,他们会在数据的写入和查询性能上有一些不同。

点:cow、mor概念科普
线:Hudi
面:数据湖文章来源地址https://www.toymoban.com/news/detail-421205.html

到了这里,关于概念:COW与MOR的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器名词解释

    在计算中,术语可用性用于描述服务可用的时间段,以及系统响应用户请求所需的时间。高可用性是系统或组件的质量,可确保在给定时间段内实现高水平的操作性能。 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统

    2024年03月20日
    浏览(42)
  • STM32电源名词解释

    STM32电源架构 常用名词 VCC C=circuit 表示电路,即接入电路的电压。 VDD D=device 表示器件, 即器件内部的工作电压。 VSS S=series 表示公共连接,通常指电路公共接地端电压。 VDDA A=analog 表示模拟,是模拟电路部分的电源。主要为ADC模块以及其他的模拟电路部分(复位电路、PLL等

    2024年02月11日
    浏览(47)
  • 区块链行业名词解释大全

    区块链(Blockchain):是一种去中心化的账本,所有交易都被记录在区块中,这些区块按顺序连接在一起,形成一个不可篡改的链条。 加密货币(Cryptocurrency):是一种数字资产,使用加密技术来保护其安全性和匿名性。比特币和以太坊是最著名的加密货币。 智能合约(Smart Co

    2024年02月08日
    浏览(52)
  • 金融工程名词解释 简答题

    金融工程:金融工程是以金融产品和解决方案的设计、金融产品的定价与风险管理为主要内容,运用现代金融学、数理和工程方法与信息技术的理论与技术,对基础产品与金融衍生产 品进行组合与分解,以达到创造性地解决金融问题的根本目的的学科与技术。 风险中性定价

    2024年02月08日
    浏览(45)
  • 计算机网络名词解释

    1.计算机网络:计算机网络就是利用通信设备和线路将地理位置不同、功能独立的计算机互连起来,以功能完善的网路软件实现网络中的资源共享和信息传递的系统。由通信子网和资源子网组成。(通信子网主要由物理层、数据链路层、网络层组成)(资源子网主要由计算机

    2024年02月11日
    浏览(47)
  • 智能小程序相关名词解释(汇总)

    小程序 ID 小程序 ID 是智能小程序分配给开发者的应用 ID,是应用的唯一标示,只有应用创建后才可以获取。创建小程序应用后,您可获得小程序应用的小程序 ID。 小程序框架 小程序提供一套简单高效的开发框架,帮助您开发具有原生 App 体验的服务。 整个小程序框架系统分

    2024年01月18日
    浏览(46)
  • 常见通信名词的解释

    在通信接口的介绍中,难免见到全双工/半双工/单工、同步/异步等这些名词。今天就专门来介绍一下这些名词。 数据通信中,数据在线路上的传送方式可以分为单工通信、半双工通信和全双工通信三种。 单工通信:是指消息只能单方向传输的工作方式。例如遥控、遥测(某

    2024年02月06日
    浏览(50)
  • 计算机视觉——期末复习(填空、名词解释)

    图像文件: 指包含图像数据的文件,文件内除图像数据本身以外,还有对图像的描述信息等 距离变换: 特殊的变换,把二值图像变换为灰度图像 距离图: 如果考虑目标区域中的每个点与最接近的区域外的点之间的距离, 并用与距离成正比的灰度表示该点的灰度,那么这样

    2024年02月11日
    浏览(44)
  • 电气电工相关专业知识及名词解释

    一、电流电压 火线、零线、地线 :火线和零线的区别就是:火线带电,零线不带电。火线是传电流的,而零线是回流的。 红色是火线,零线一般是绿色的,通常可用电笔来测。电笔一头亮了是火线,不亮的则是零线。也可用电压表来测,火线之间的电压是220V,而零线是没有

    2024年02月02日
    浏览(41)
  • EDA、PLD、FPGA等名词解释

    加*为常考: *EDA:(electronic design automation)电子设计自动化 *HDL:(hard description language)硬件描述语言 ASIC:(application specific intergrated circuit)专用集成电路 *FPGA:(field programmable gate array)现场可编程逻辑门阵列 *PLD:(programmable logic device)可,编程逻辑器件  *CPLD:(complex pr

    2024年02月06日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包