🧠 什么是 Caché 数据库
InterSystems 最早的核心产品就是 Caché 数据库,它是一种 多模型(对象 + 关系 + 文档) 的高性能数据库。
Caché 以其 极高的事务处理能力、并发性能和可扩展性 闻名,是许多医疗与金融核心系统的底座。
🩺 专为医疗/健康数据设计的平台
InterSystems IRIS for Health 是“世界上第一个、唯一一个专为医疗/健康数据而设计的数据平台”。它继承自 Caché 数据库的核心内核,是其进化与强化版本。
- 内置医疗标准(FHIR、HL7、DICOM、IHE)
- 支持复杂医疗数据类型(病历、影像、检测、医保)
- 提供统一平台,减少“为医疗数据改造通用数据库”的成本
✨ 意义:
在医院系统中,可减少数据孤岛、减少接口复杂度、降低集成成本、提高上线速度和后期运维效率。
应用价值:
- 🧩 解决医疗数据孤岛问题
- 🔄 简化医院多系统接口开发
- 🌐 支撑区域卫生信息平台互联互通
- 🤖 为“智慧医疗”“精准医疗”提供底层数据能力

⚙️ Caché 数据库的优势
Caché 在大规模健康数据场景中具备独特的性能与结构优势。
InterSystems 技术已管理 超过 10 亿条健康记录。
🧩 技术特点:
- 统一的多模型架构(对象 + 关系 + 文档)
- 高性能事务与查询引擎
- 分布式系统支持与集群能力

在国内,东华软件 的医院综合业务操作系统就采用过 Caché 数据库。其用户包括北京协和医院、四川大学华西医院等大型医疗机构。
💬 一句话总结:
Caché 是一款高性能、多模型的对象数据库,以极快的事务处理能力和灵活的数据模型著称,是众多医疗与金融核心系统的稳定底座。
🔒 完整性保障措施
在了解高可用前,先要明确:所有数据库系统都可能遇到意外故障。
Caché 为此设计了多层级的数据完整性与恢复机制。
🧱 1. 完整性分层
| 类型 | 含义 | 保障机制 |
|---|---|---|
| 结构完整性 | 确保磁盘块一致性与遍历性 | 写入映像日志(WIJ) + 内部算法 |
| 逻辑完整性 | 确保数据内容与事务一致性 | 事务日志 + 锁机制 + 应用互锁 |
当系统崩溃时,Caché 自动通过 WIJ(Write Image Journal) 技术恢复结构完整性;
通过 事务日志回放 保证逻辑一致性。
🔄 2. 两阶段写入机制(Two-Phase Write)
Caché 采用 两阶段写入保护机制 防止写入中断导致的数据损坏:
- 阶段一: 将数据更新请求写入中间日志
CACHE.WIJ。 - 阶段二: 再将更新同步至数据库文件。
若意外断电或崩溃,Caché 在启动时会:
- 检查 WIJ 日志;
- 执行恢复过程;
- 确保数据库结构一致;
- 自动进行安全关闭后备份。
⚠️ 尽管两阶段写入大幅减少风险,但不能完全防止数据丢失,如:
- 硬件损坏(内存/存储)
- OS 或文件系统故障
- WIJ 文件损坏
- 回写缓存断电丢失(需使用非易失性缓存)
👉 总结:完整性保护可最大限度减少因意外停机导致的数据损坏,但不能完全避免中断。
🧩 高可用方案比较
InterSystems 官方提供三类主流高可用(HA)方案:
| 方案类型 | 数据同步方式 | 优势 | 限制 |
|---|---|---|---|
| Caché 镜像 | 内置逻辑复制 | 秒级切换、独立存储、支持异地容灾 | 配置复杂,需要仲裁节点 |
| 操作系统群集(OS Cluster) | 共享存储切换 | 集成原生 OS 机制 | 依赖共享存储 |
| 虚拟化群集 | 虚拟机监控级恢复 | 简单、快速部署 | 容错粒度较粗、依赖虚拟化平台 |
✅ 推荐场景:
- 镜像模式:高可靠性、异地容灾、低延迟要求
- OS 群集:已有集群架构、希望统一管理的医院系统
- 虚拟化群集:轻量化部署、对 Caché 不熟悉的环境
⚙️ 高可用方案原理详解
🔁 Caché 镜像(Mirroring)
具有自动故障转移功能的镜像系统,采用 逻辑复制 + 独立存储 避免单点故障。
工作机制:
- 主节点(Primary)写入生产数据库;
- 备节点(Backup)实时同步日志;
- 仲裁节点(Arbiter)判断主节点故障并触发切换;
- 虚拟 IP 自动漂移至新主节点,切换过程仅需几秒。

特点:
- 无需共享存储,具备异地容灾能力;
- 支持同步与异步复制模式;
- 可扩展为报告节点(BI/报表用途)。
🖥️ 操作系统群集(OS Cluster)
利用系统级集群机制(Windows Server Cluster、IBM PowerHA、RHEL HA 等)实现高可用。
Caché 安装在共享存储上,主节点宕机后备用节点接管 IP 与磁盘并启动服务。

特点:
- 与 OS 原生集成;
- 故障切换时间较长(分钟级);
- 需共享存储高可靠性支持。
☁️ 虚拟化群集(Virtualization Cluster)
依赖虚拟化平台(如 VMware HA、Hyper-V Cluster)自动监测虚拟机状态。
发生故障时,自动在另一宿主机重新启动虚拟机。

特点:
- 实现简便,无需数据库层配置;
- 适合测试、开发、小型医院环境;
- 切换时间依赖虚拟机重启时间。
📘 结语
💬 Caché 数据库高可用方案虽成熟可靠,但部分仍依赖外部设施(集群、虚拟化)。
在如今信息化要求极高的医疗环境中,秒级切换、云原生与自动化恢复是未来方向。
🙌 如果本文对你有帮助,欢迎 点赞、收藏、转发
📌 关注公众号 「琴韵数舍」 获取更多医疗信息化与网络技术实践内容。
🔗 更多原创内容请访问:PureSoybean 的博客
💬 你的支持,是我持续更新的最大动力!