服务的数据

服务独立后,剩下的就是如何处理数据。

1、规范化数据模型的问题

传统关系型数据库通过三大范式来约束数据存储,会使得查询涉及多关联(JOIN)时,查询性能严重低下。大量数据存储在一起,这种中心化思想,会造成访问瓶颈,可用性低。

2、数据去中心化

2.1、跨表查询

主要是避免数据层复杂连接查询,改为简单查询并由业务层将查询结果在内存中进行动态组装。

2.2、跨库查询

数据双写、冷热分离或者使用分布式中间件或数据库。

2.3、技术耦合场景

使用了特定某种数据存储容器相关的技术体系。如关系型数据库的存储过程、触发器,这些是典型的数据库工具级别的特有技术。因为每种数据存储容器对这些具体技术的实现和支持方式都有所不同,所以原则上就是不要用,都用代码实现。

3、数据去中心的流程

3.1代码分离

在业务层通过划分模块实现。

3.2重复数据库模式

对于多个模块都需要访问的数据进行数据双写、冷热分离或者使用分布式中间件或数据库。

3.3迁移数据读写操作

完成数据双写后,对代码模块进行读操作分离,只读取自己模块的数据库,使得不需要跨库查询。

3.4抽取服务化接口

完成数据读写操作的迁移、去除数据定时同步机制后,就可以将模块代码独立成服务。

总结:数据去中心化难点在于数据迁移复杂、人力和时间成本高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值