定陶住房和城乡建设局网站,ps制作个人网站首页,广东网站建设专业公司,个人在湖北建设厅网站申请强制注销背景介绍
中盾数科集团始创于2012年#xff0c;是由网络安全服务而发展起来的科技型、多元化的企业集团。旗下包括网络安全服务、信创一体化服务、箱式液冷、区块链、位置服务、视觉服务等六大板块#xff0c;业务覆盖湖南、甘肃、贵州等多个省份。 业务挑战
中盾集团基于A…背景介绍
中盾数科集团始创于2012年是由网络安全服务而发展起来的科技型、多元化的企业集团。旗下包括网络安全服务、信创一体化服务、箱式液冷、区块链、位置服务、视觉服务等六大板块业务覆盖湖南、甘肃、贵州等多个省份。 业务挑战
中盾集团基于AI模型的云数据分析平台很好地支持了公司网络安全的相关业务。但是随着多年业务的发展与数据积累也面临诸多挑战 数据量大高并发更新云数据分析平台对接很多的上游网络安全数据源数据库每天需要写入千万级数据并伴随高并发的更新请求当前的数据库系统遇到扩展瓶颈。 复杂查询影响线上业务数据分析平台存在大量复杂查询需要对数据进行Join 和聚合操作需要能在不影响在线业务的前提下快速返回查询结果。 历史数据维护复杂随着数据量积累达到数十TB 以上在线数据库已无力承载。虽然将部分表2年以上数据作为历史数据进行归档减轻了在线数据库压力但业务层面存在强烈的“冷热数据”混合查询需要只能通过访问两套数据库并在业务层进行数据合并造成较大的运维和分析成本。
解决方案
经过多方面对比测试中盾集团最终采用 PolarDB-X 云原生分布式数据库开源版本支持其网络安全数据平台业务。 基于开源的 polardbx-operator, 中盾数科在 Kubernetes 集群上快速完成数十节点的PolarDB-X 部署将数据迁移至PolarDB-X未增加业务改造成本的情况下完成业务切换。下图给出了中盾数科部署的 PolarDB-X 数据库的信息 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_t1Create 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 utf8mb4PARTITION BY KEY(id)PARTITIONS 20 同时基于 PolarDB-X 分布式的线性扩展能力不仅可以满足每天大量数据写入/更新的需求更重要的是PolarDB-X 还支持进一步扩展最大可扩展至 1024 节点支撑 PB 级的数据量轻松化解数据快速增长带来的焦虑和业务压力无需为数据库的扩展性担忧。
HTAP 一体化满足复杂查询的需求
PolarDB-X 提供列存索引一张表可以同时具备行存和列存的数据通过CREATE CLUSTERED COLUMNAR INDEX这样的 DDL 即可为行存表创建列存索引实现行列数据的混合存储。面向行列混合场景设计SQL优化引擎通过一套引擎支持行列混合查询能够在一套数据库内很好地满足业务复杂查询的需求。 众所周知数据分析场景一定会占用比较大的数据库资源包括CPU、IOPS、内存等PolarDB-X 提供的从计算到存储的“全链路资源隔离”能力首先行存主要在DN多副本上列存是在OSS对象存储上确保行存和列存数据在IO读取层面完全隔离其次支持列存只读实例可以通过业务直连 或者 通过主集群地址读写分离的方式路由确保SQL引擎的计算链路也可以完全隔离确保了中盾分析查询业务AP与在线的业务TP安全、稳定、高效运行。
冷数据归档解决历史数据的痛
历经多年发展中盾沉淀了大量的历史数据除了需要确保这些归档数据安全、低成本的存储还时常需要基于新老数据混合分析挖掘数据价值。 针对大量历史数据的问题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 冷热分离存储评测
用户反馈
我们使用PolarDB分布式版PolarDB-X完成了业务的改造基于PolarDB-X 高性能规模查询与写入能力以及高速列存索引查询能力使得业务分析效率成倍提升大大提升了风险线索发现与治理能力。
----中盾数科CTO 李鹏宇