目前所知的 Caché 是应用在医院信息系统(即 HIS),据说在欧美医疗卫生行业,Caché 占了 70% 的市场份额。国内的东华软件就是采用 Caché 数据库,东华软件在国内医院市场占有率大致为 20%,其中包括北京协和医院、四川大学华西医院等。
Caché 的特点:多维数据库架构,后关系型数据库,自带开发环境,完全面向对象。
抛开上面说的这些不说,除了因为医疗系统的封闭之外我实在是想不出有什么理由能够在医疗系统中长期运行这么多年。
在现在的设计来看,全是缺点,没有亮点。
那我们来吐槽下 Caché 数据库吧。
M 语言
Caché 数据使用的 M 语言进行编写的,这个语言实在是太小众了。
M 语言的诞生本来就是为了解决原来麻省总医院的病历管理问题,在上个世纪 60 年点,R 关系数据库还没有诞生的时候,M 语言确实能够在文本查询和映射带来不少的优势。
M 语言的先天问题就导致了缺乏很多高级语言有的特性,代码与其说简介还不如说晦涩难懂。
索引
数据查询大量依赖索引。
在前期一个培训教程,对一个不是非常大量的数据库,全部重构索引需要超过 1 个多星期,简直是吓坏了。
容灾部署
现在 Caché 的部署还使用的是非常古老的主从部署方案来实现 24 小时的不间断运行的。
这个怎么看都觉得不那么靠谱。
https://www.isharkfly.com/t/cache/15466