应用案例|开源 PolarDB-X 在互联网安全场景的应用实践

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 中盾集团采用PolarDB-X云原生分布式数据库开源版本,有效解决了大数据量处理、复杂查询以及历史数据维护等难题,实现了业务的高效扩展与优化。

背景介绍

中盾数科集团始创于2012年,是由网络安全服务而发展起来的科技型、多元化的企业集团。旗下包括网络安全服务、信创一体化服务、箱式液冷、区块链、位置服务、视觉服务等六大板块,业务覆盖湖南、甘肃、贵州等多个省份。

image.png

业务挑战

中盾集团基于AI模型的云数据分析平台很好地支持了公司网络安全的相关业务。但是随着多年业务的发展与数据积累,也面临诸多挑战:

  • 数据量大,高并发更新:云数据分析平台对接很多的上游网络安全数据源,数据库每天需要写入千万级数据并伴随高并发的更新请求,当前的数据库系统遇到扩展瓶颈。
  • 复杂查询影响线上业务:数据分析平台存在大量复杂查询,需要对数据进行Join 和聚合操作,需要能在不影响在线业务的前提下快速返回查询结果。
  • 历史数据维护复杂:随着数据量积累达到数十TB 以上,在线数据库已力承载。虽然将部分表2年以上数据作为历史数据进行归档,减轻了在线数据库压力,但业务层面存在强烈的“冷热数据”混合查询需要,只能通过访问两套数据库,并在业务层进行数据合并,造成较大的运维和分析成本。

解决方案

经过多方面对比测试,中盾集团最终采用 PolarDB-X 云原生分布式数据库开源版本支持其网络安全数据平台业务。


image.png

基于开源的 polardbx-operator, 中盾数科在 Kubernetes 集群上快速完成数十节点的PolarDB-X 部署,将数据迁移至PolarDB-X,未增加业务改造成本的情况下,完成业务切换。下图给出了中盾数科部署的 PolarDB-X 数据库的信息:


image.png

PolarDB-X 提供的高性能、高可扩展性,很好地解决了当前业务的痛点,支撑业务的快速发展。

透明分布式,高效支撑高并发写入

PolarDB-X 的透明分布式能力,使中盾可以像使用单机 MySQL 数据库一样使用分布式数据库,从原数据库架构升级至 PolarDB-X 集群,无需任何业务改造,极大节约了运维成本,提升架构升级效率。

例如中盾系统中记录用户交易记录的表结构如下:

CREATE TABLE `transation_statement` (
    `id` bigint(20) NOT NULL COMMENT '序列号',
    `src_account_no` varchar(30) DEFAULT NULL COMMENT '转账账号',
    `dst_account_no` varchar(30) DEFAULT NULL COMMENT '收款账号',
    `trx_amt` decimal(20,2) DEFAULT NULL COMMENT '交易金额',
    `trx_date` varchar(30) DEFAULT NULL COMMENT '交易时间',
    ......
    PRIMARY KEY (`id`),
    index idx_src_account(src_account_no),
)


迁移到 PolarDB-X 后,基于自动分区的能力,表结构无需改变,即可实现数据的自动打散, 将数据均匀分布到多个DN 节点上。使用上述CRATE TABLE 语句在 PolarDB-X 执行后,实际的表结构如下。可以看到 PolarDB-X 已经默认按照主键 id 分区,打散数据。


mysql> show full create table transation_statement\G
*************************** 1. row ***************************
       Table: auto_t1
