上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.2 延伸性
延伸性即以发展的眼光看待问题,通过对未来一定周期内企业内、外部因素的预估,为架构升级和拓展等预留空间,以满足发展变化的需要。从概念范围上看,延伸性掩盖了可扩展性、可升级性、系统解耦、功能解耦等。延伸性的主要影响因素包括技术趋势、应用需求、业务状态。
• 技术趋势:技术的发展日新月异,在进行数据架构设计时,需要考虑技术体系、开发语言、架构模式等,这会影响后续系统的迁移、升级、扩展,以及数据功能的开发、集成、部署,甚至人员能力的覆盖度和人力资源的保障等问题。
• 应用需求:其经常性变更要求在服务状态、服务模式、场景分布、权限管理、负载均衡、应用集成与分离、数据与功能的隔离等方面更加弹性可控。
• 业务状态:企业在不同的发展阶段会面临不同的业务状态,可能会涉及从数据源、中间处理、数据计算到数据输出的全流程的需求变更,这对数据架构的重构、升级、扩展等提出了更高的要求。
与延伸性对应的核心内容如下。
• 服务器和节点扩展:服务器或集群必须支持弹性扩展,最好具备按需自动收缩和扩展的双重能力,以适应高峰和低谷两类不同的资源需求情况并弹性控制成本。
• 数据结构扩展:数据库选型和结构设计除需要满足现有需求外,还需要高度适应结构的动态变化;同时需要设计一套合理的数据规范和自动适配机制,以满足数据结构映射、功能对接、数据交换等方面的需求。
• 系统接口扩展:系统中的数据存储、计算、算法模型及数据结果等都需要通过接口的方式来提供能力输出,以满足可能产生的外部应用需求。
• 系统和功能解耦:在很多数据开发场景中,功能复杂度会随着需求逐步增加。此时会有越来越多的系统和功能集成到一个系统中。系统和功能解耦会让复杂系统的开发、测试、部署、运维更加容易,也更便于针对系统瓶颈进行模块化和针对性的升级。