首页 > 其他 > 详细

数据对象存储优劣

时间:2016-10-29 22:11:22      阅读:212      评论:0      收藏:0      [点我收藏+]
工作中遇到问题分析记录,先直接抛问题。
 
现有三层业务 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 层数据污染,不易维护。

数据对象存储优劣

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!