首页 > 技术文章 > Cache 和 MongoDB ,局抄 !

luoyx 2020-11-18 12:33 原文

最近接触客户过程中,遇到了部分业务采用 Cache 或 MongoDB 作为底层数据管理。下面是从网上收集的点滴资料用做备查(to看官:  不正确的地方欢迎指正哈!)

一、Cache数据库

cache是国外医疗行业用的多的数据库产品,国内部分医院已开始使用,以对象方式存储管理医患数据(HIS用的多)。

1、cache数据库的存取模式:采用多维数据存储数据;可以用各种技术存取数据。

2、cache数据库有一个多维数组引擎和一个分布式缓存协议。多维数组用于数据存储、并发管理、事务处理、过程管理,分布式缓存协议使得存取速度快。

3、cache数据库采用以下四种方式存取数据:

  (1)Web存取:cache服务器页面(CSP:cache server page),在数据服务器商运行,与他们存取的数据放在一起。

  (2)对象存取:cache支持多种面向对象建模技术,可以和ration rose双向开发。

  (3)SQL存取:SQL92、SQL网关技术,可以和其他关系型数据库共存(如Oracle、DB2、SQL Server、MySQL等),集成整合工作环境。

  (4)多维存取:兼容Open M 语言程序(看起有点高级,不熟,看官自己查查吧)。

4、多维数组(Global):一种类似树的存储形式,定义形式为 Global(“节点1”,“节点2”,“节点3”)=“数据”。可以建立自己的Global,添加、删除、修改、遍历其节点。

在下图基础上,把global可以映射为对象或者关系型格式,通过对象接口或基于SQL接口进行访问。

看网上论坛Oracle和cache几爷子的PK贴,唯一收获如下:

某三甲医院HIS系统(64位RedHat 5.3、Cache 2009.1版本,IBM HS22刀片8核Xeon5570的CPU)有4000万条记录(约1.5TB)计算的性能参考如下:

1、性能方案:

(1)单台服务器:数据库平均 1,190,000 次访问/秒,高峰2,021,000 次访问/秒

(2)多台服务器使用ECP技术情况下:

         1台服务器:数据库评价    992,000次访问/秒,高峰   1,690,000 次访问/秒;

         4台服务器:数据库评价 4,900,000次访问/秒,高峰   6,165,000 次访问/秒;

    8台服务器:数据库评价 8,900,000次访问/秒,高峰 16,690,000 次访问/秒。

2、分库问题:Cache分库的方法是使用 Global Mapping,能方便把数据拆分到不同的物理或逻辑服务器,完全不需要对应用做修改。

3、处理历史数据(死数据):医院数据不能随便删除,哪怕是确认无用的数据,Cache可以随时根据需要删除、修改、添加字段。

4、锁问题:Cache是基于Global节点的方式保存数据,锁机制可以方便地定义,可以锁到某个节点。

 

二、MongoDB

MongoDB是一个基于分布式文件存储的数据库,C++语言编写。能为 Web 应用提供可扩展的、高性能的数据存储解决方案,是一个介于关系数据库和非关系数据库之间的产品,它支持的数据结构非常松散,是类似 JSON 的 bson 格式,因此可以存储比较复杂的数据类型。

1、架构模式:复制集(Replica Set)、分片集群(Sharding clust)。

复制集通常是三个对等的节点构成一个“复制集”的集群,有“primary” 和“secondary” 等多种角色,其中 primary 负责读写请求;secondary 可以负责读请求(由配置决定)。

其中,secondary 紧跟 primary 并应用 write 操作;如果primary失效,则集群进行“多数派” 选举,选举出新的primary,即 failover机制(HA架构)。

好处:复制集解决了单点故障问题,也是MongoDB垂直扩展的最小部署单位;

缺点:集群数据容量受限于单个节点的磁盘大小,如果数据量不断增加,复制集不容易扩容。

Sharding cluster 分片集群是MongoDB 数据水平扩展的手段之一,扩容方便。将整个collection 的数据根据sharding key 被 sharding  到多个 MongoDB 节点上,即每个节点持有 collection 的一部分数据,这个集群持有全部数据,原则上 sharding可以支撑数 TB的数据。

 

数据存取原理不写了,网上一堆。

===================================

以上资料来自网络“局抄"----局部抄,哈哈,感谢原著的 牛人!

推荐阅读