客户说|太美医疗选择阿里云PolarDB,助力医药研发数据安全应用

本文涉及的产品
数据安全中心,免费版
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 客户说|太美医疗选择阿里云PolarDB,助力医药研发数据安全应用

生物医药行业数据平台建设需要保障行业合规要求、数据一致性、项目数据封存归档、痕迹修复等多种特殊需求。云原生数据库PolarDB致力于解决生物医药企业研发数据云上应用安全,其所支持的数据加密、数据脱敏、数据生命周期管理、高性能全局一致性、闪回等能力可以很好满足生物医药行业特殊需求,释放应用开发者定制化开发工作量,助力医药客户通过GDPR、SOC2、HIPAA、GxP等区域安全合规和行业安全合规认证。

—— 太美医疗科技副总裁 黄玉飞


1. 前言


太美医疗科技主要服务于生命科学产业,覆盖医药研发、药物警戒、医药营销等领域,基于AI、大数据、移动互联网、云计算等先进技术,提供覆盖药品全生命周期的技术解决方案,以协作连接行业参与方,助力医药行业实现线上化、数字化和智能化运营管理模式,为创新药研发和药品商业化赋能。

经过十年耕耘,太美坚持自主研发,市场占有率达第一,获得业内认可和好评,并连续三年,中国临床试验信息系统解决方案市场占有率第一


2. 业务挑战与选型考量


2.1 业务挑战

太美医疗提供覆盖药品全生命周期的数字化产品,包括医院研发(临床数据、临床运营、药物警戒 、数字化 SMO、机构SaaS产品等)、营销数字化(医企互动、客户管理),其核心系统使用开源自建MySQL来承载业务,在多年的医药研发使用场景中,遇到了一些挑战。


  • C/A的取舍

自建MySQL的高可用方案存在主备切换丢失数据的风险,业务需要在一致性(Consistency)和可用性(Availability)之间取舍,业务补数据逻辑比较复杂且风险高。


  • 扩展性

随着时间的推移,核心业务以租户或者项目为维度的数据量越来越大,部分数据库已经超过10TB。如果按租户/项目ID进行分库,数据倾斜情况非常明显,且单库容量已经达到MySQL上限,扩展困难。


  • 监管和安全要求

医药行业对数据有非常强的监管要求,如采用加密机对隐私字段进行加密,加密机存在性能瓶颈。此外需要完整的数据库操作审计日志,满足客户稽查和行业监管的要求。


  • 运维管理

对于运维团队来说,自建高可用架构复杂,运维成本高。采用传统全量+增量的数据备份模式,备份和恢复耗时长,另外开源MySQL对DDL变更耗时长,非常不友好。


  • 成本

成本上,一方面使用数据库中间件需要昂贵的软件许可和硬件成本,另外多份备份存储冗余也造成成本持续升高。


2.2 选型考量


经过与业务&运维部门多次讨论,数据库的选型重点兼顾以下5个因素,并且需要结合生产业务做严格的业务测试验证。


  1. 架构设计:契合业务场景的架构设计,云原生+存算分离;
  2. 扩展能力:横纵向扩展能力,弹性升降配;
  3. 成熟度:产品成熟稳定,有技术底蕴,有标杆客户案例;
  4. 高可用:故障切换,支持无感秒切,数据零丢失,跨机房容灾;
  5. 兼容性:完全兼容MySQL开源协议,业务代码零改动。


3. PolarDB在太美医疗的落地实践


PolarDB是阿里云战略投入多年的数据库产品,经过对多款数据库的选型比较,太美最终选择了阿里云瑶池旗下的云原生数据库PolarDB,并在多个特性上解决了业务的痛点问题。


3.1 高性能全局一致性:解决逻辑核查准确性问题

数据核查是临床试验中关键的质量保证过程,主要用于确保收集的受试者数据准确、一致,并符合项目方案的要求。逻辑核查作用于受试者数据的不同层级,构成了数据质量的全面控制。

传统开源MySQL架构下,RO只读节点需要等待log从主节点同步过来,并解析之后才可以对外提供最新数据的读服务,存在一定的延迟。当触发逐级核查计算时,读请求到只读节点上读数据有一定概率读到的数据不是最新的,造成整体数据计算错误。计算错误后,做数据逐级修复,工作量巨大。



PolarDB MySQL高性能全局一致性技术保证发往集群任意副本的读请求都可以获得全局一致性的结果,同时保障性能与弱一致性读几乎相同。


3.2 闪回查询:解决稽查痕迹一致性问题

为了满足数据可回溯的需求,临床研究中所有受试者数据新增、更新、删除操作的记录都需要保存成稽查痕迹(Audit Trail),稽查痕迹包括数据的旧值和新值,为研究的每一步操作提供透明度的保证。传统开源MySQL架构下,稽查痕迹服务通过Flink CDC订阅受试者数据库的binlog,解析后关联业务数据生成完整操作痕迹日志。此方案的痛点是痕迹数据和其依赖的业务数据时间戳不一致,可能导致痕迹数据记录错误。

PolarDB提供多表闪回查询,根据binlog中的时间戳闪回查询关联的业务数据,这样保证了痕迹数据和业务数据一致性,代码实现简单,改动量少。


3.3 数据生命周期管理:满足业务锁库需求

出于数据安全合规监管考虑,在试验数据清洗与最终核查完成后需要对数据库进行“锁定”。锁库后不允许进行任何数据的修改或更新,并提供只读访问权限应对审计和检查的要求。

传统开源MySQL架构下,通过应用开发代码控制支持锁库需求,涉及数据范围广,增加了代码复杂度。另外DBA等特权账号可以绕开应用权限限制去修改或者删除数据,而且锁库项目和未锁库项目在同一个实例同一张表中,项目不断增加造成数据冗余,性能下降,成本提升