Create Table: CREATE TABLE `transation_statement` (
  `id` bigint(20) NOT NULL COMMENT '序列号',
  `src_account_no` varchar(30) DEFAULT NULL COMMENT '转账账号',
  `dst_account_no` varchar(30) DEFAULT NULL COMMENT '收款账号',
  `trx_amt` decimal(20,2) DEFAULT NULL COMMENT '交易金额',
  `trx_date` varchar(30) DEFAULT NULL COMMENT '交易时间',
  ......
  PRIMARY KEY (`id`),
  GLOBAL INDEX /* idx_src_account_$6425 */ `idx_src_account` (`src_account_no`) 
    PARTITION BY KEY(`src_account_no`,`id`)
    PARTITIONS 20,
  LOCAL KEY `_local_idx_src_account` (`src_account_no`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4
PARTITION BY KEY(`id`)
PARTITIONS 20


image.png


同时,基于 PolarDB-X 分布式的线性扩展能力,不仅可以满足每天大量数据写入/更新的需求,更重要的是,PolarDB-X 还支持进一步扩展,最大可扩展至 1024 节点,支撑 PB 级的数据量,轻松化解数据快速增长带来的焦虑和业务压力,无需为数据库的扩展性担忧。


HTAP 一体化,满足复杂查询的需求


PolarDB-X 提供列存索引,一张表可以同时具备行存和列存的数据,通过CREATE CLUSTERED COLUMNAR INDEX这样的 DDL 即可为行存表创建列存索引,实现行列数据的混合存储。面向行列混合场景设计SQL优化引擎,通过一套引擎支持行列混合查询,能够在一套数据库内很好地满足业务复杂查询的需求。


image.png



众所周知,数据分析场景一定会占用比较大的数据库资源,包括CPU、IOPS、内存等,PolarDB-X 提供的从计算到存储的“全链路资源隔离”能力,首先行存主要在DN多副本上,列存是在OSS对象存储上,确保行存和列存数据在IO读取层面完全隔离,其次支持列存只读实例,可以通过业务直连 或者 通过主集群地址读写分离的方式路由,确保SQL引擎的计算链路也可以完全隔离,确保了中盾分析查询业务(AP)与在线的业务(TP)安全、稳定、高效运行。


冷数据归档,解决历史数据的痛


历经多年发展,中盾沉淀了大量的历史数据,除了需要确保这些归档数据安全、低成本的存储,还时常需要基于新老数据混合分析,挖掘数据价值。


image.png

针对大量历史数据的问题,PolarDB-X 提供冷数据归档能力,支持按照时间维度自动将超过一定时限的历史数据转存至低成本的对象存储(OSS, S3, Minio)上,形成一张归档表。

对于上面介绍的交易记录表,可以通过如下的 DDL,方便地将其转换成TTL 表,实现数据根据交易日期自动归档,将两年前的历史数据更新至低成本存储上。


ALTER TABLE `transation_statement`
  LOCAL PARTITION BY RANGE (trx_date)
  STARTWITH '2021-01-01' # 初始时间分区。TTL表会把“初始时间分区”作为第一个分区。
  INTERVAL 1 MONTH # 时间分区的间隔,支持的时间粒度为YEAR、MONTH、DAY
  EXPIRE AFTER 24 # 指定分区失效的时间,此处是24个月
  PRE ALLOCATE 6;


PolarDB-X归档表同样支持高效的主键与索引点查、复杂分析型查询,业务上可以在一套数据库内完成在线与历史数据的查询分析,具备两边数据实时Join的查询能力,大大降低当前历史数据的维护成本。


应用效果总结

  • 基于 polardbx-operator,仅用十多分钟完成生产级 PolarDB-X 分布式集群的部署,支撑业务迁移。
  • 基于 PolarDB-X 的 HTAP 能力,复杂查询的耗时从原先的10多秒优化至4秒以内,提升了系统的分析效率。
  • 结合冷数据归档的能力,可以降低历史数据的存储与查询成本,最高可做到原来的1/20,同时原先针对冷热数据的多次查询也能够一条SQL搞定,详见《1/20的成本!PolarDB-X 冷热分离存储评测
相关文章
|
5月前
|
关系型数据库 分布式数据库 数据库
一库多能:阿里云PolarDB三大引擎、四种输出形态,覆盖企业数据库全场景
PolarDB是阿里云自研的新一代云原生数据库,提供极致弹性、高性能和海量存储。它包含三个版本:PolarDB-M(兼容MySQL)、PolarDB-PG(兼容PostgreSQL及Oracle语法)和PolarDB-X(分布式数据库)。支持公有云、专有云、DBStack及轻量版等多种形态,满足不同场景需求。2021年,PolarDB-PG与PolarDB-X开源,内核与商业版一致,推动国产数据库生态发展,同时兼容主流国产操作系统与芯片,获得权威安全认证。
|
3月前
|
关系型数据库 MySQL 分布式数据库
Super MySQL|揭秘PolarDB全异步执行架构,高并发场景性能利器
阿里云瑶池旗下的云原生数据库PolarDB MySQL版设计了基于协程的全异步执行架构,实现鉴权、事务提交、锁等待等核心逻辑的异步化执行,这是业界首个真正意义上实现全异步执行架构的MySQL数据库产品,显著提升了PolarDB MySQL的高并发处理能力,其中通用写入性能提升超过70%,长尾延迟降低60%以上。
|
4月前
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
253 3
|
4月前
|
SQL 关系型数据库 分布式数据库
PolarDB开源数据库入门教程
PolarDB是阿里云推出的云原生数据库,基于PostgreSQL、MySQL和Oracle引擎构建,具备高性能、高扩展性和高可用性。其开源版采用计算与存储分离架构,支持快速弹性扩展和100%兼容PostgreSQL/MySQL。本文介绍了PolarDB的安装方法(Docker部署或源码编译)、基本使用(连接数据库、创建表等)及高级特性(计算节点扩展、存储自动扩容、并行查询等)。同时提供了性能优化建议和监控维护方法,帮助用户在生产环境中高效使用PolarDB。
1551 21
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
441 17
|
4月前
|
存储 关系型数据库 分布式数据库
PolarDB开源进阶篇:深度解析与实战优化指南
PolarDB是阿里云开源的云原生数据库,采用计算-存储分离架构,结合高性能共享存储与Parallel Raft多副本一致性协议,实现微秒级延迟和卓越性能。本文深入解析其架构设计,涵盖智能调度层、性能优化技巧(如查询优化器调优和分布式事务提升)、高可用与容灾配置、扩展功能开发指南以及监控运维体系。同时,通过电商平台优化案例展示实际应用效果,并展望未来演进方向,包括AI结合、多模数据库支持及Serverless架构发展。作为云原生数据库代表,PolarDB为开发者提供了强大支持和广阔前景。
280 16
|
7月前
|
Cloud Native 关系型数据库 分布式数据库
客户说|信美相互人寿携手阿里云PolarDB,引领保险IFRS17场景创新
客户说|信美相互人寿携手阿里云PolarDB,引领保险IFRS17场景创新
151 2
|
7月前
|
关系型数据库 分布式数据库 数据库
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
129 1
|
2月前
|
存储 关系型数据库 分布式数据库
喜报|阿里云PolarDB数据库(分布式版)荣获国内首台(套)产品奖项
阿里云PolarDB数据库管理软件(分布式版)荣获「2024年度国内首版次软件」称号,并跻身《2024年度浙江省首台(套)推广应用典型案例》。
|
4月前
|
关系型数据库 数据库 RDS
【瑶池数据库训练营及解决方案本周精选(探索PolarDB,参与RDS迁移、连接训练营)】(5.30-6.8)
本周精选聚焦数据库迁移训练营、快速连接云数据库RDS训练营及智能多模态搜索解决方案。为用户提供模拟教程与实战演练,学习RDS MySQL实例连接与数据管理技能,助力企业智能化发展。每周解锁数据库实战新场景,抓紧时间,精彩不容错过!

热门文章

最新文章

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 云原生数据库 PolarDB