0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OrioleDB:构建现代云原生存储引擎

微云疏影 来源:yzsDBA 作者:yzsDBA 2022-04-13 15:45 次阅读

OrioleDB是PG的一个新存储引擎,为世界上最受欢迎的数据库平台带来一种现代化数据库容量、功能和性能方法。

它以扩展的形式组成,建立在新的表访问方法框架以及其他表中PG扩展接口之上。通过扩展和增强当前的表访问方法,OrioleDB为未来更强大的存储模型打开了大门,这些模型对云和现代硬件架构进行了优化。目前是标准的PG许可。

1)专为现代硬件而设计。OrioleDB的设计针对数十个和上百CPU内核现代服务器,避免CPU瓶颈,提供了针对现代存储技术,例如SSD和NVM,的使用方法。

2)减少维护需求。实现了undo log和page-mergins的概念,消除了对专用垃圾回收进程的需要。此外,还实现了默认的64位事务标识符,从而消除了众所周知的回卷问题

3)分布式设计。实现了一个支持并行回放的行级WAL日志。此日志架构针对基于RAFT共识的复制进行优化,允许active-active多主。

OrioleDB关键技术差异:

1)无缓冲区映射和无锁page读取。OrioleDB内存中page直接连接到存储层的页。消除了对缓冲区映射及相关瓶颈。此外,内存中页面读取不涉及原子操作。这些设计决策共同将PG的垂直扩展性提升到了一个全新的水平。

2)MVCC基于UNDO日志。旧版本的元组不会导致主存储系统膨胀,而是将其放逐到undo链的undo日志中。页级别的undo记录允许系统很方便地尽快回收已删除元组占用的空间。大多数情况下,这些机制与page-mergins一起消除了膨胀。也不需要对表进行专门的VACUUM,从而消除了系统性能下降和数据库中断的一个重要且常见的原因。

3)copy-on-write检查点和行级WAL。OrioleDB利用copy-on-write检查点,每时每刻都提供结构上一致的数据快照。这对现代SSD很友好,并允许行级WAL日志记录。反过来,行级WAL日志记录很容易并行化(已做),紧凑且适合active-active多主(计划)。

状态

当前仅alpha状态,仅推荐测试,不推荐生产环境使用。

安装

需要PG14、libzstd和python3.5+及其testgres包。编译安装方法:

pYYBAGJWf4yAP82oAAALL_okViw745.png

$ cd orioledb

$ make USE_PGXS=1

$ make USE_PGXS=1 install

$ make USE_PGXS=1 installcheck

启动前,在postgresql.conf中配置库文件:

shared_preload_libraries = 'orioledb.so'

也可以通过SQL:

CREATE EXTENSION orioledb;

创建表方法:

CREATE TABLE table_name (...) USING orioledb;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4373

    浏览量

    86271
  • 服务器
    +关注

    关注

    12

    文章

    9355

    浏览量

    86233
  • 数据库
    +关注

    关注

    7

    文章

    3857

    浏览量

    64808