PolarDB MySQL支持按List字段进行表分区,当项目需要锁库时,可以触发让多张表记录归档到OSS中,归档后任何人(包括DBA)不可对数据进行修改&删除,同时,当需要读取数据时,可直接读取OSS记录或将数据下载到本地。


3.4 数据透明加密:降低隐私保护的成本


为了保护患者隐私安全,满足信息安全法规要求,个人隐私数据在数据库中需进行加密存储。

传统开源MySQL架构下,需要依赖加密机来实现数据加密,并且对代码有侵入性,同时硬件加密机性能存在瓶颈,使用成本和维护成本较高。


PolarDB MySQL支持透明数据加密TDE(Transparent Data Encryption),可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。TDE不会增加数据文件的大小,开发人员无需更改任何应用程序,即可使用TDE功能。

4. 总结


从2023年第四季度开始进行数据库选型及POC验证,在2024年6月启动分批次迁移,并在12月份正式完成太美核心业务数据库系统向PolarDB MySQL版的迁移和割接。通过架构升级,100%兼容原有业务系统,同时提升了业务性能、减轻了运维压力。


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1月前
|
存储 人工智能 Cloud Native
小鹏汽车选用阿里云PolarDB,开启AI大模型训练新时代
PolarDB-PG云原生分布式数据库不仅提供了无限的扩展能力,还借助丰富的PostgreSQL生态系统,统一了后台技术栈,极大地简化了运维工作。这种强大的组合不仅提高了系统的稳定性和性能,还为小鹏汽车大模型训练的数据管理带来了前所未有的灵活性和效率。
|
1月前
|
关系型数据库 测试技术 分布式数据库
刷新世界纪录!阿里云PolarDB凭借创新的「三层解耦」架构刷新TPC-C基准测试世界纪录
刷新世界纪录!阿里云PolarDB凭借创新的「三层解耦」架构刷新TPC-C基准测试世界纪录
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
客户说|信美相互人寿携手阿里云PolarDB,引领保险IFRS17场景创新
客户说|信美相互人寿携手阿里云PolarDB,引领保险IFRS17场景创新
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
世界第一!阿里云PolarDB刷新全球数据库性能及性价比记录
世界第一!阿里云PolarDB刷新全球数据库性能及性价比记录
|
2月前
|
存储 NoSQL 关系型数据库
PolarDB开源数据库进阶课17 集成数据湖功能
本文介绍了如何在PolarDB数据库中接入pg_duckdb、pg_mooncake插件以支持数据湖功能, 可以读写对象存储的远程数据, 支持csv, parquet等格式, 支持delta等框架, 并显著提升OLAP性能。
126 1
|
2月前
|
存储 容灾 关系型数据库
PolarDB开源数据库进阶课11 激活容灾(Standby)节点
本文介绍了如何激活PolarDB容灾(Standby)节点,实验环境依赖于Docker容器中用loop设备模拟共享存储。通过`pg_ctl promote`命令可以将Standby节点提升为主节点,使其能够接收读写请求。激活后,原Standby节点不能再成为PolarDB集群的Standby节点。建议删除对应的复制槽位以避免WAL文件堆积。相关操作和配置请参考系列文章及视频教程。
68 1
|
2月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课15 集成DeepSeek等大模型
本文介绍了如何在PolarDB数据库中接入私有化大模型服务,以实现多种应用场景。实验环境依赖于Docker容器中的loop设备模拟共享存储,具体搭建方法可参考相关系列文章。文中详细描述了部署ollama服务、编译并安装http和openai插件的过程,并通过示例展示了如何使用这些插件调用大模型API进行文本分析和情感分类等任务。此外,还探讨了如何设计表结构及触发器函数自动处理客户反馈数据,以及生成满足需求的SQL查询语句。最后对比了不同模型的回答效果,展示了deepseek-r1模型的优势。
163 0
|
2月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课14 纯享单机版
PolarDB不仅支持基于“共享存储+多计算节点”的集群版,还提供类似开源PostgreSQL的单机版。单机版部署简单,适合大多数应用场景,并可直接使用PostgreSQL生态插件。通过Docker容器、Git克隆代码、编译软件等步骤,即可完成PolarDB单机版的安装与配置。具体操作包括启动容器、进入容器、克隆代码、编译软件、初始化实例、配置参数及启动数据库。此外,还有多个相关教程和视频链接供参考,帮助用户更好地理解和使用PolarDB单机版。
112 0
|
2月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课13 单机版转换为集群版
本文介绍如何将“本地存储实例”转换为“共享存储实例”,依赖于先前搭建的实验环境。主要步骤包括:准备PFS二进制文件、格式化共享盘为pfs文件系统、启动pfsd服务、停库并拷贝数据到pfs内、修改配置文件,最后启动实例。通过这些操作,成功实现了从本地存储到共享存储的转换,并验证了新实例的功能。相关系列文章和视频链接提供了更多背景信息和技术细节。
53 0
|
2月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课7 实时流式归档
本文介绍了如何在PolarDB RAC一写多读集群中实现实时归档,确保WAL日志的及时备份。实验依赖于Docker容器和loop设备模拟的共享存储环境。通过配置主节点的`pg_hba.conf`、创建复制槽以及使用`pg_receivewal`工具,实现实时接收并归档WAL文件。此外,还提供了详细的命令行帮助和相关文档链接,方便读者参考和操作。注意:如果已搭建容灾节点,则无需重复进行实时归档。
46 0

热门文章

最新文章

下一篇
oss创建bucket