码迷,mamicode.com
首页 > 其他好文 > 详细

数据对象存储优劣

时间:2016-10-29 22:11:47      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:问题分析   挂载   业务   简单   选择   解决   三层   存储   font   

工作中遇到问题分析记录,先直接抛问题。
 
现有三层业务 A, B, C
 
原始数据 A 层,存储着 基础数据对象 Map => a... size 不小于 1000, 随机抛出 一个 数据对象( a1)
 
底层数据 B 层, 捕获数据A层 抛出的对象 a1 后, 经过一系列 db 查询, 深度算法 计算 等处理, 生成 a1 对应的结果 b1。B层将数据抛出
 
业务 C 层, 捕获B 层 数据,进行业务处理。
 
那么,问题就来了。如果A层, 在一段时间内多次 抛出 对象 a1 。 B 层 每次将要 消耗大量的资源处理 来 产出 b1。 为了解决这个问题, 鄙人想到三种方案, 分析并记录。 秘籍就是根据优缺点按实际情况选择(鄙人不推荐第三种)~
 
1. 每次按正常流程 走 A -> B -> C
优点: 无需多余的存储开销,整体流程 清晰 简单。数据更新及时
缺点: 计算,查询 开销大,结果产生速度,依赖于网络 以及 计算难易度
 
2. 在B 层 中维护一个 Map {a1_key => b1}
优点: 结构清晰,计算,查询开销小,结果产生速度 较快。无数据污染。
缺点: 需要多维护一个 Map,对于最新的 db 数据 更新不及时。
 
3. 将B 层中的结果 挂载至 对象 a1 上
优点: 计算,查询开销小,产出快。存取极其方便。
缺点: 存在对A 层数据污染,不易维护。

数据对象存储优劣

标签:问题分析   挂载   业务   简单   选择   解决   三层   存储   font   

原文地址:http://www.cnblogs.com/fengpan/p/6003025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!