以前谈过重用的粒度问题,今天也谈谈冗余的粒度。
1. 数据库字段的冗余
好处1:合适字段的冗余,对于提供数据库的查询速度会有很大提升,因为可以不用于其他表join去获取数据
好处2:在垂直分库的情况下,丧失了join数据表的能力,为了不让业务受伤害,在表上加上一些冗余,同样可以满足业务的需求
坏处:需要在多个表中维护数据的一致性
2. 业务中多个表的冗余
一个最简单的道理,对于大型互联网,比如一次交易,数据会放入不同的业务系统中。比如:买家的交易信息、卖家的交易信息、支付订单的信息、收费的信息、账务的信息、会计的信息。
好处:其实这就是数据的冗余,因为对于SOA化的系统来说,每个业务系统都需要处理自己的数据。
坏处:同样需要保持数据的一致性,而且由于数据可能分散于不同的数据库中,还需要两阶段事务或者补偿事务去保持数据的一致性。
3. 数据库备份的冗余
好处:对于大型互联网公司,需要保持高可用,就必须保持一份数据的备份,以防master数据库down机
坏处:备份数据库和主数据库之间的数据,可能会有短时间间隔的数据没有同步。
4.应用服务器的冗余
好处:与负载均衡结合,破除单点问题,使我们的服务是高可用、可伸缩的
坏处:无非是多个服务器的运维问题,代价很低。
总结:冗余的原因有2点
1:提高业务的处理速度
2:在不能join的情况下,保持业务不受伤害
3:防止单点,高可用、可伸缩
分享到:
相关推荐
《多粒度形式背景的不确定性度量与最优粒度选择》这篇论文由李金海和贺建君撰写,发表在《控制与决策》2022年第37卷第5期上,主要探讨了多粒度...通过信息熵这一量化工具,为处理复杂多粒度问题提供了新的思路和方法。
为了解决这些问题,出现了更为先进的CSS模块化方案,如CSS Modules,它允许每个组件拥有私有样式,避免了样式污染,增强了组件的封装性。 #### 5. 传统JS模块组织 早期的JavaScript模块化尝试包括CommonJS和AMD...
本文提出了一种基于知识粒度的属性约简算法,通过引入属性重要度的概念,有效地解决了属性约简问题。该算法不仅提供了有效的搜索策略,还具有良好的时间和空间性能,使其成为处理大数据集的理想选择。未来的研究可以...
SRAM型FPGA的基于可观性度量的选择性三模冗余方法.pdf
在数据预处理中,需要明确定义问题的粒度与答案类型,以便在生成过程中有明确的目标。此外,还需要对训练数据进行筛选和清洗,删除冗余和不相关的数据,保证训练数据的质量和多样性。 二、模型架构设计 模型架构...
从给定的文件内容中可以得知,粒度计算(Granular Computing)是处理模糊、不精确、不一致和部分真值问题的一种智能计算理论与方法。它是基于概念空间划分的理论,并且包含了模糊集理论、粗糙集理论、商空间理论等,...
因此,如何选择一个适合问题的粒度层次,即局部最优粒度,是多粒度决策系统中的关键问题。 属性约简是数据分析和模式识别中的一个基本方法,它能够去除冗余的属性,提高数据处理的效率和效果。在多粒度决策系统中,...
通过引入细粒度特征,该软件不仅进一步减少了代码冗余,还在保持原有功能的基础上增强了其灵活性和可扩展性。 #### 结论 通过本文的探讨,我们可以看到特征粒度在软件生产线中的重要性以及如何通过创新工具如 CIDE ...
针对战术弹道导弹的特点,提出简化反导作战耦合任务冗余耦合变量的策略。分析耦合变量的组成,根据全局灵敏度等式,推导出判断冗余耦合变量的依据。基于布尔型设计结构矩阵、可达矩阵和强连通矩阵实现粗粒度定耦操作...
这种方法既能够保证系统的安全性,又能减少代码的冗余,提高可维护性。对于大型企业应用来说,这样的设计模式是相当有价值的,因为它允许我们在不改变核心业务逻辑的情况下,轻松地调整和增强权限控制策略。
3. 快速生成树协议(RSTP)和多生成树协议(MSTP):这些是STP的改进版本,提供了更快的收敛速度和更细粒度的流量控制。RSTP减少了生成树计算的时间,而MSTP允许在不同的域内使用多个独立的生成树,提高了资源利用率...
本文提出了一种基于代价敏感的序贯三支决策最优粒度选择方法,旨在解决现有的代价敏感问题。该方法通过卡方检验剔除高相关性的条件属性,利用信息增益计算属性重要度,并根据得到的属性重要度序列构建多粒度空间。...
然而,传统的GSVM 存在一个问题,即它对所有信息粒度的处理方式相同,这可能导致距离超平面较近的重要信息粒(强信息粒)没有得到充分利用,而距离较远的次要信息粒(弱信息粒)被过度保留,从而影响了SVM 的学习...
多粒度属性约简是粗集理论中的一个重要研究领域,主要关注于如何在保留原有数据信息的前提下,通过选择一组最小的属性子集来减少数据集中的冗余属性。多粒度属性约简在处理不确定性和模糊性信息方面具有优势,因为其...
设计模式的掌握能够帮助他们更加高效地解决设计问题,而小粒度架构设计的理解则能让他们在代码层面实现更加稳固和灵活的软件系统。软件重构技术和软件重用技术的运用能够为软件系统的长期健康发展提供强有力的支持,...