收藏 人收藏

    评论

    相关推荐

    云原生AI服务怎么样

    云原生AI服务,是指采用云原生的原则和技术来构建、部署和管理人工智能应用及工作负载的方法和模式。那么,云原生AI服务怎么样呢?下面,AI部落小编带您了解。
    的头像 发表于 01-23 10:47 149次阅读

    云原生LLMOps平台作用

    云原生LLMOps平台是一种基于云计算基础设施和开发工具,专门用于构建、部署和管理大型语言模型(LLM)全生命周期的平台。以下,是对云原生LLMOps平台作用的梳理,由AI部落小编整理。
    的头像 发表于 01-06 10:21 135次阅读

    如何选择云原生机器学习平台

    当今,云原生机器学习平台因其弹性扩展、高效部署、低成本运营等优势,逐渐成为企业构建和部署机器学习应用的首选。然而,市场上的云原生机器学习平台种类繁多,功能各异,如何选择云原生机器学习平
    的头像 发表于 12-25 11:54 184次阅读

    构建云原生机器学习平台流程

    构建云原生机器学习平台是一个复杂而系统的过程,涉及数据收集、处理、特征提取、模型训练、评估、部署和监控等多个环节。
    的头像 发表于 12-14 10:34 195次阅读

    什么是云原生MLOps平台

    云原生MLOps平台,是指利用云计算的基础设施和开发工具,来构建、部署和管理机器学习模型的全生命周期的平台。以下,是对云原生MLOps平台的介绍,由AI部落小编整理。
    的头像 发表于 12-12 13:13 203次阅读

    云原生和数据库哪个好一些?

    云原生和数据库哪个好一些?云原生和数据库各有其独特的优势,适用于不同的场景。云原生强调高效资源利用、快速开发部署和高可伸缩性,适合需要高度灵活性和快速迭代的应用。而数据库则注重数据一致性、共享和独立性,确保数据的稳定和安全,适用
    的头像 发表于 11-29 10:07 229次阅读

    k8s微服务架构就是云原生吗?两者是什么关系

    和安全性,使开发者能够更轻松地构建和部署现代化的应用程序。然而,云原生不仅仅局限于Kubernetes或任何单一的技术,它是一种方法论和最佳实践,涵盖了多个技术和理念,旨在充分利用云计算的优势来
    的头像 发表于 11-25 09:39 211次阅读

    容器云服务引擎是什么意思?

    容器云服务引擎是什么意思?容器云服务引擎是一种基于云原生架构的容器编排工具,能够帮助用户快速构建、部署和管理容器化应用。它支持容器化应用的全生命周期管理,包括部署、管理和扩展,旨在简化
    的头像 发表于 10-19 17:08 230次阅读

    容器云服务引擎是什么?如何使用

    容器云服务引擎(CloudContainerEngine,简称CCE),是一个企业级的Kubernetes集群托管服务,提供高度可扩展、高性能的云原生应用部署和管理方案。容器云服务引擎一种基于
    的头像 发表于 09-30 10:17 268次阅读

    云原生和非云原生哪个好?六大区别详细对比

    云原生和非云原生各有优劣,具体选择取决于应用场景。云原生利用云计算的优势,通过微服务、容器化和自动化运维等技术,提高了应用的可扩展性、更新速度和成本效益。非云原生则可能更适合对延迟敏感
    的头像 发表于 09-13 09:53 490次阅读

    基于Arm架构的Azure虚拟机助力云原生应用开发

    子系统 (CSS) 所构建的解决方案专为运行现代通用云工作负载而设计,并且通过优化,为云原生产品提供更高的效率和性能。
    的头像 发表于 09-05 15:54 1898次阅读

    京东云原生安全产品重磅发布

    “安全产品那么多,我怎么知道防住了?”“大家都说自己是云原生的,我看都是换汤不换药”在与客户沟通云原生安全方案的时候,经常会遇到这样的吐槽。越来越的客户已经开始了云原生化的技术架构改造,也意识到
    的头像 发表于 07-26 10:36 565次阅读
    京东<b class='flag-5'>云原生</b>安全产品重磅发布

    从积木式到装配式云原生安全

    从这两个方面分别进行分析和解决。 新技术带来新的安全风险 云原生的概念定义本身就比较抽象,从诞生到现在也经历了多次变化。2018年CNCF对云原生的概念进行了重定义:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中
    的头像 发表于 07-26 10:35 382次阅读
    从积木式到装配式<b class='flag-5'>云原生</b>安全

    基于DPU与SmartNic的云原生SDN解决方案

    随着云计算,大数据和人工智能等技术的蓬勃发展,数据中心面临着前所未有的数据洪流和计算压力,这对SDN提出了更高的性能和效率要求。自云原生概念被提出以来,Kubernetes为云原生应用的落地提供了一
    的头像 发表于 07-22 11:44 818次阅读
    基于DPU与SmartNic的<b class='flag-5'>云原生</b>SDN解决方案

    云原生是大模型“降本增效”的解药吗?

    云原生AI正当时
    的头像 发表于 02-20 09:31 454次阅读