首页
解决方案
数据库专业技术服务全栈式PostgreSQL解决方案Oracle分布式存储化数据库云PolarDB一体化解决方案
产品
CLup:PostgreSQL高可用集群平台 CMiner: PostgreSQL中的CDC CData高性能数据库云一体机 CBackup数据库备份恢复云平台 CPDA高性能双子星数据库机 CSYun超融合虚拟机产品 ZQPool数据库连接池 ConshGuard数据保护产品
文档
文章
客户及伙伴
中启开源
关于我们
公司简介 联系我们
中启开源

前言

在当今数据主导的商业环境里,企业对数据处理的敏捷性与分析的深度提出了更高要求,而传统数仓方案部署难度高,资源要求多,难以应对这些日益提升的标准。面临着对实时数据分析能力的迫切需求,及在严格控制成本的前提下,探索一种能够融合高效数据存储与快速数据分析的新一代解决方案显得尤为关键。正是基于这一紧迫需求,乘数科技推出了一项创新方案,该方案巧妙结合了阿里云PolarDB的强大数据库处理性能与乘数科技自主研发的ConshFS高性能网络文件系统,旨在为中型乃至小型项目量身打造一个平衡资源效率与运维经济性的数仓解决方案。

本解决方案特别注重在保证高性能的同时,优化资源利用与运维成本,部署和维护简单,非常适合那些寻求在有限预算内最大化数据价值的中小型数仓项目,重新界定了成本效益比,助力企业以更合理的投入,解锁数据洞察的广阔天地,推动业务智慧转型。

技术概览

PolarDB

PolarDB PostgreSQL版(下文简称为 PolarDB-PG)是一款阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL,高度兼容Oracle语法(公有云版支持Oracle语法);采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB 具有大规模并行计算能力,可以应对OLTP与OLAP混合负载,还支持时空、GIS、图像、向量、搜索、图谱等多模创新特性,有效应对企业对数据处理日新月异的需求。

  1. 极致弹性:存储与计算能力均可独立地横向扩展。

    • 当计算能力不够时,可以单独扩展计算集群,数据无需复制。
    • 当存储容量或 I/O 不够时,可以单独扩展存储集群,而不中断业务。
  2. 毫秒级延迟:

    • WAL 日志存储在共享存储上,RW 到所有 RO 之间仅复制 WAL 的元数据。
    • 独创的 LogIndex 技术,实现了 Lazy 回放和 Parallel 回放,理论上最大程度地缩小了 RW 和 RO 节点间的延迟。
  3. HTAP 能力:基于 Shared-Storage 的分布式并行执行框架,加速在 OLTP 场景下的 OLAP 查询。一套 OLTP 型的数据,可支持 2 套计算引擎:

    • 单机执行引擎:处理高并发的 TP 型负载。
    • 分布式执行引擎:处理大查询的 AP 型负载。

ConshFS

ConshFS是乘数科技自研的下一代高性能网络文件系统,专为PolarDB-PG共享存储数据库集群打造,无需部署额外的共享存储系统,能充分利用高速低延迟IB网络和以太网带宽资源,具有高度扩展性、毫秒级延迟、性能优异、兼容性好,可靠性高等企业级特性。部署简单,后期维护成本低,非常适合作为中小型数仓的底层系统使用。

  1. 极致扩展能力:ConshFS进一步提升PolarDB的扩展潜能,能够将单个本地文件系统无缝扩展至服务于1至数十台备库节点。无论是部署于PolarDB-PG主节点之上,还是配置于独立服务器,ConshFS均能游刃有余,确保资源的高效共享与利用。
  2. 超低延迟体验:通过深度整合系统文件缓存机制,ConshFS大幅缩短数据访问时间,加之对最新高速InfiniBand (IB) 网络技术的支持,数据传输速率与吞吐量得以显著提升,为用户带来超低延迟的数据交互体验。
  3. 广泛兼容性:基于纯C语言底层构建,ConshFS摒弃了对外部依赖的束缚,这不仅确保了系统的轻量化与高效运行,还使其能够完美适配绝大多数主流操作系统环境及多样化的硬件架构,轻松融入各类IT基础设施,降低部署复杂度。
  4. 简化的部署运维与成本控制:ConshFS采用的设计哲学强调简约而不失强大,用户无需部署额外的分布式文件系统组件,数据直接存储于标准文件系统内,极大简化了初始部署流程及日后的维护工作。这一策略不仅缩减了技术栈的复杂性,还有效控制了总体拥有成本,让资源管理与运维工作变得更加高效而经济。
  5. 充分发挥本地文件系统的优势:ConshFS可以架构在本地文件各种系统(如XFS、Btrfs等待)之上,可以让PolarDB利用到本地文件的各种高级特性,如压缩、去重等数据仓库所需要的高级特性。

