当前位置: 首页> 科技> 名企 > SIGMOD-24概览Part6: Industry Session (Cloud Database Architecture)

SIGMOD-24概览Part6: Industry Session (Cloud Database Architecture)

时间:2025/7/13 5:03:21来源:https://blog.csdn.net/qq_64091900/article/details/141999702 浏览次数:0次

👇PolarDB-MP: A Multi-Primary Cloud-Native Database via Disaggregated Shared Memory(最佳论文)

🏛机构:阿里巴巴

➡️领域:Information systems → Relational database model

📚摘要:提出了PolarDB-MP,多主结构+云原生数据库,旨在解决主从数据库中写入吞吐量受限问题

  • 关于什么是主从数据库

    • 主数据库:位于核心结点,处理所有写操作,将写操作同步到从数据库
    • 从数据库:位于辅助结点,处理所有读操作,接收来自主数据库的更新从而保持一致

    🌘这种做法的好处在于提高了读性能,坏处在于写必须经过主数据库→限制了写性能

  • 关于PolarDB-MP

    • 是多主数据库,即允许多个结点成为主数据库,分散了写的负载
    • 利用了==分离式共享内存和存储==架构
      • 分离式架构:计算资源与存储资源分开设置在不同结点,二者都可独立扩展
      • 共享内存/存储:多个结点可访问同一组内存/存储资源,本模型实质上每个结点可访问所有数据
    • 允许事务在单个节点上处理
  • 关于PolarDB-MP的核心组件Polar Multi-Primary Fusion Server (PMFS)

    • 设计思想:建立在分离式内存共享上,负责全局事务调节+缓冲区融合,采取了远程直接内存访问
    • 主要功能:事务融合(跨结点事务一致),缓冲区融合(跨结点内存共享),锁融合(跨界点并发控制)
  • 关于PolarDB-MP引入的LLSN设计:为不同结点生成的写前日志,建立一个部分顺序的结构

👇Amazon MemoryDB: A Fast and Durable Memory-First Cloud Database

🏛机构:Amazon

➡️领域:Information systems → Main memory engines

📚摘要:提出了基于云内存的数据库服务Amazon MemoryDB for Redis

  • 关于Amazon MemoryDB for Redis的主要特点
    • 内存高性能:MemoryDB将数据直接放在内存中,可以高速读写
    • 高耐久性:除了将数据放在内存中,MemoryDB还会异步地将数据复制到外存中,防丢失
    • 与Redis:MemoryDB基于Redis,兼容Redis(在Redis上运行的app可直接在MemoryDB上运行)
    • 可扩展性:用户可按需(负载增加时)扩展存储/计算资源
    • 高可用性:可多区部署,多区备份

👇Extending Polaris to Support Transactions

🏛机构:微软

➡️领域:Information systems → Data management systems

📚摘要:对Polaris系统的增强

  • 关于Polaris:一个云原生的分布式查询处理器

    • 传统的Polaris:仅支持只读事务(查询)
    • 增强的Polaris:支持所有常规事务(插入/删除/更新/加载)
  • 关于日志结构存储

    • 原理:当插入/跟新/删除时,先把变更按顺序写入日志,一段时间后合并执行日志以更改实际数据
    • 不可变性:一旦数据被写入,就不会再发生改变,新的数据不会覆盖而是追加 (避免了频繁磁盘修改)

    🌊增强的Polaris正是采用了日志结构存储,利用其不可变性,大大提高了写入效率

  • 其它Polaris的技术特性

    • 使用快照隔离语义(Snapshot Isolation/一种事务隔离级别)来保持数据一致,支持多表/多语句事务
    • 支持T-SQL,即为微软的Fabric平台提供完整的T-SQL支持

👇BigLake: BigQuery’s Evolution toward a Multi-Cloud Lakehouse

🏛机构:Google

➡️领域:Information systems → Data management systems engines

📚摘要:介绍了BigLake的设计及其在Google Cloud的BigQuery中的演变

  • BigQuery是啥:Google Cloud的云原生分布式查询处理器

  • 现今遇到的挑战

    • 数据管理的复杂性:很多企业需要统一管理数据仓库/数据湖,但这又是俩不同结构的系统

      结构简单说明
      数据库用于实时存储、管理结构化数据,支持事务处理。
      数据仓库集成多个数据源,用于大规模数据分析和报表生成。
      数据湖存储原始、未处理的多种格式数据,支持大数据分析和机器学习。
    • 如何整合不同格式的数据和表格

    • 非结构化数据的处理:AI/ML工作负载处理需要处理的正是非结构化的数据,如何让它们高效处理?

    • 多云部署:很多企业会用不同的云平台,如何让多个云平台运行相同服务?

  • BigLake:通过以下创新,是的数据仓库和数据湖得以结合

    • BigLake Tables:使得BigQuery能处理分析不同格式的数据
    • BigLake Object Tables:使BigQuery能处理非结构化数据,从而进行AI/ML处理
    • Omni平台:使得BigQuery可以在非谷歌云平台运行

👇Predicate Caching: Query-Driven Secondary Indexing for Cloud Data Warehouses

🏛机构:Amazon

➡️领域:

  • Information systems → Data scans
  • Online analytical processing engines
  • Data warehouses

📚摘要:提出了云数据仓库中提高查询性能的新方法,叫做谓词缓存

  • 背景

    • 云数据仓库(比如Amazon Redshift)已成为查询处理的标准
    • 用户和系统经常发送相同的查询,导致查询性能遇到瓶颈
    • 当前系统的优化有赖于查询结果的缓存,但结果缓存会因为插入/删除/更新而过时
  • 为了解决上述问题,提出了谓词缓存(一种新的二级索引)

    • 是啥:一种用于优化数据库查询性能的二级索引技术
    • 干啥:解决传统缓存方法,在处理重复查询时面临的缓存过时问题
  • 谓词缓存的原理:以如下为例子阐述

    UserID (基础表)NameAge
    1Alice25
    2Bob30
    3Carol35
    4Dave40
    SELECT * FROM Users WHERE Age > 30; -- 查询结果如下
    
    UserID (结果表)NameAge
    3Carol35
    4Dave40
    • 传统的查询:缓存结果表的结果,下次发起相同查询时(若基础表没更新)直接输出缓存
    • 谓词缓存查询:不会缓存结果,转而缓存基础表中满足查询条件的对象的范围,例如
      • 缓存:执行上述查询,缓存会记录范围[35, 40]
      • 更新:当基础表发生改变时,缓存也只要改变谓词范围(相比换掉整个结果表好得多)
      • 再查询:利用缓存的范围信息,快速定位符合的数据
  • 谓词缓存的其它特性

    • 可在查询执行时动态构建(摘要里也没细说)
    • 谓词缓存是轻量级的(还是那句话,比缓存整张表好多了),并且能够在线维护
关键字:SIGMOD-24概览Part6: Industry Session (Cloud Database Architecture)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: