数据异构

什么是数据异构

数据异构体现在很多个层次上:

  1. 数据存储地点的异构:数据存储在多个物理位置上,比如mysql集群,在北京,上海都有节点。

  2. 数据格式的异构:数据的存储管理机制不同,可以是关系型数据库系统,如:Mysql、SQL Server、DB2等,也可以是非关系型数据库,比如redis,MongoDB等,也可以是文件行二维数据,如:txt、CSV、XLS等。

  3. 数据的逻辑模型异构:数据分别在不同的业务逻辑中存储和维护,从而相同意义的数据存在表现的异构;如:独立的销售系统和独立的采购系统中存在产品的字段不相同等。

  4. 操作系统的异构;数据的存储来源于不同的操作系统,如:Unix、Windows、Linux、OS/400等。

  5. 计算机体系结构的异构;数据的物理存储来源于不同体系结构的计算机中,如:大型机、小型机、工作站、PC或嵌入式系统中。

数据格式异构实现的方式

目前业界比较流行的数据格式异构方式有三种:

  • 双写:在写入数据的时候,同时将数据写入mysql和缓存;

  • MQ:写入mysql成功后,发一个mq消息,缓存读取mq消息并将消息写入缓存;

  • Binlog:写入mysql后,缓存系统x消费binlog,将变动写入缓存。

三种实现方式的优缺点对比:

双写MQBinlog

数据一致性

存在不一致

存在不一致

存在不一致

数据延迟

系统耦合度

系统复杂度

Last updated