ConshFS的架构如下:

融合优势

ConshFS作为专为PolarDB定制的网络文件系统,其设计精巧地融入了PolarDB架构之中,显著增强了数据库系统的整体性能与运维效率。以下是ConshFS与PolarDB集成后展现的几项关键优势:

  1. 优化资源利用与提升性能:ConshFS从根本上解决了PolarDB在多节点部署中,每个备库维护独立文件缓存导致的资源冗余问题。通过集中管理文件缓存,系统能够更高效地利用内存资源,减少重复数据存储,从而提升整体处理速度和响应能力。这种机制直接促进了数据库性能的显著增长,确保了数据访问的高效性。
  2. 强化主库性能表现:ConshFS支持将数据库的核心数据集置于主库节点的本地存储上,充分利用了主库的本地文件系统和系统缓存,实现了卓越的读写性能。这种方式不仅减少了对网络带宽的依赖,还避免了备库间因资源竞争而可能引发的性能瓶颈,尤其在数据密集型操作中,有效减轻了PolarDB-PG对网络带宽的压力,提升了主库的处理能力。
  3. 简化部署与维护,降低成本:ConshFS的引入极大地简化了PolarDB共享存储集群的部署流程,用户无需再部署复杂的分布式文件系统或投资额外的存储硬件。这不仅降低了初期的部署成本,也减少了后续的运维工作量和潜在的故障点,使得系统更加易于管理和升级,长期运营成本得到有效控制。
  4. 增强弹性与灵活性:通过ConshFS,PolarDB的备库节点能够实现更为灵活的弹性伸缩,无需繁琐的网络文件系统挂载或共享磁盘配置,大大加速了资源调配的速度。这一特性极大提升了PolarDB在面对动态业务负载变化时的适应能力,确保了服务的连续性和稳定性。
  5. 优化HTAP场景,加速分析处理:对于混合事务与分析处理(HTAP)需求,PolarDB-PG结合ConshFS提供了简洁高效的解决方案。相较于其他HTAP系统,这一组合不仅部署简便,而且凭借PolarDB-PG的分布式执行引擎,能够更有效地处理大多数中小型数据仓库的分析计算任务。当面临更高的性能要求时,系统还能迅速实现水平扩展,保证了数据分析的时效性和准确性,为业务决策提供强有力的支持。

ConshFS性能测试

测试环境如下:

主机 CPU 内存 网络 系统 说明
cssrv5 40核 128G 100G IB网络 RockyLinux 8.9 部署PolarDB共享集群主节点+ConshFS Server
cssrv10 40核 128G
100G IB网络 RockyLinux 8.9 部署PolarDB共享集群备库

为了防止硬盘读写瓶颈对测试的干扰,将相关数据库的文件都放到内存中:

  1. mount -t ramfs -o size=128G ramfs /nvme9n1

使用下面的命令生成测试数据:

  1. pgbench -i -s 100

使用下面的几个命令分别在cssrv10备库节点测试性能和网络吞吐情况

  1. pgbench -c 64 -n -P 2 -T 60 -S postgres
  1. 开一个64并发的pgbench测试:(只在一个窗口对cssrv10备库节点使用pgbench测试)
  2. 开两个64并发的pgbench测试:(在两个窗口同时对cssrv10备库节点使用pgbench测试)
  3. 开四个64并发的pgbench测试:(在四个窗口同时对cssrv10备库节点使用pgbench测试)

pgbench测试结果如下:

测试内容 tps latency average latency stddev
开一个64并发的pgbench测试 125686.5 0.507 ms
0.162 ms
开两个64并发的pgbench测试 172131.7 0.729 ms 0.258 ms
开四个64并发的pgbench测试 182105.9 1.072 ms 0.770 ms

网络流量情况如下:

测试内容 rxpck/s txpck/s rxKB/s txKB/s
开一个64并发的pgbench测试 399479.00 1194767.00 42904.22 1658842.38
开两个64并发的pgbench测试 624816.00 1871680.00 67112.93 2598886.25
开四个64并发的pgbench测试 640399.50 1919350.00 68788.23 2665105.22