上一节我们讲到了,企业应用架构中的三层架构。本节先简单讨论一下三层架构中的数据源层的架构。
《企业应用架构模式》一书,想必多数人都看过。其中对数据源层给出了很多的架构方案。但它忽略了一个问题。那就是最底层的问题。具体来说,数据库的容量是有限的。表的容量也是有限的。一旦容量超标,那么,尽管你使用了它的所有架构,那么,一切均无济于事。因为,你面对的将是:要分库,同时也要分表。这时,你猛然回头,你会发现,目前的所有PHP开发框架,均不支持你的这一行为。你不得不改底层的这些东西。这一变更,会给你的应用带来多大的修改,你甚至都不知。于是,杯具就开始了。
所以,对于大的应用架构,特别在大型互联网应用架构,你就是在数据源层不使用中间件,那你必须为中间件留下接口。由此,我们会发现,当你要加载一个数据库链接时,你的链件条件是,库与表同时要指定。
最常见的做法,比如,使用用户名的HASH,取结果的第一位定库,第二位定表。这样你有16个库,每个库中有16个表。这时,我们需要一个DatabaseManager的类,作为链接的前置操作。此类当然是一个抽象类。由你继承实现。以保证当前的算法符合你当前的应用的需求。因为有了多个库,因此,必须要有ConnectionManager类来管理。这样,同一请求中用到多个链接才能保证同时存在。
可以看出,正是由这些类的存在,也就为您以后要使用中间件提供了独立的变更的类,不会影响到其它的部分。自然,如果你在这些类中,直接将常用的中间件的接口写好,则今后使用更加方便。
数据源层,对于多种数据库的支持,现有的PHP框架中,很多都实现了。包括象玩具级别的CodeIgnaiter,它也用动态继承实现了多数据库支持。但如果你对它分析一下便知。数据库链接的部分没有独立成为一个类,使得数据库类相当复杂,不符合面向对象的单一责职的原则。这当然是对大型网站来说的。一个企业网站,超小网站,用它是足够了。但从前面我们所讲的情况来看,它是不能方便地改成大型网站架构的。
分享到:
相关推荐
数据仓库架构通常包括以下几个层次:源系统、数据接入层、数据存储层、数据处理层和应用层。源系统包含各种业务系统的原始数据;数据接入层负责数据的抽取和预处理;数据存储层则分为数据仓库和数据 mart,前者存储...
BI数据架构可以分为五个层次:近源模型层、整合模型层、共性加工层、应用集市层和技术缓冲层。 近源模型层是BI数据架构的最底层,主要是对源系统模型的仿真,保持业务数据原貌不变。该层次的设计重点是基本依照源...
该架构方案主要分为三层:数据源层、数据仓库层和应用层。 数据源层 数据源层是指企业内部和外部的数据源,包括数据库、文件、消息队列等。这些数据源将被提炼和转换,以便于后续的数据处理和分析。 数据仓库层 ...
"大数据——数据清洗加工技术架构方案(修改版)" 在大数据时代,数据清洗加工技术架构方案是一个非常重要的组成部分。数据清洗是指对原始数据进行处理、转换和标准化,以确保数据的质量和一致性。今天,我们将对...
**MSTR架构图详解——MSTR开发与部署架构** MSTR,全称为MicroStrategy,是一款知名的企业级商业智能(BI)平台,它为企业提供数据可视化、报表制作、数据分析以及预测建模等多种功能。MSTR的架构设计是其高效运行...
### 电子电气架构——车载电子电气系统 #### 一、系统定义及电子电气架构概述 在探讨电子电气架构(Electrical Electronic Architecture, EEA)之前,我们首先要理解“系统”这一概念。根据定义,系统是由多个组件...
数据仓库的架构通常包括多个层次,如数据源、数据整合层、数据存储层和数据展现层。数据源是原始数据的来源;数据整合层通过ETL过程将数据清洗、转换并加载到数据仓库;数据存储层可能包含关系型数据库(ROLAP)或...
《J2EE架构与应用开发》课程设计BBS——程序源论坛是一次针对程序爱好者交流平台的实践项目,旨在提供一个高效、便捷的在线讨论环境。在这个系统中,重点涉及了J2EE技术栈的运用,包括Java Web开发、数据库设计以及...
1. **贴源模型层(ODS)**:此层最接近源系统,基本上按照源系统的模式构建,目的是保持业务数据的原始状态,便于快速访问和更新。 2. **技术缓冲层**:这是一个纯技术层,主要用于数据加载和转换,通常会保持与源...
总之,"ASP.NET源码——Linq三层模式之增删改源码.zip"提供了一个实践性的学习资源,帮助开发者掌握ASP.NET和LINQ在实际项目中的应用,以及如何构建清晰、可维护的三层架构。通过分析和理解这个示例代码,你将能够...
新零售模式下生鲜电商盈利模式研究——以盒马鲜生为例 摘要: 新零售模式是将线上电子商务与线下传统门店进行深度融合的一种新型零售方式。盒马鲜生作为其中的佼佼者,以其线上线下一体化的创新模式,迅速成长为...
### 金融应用架构——信贷业务持续创新当中的大数据风控架构 在金融领域,尤其是信贷业务中,大数据风控架构已经成为推动持续创新的关键因素之一。本文档旨在深入探讨金融应用架构下的大数据风控体系,通过分析该...
业务逻辑层处理应用的商业规则和逻辑,与数据访问层交互,而数据访问层则负责与数据库或其他数据存储进行交互。 RedSoft多层分布式架构可能采用了实体框架(Entity Framework)或NHibernate等ORM(对象关系映射)...
原始数据池作为基础,主要负责存储未经处理的大量原始数据,这些数据可能来自各种设备、传感器或其他数据源。由于原始数据通常难以直接利用,因此需要进一步处理。模拟数据池用于存放机械设备生成的模拟数据,如温度...
### 大数据平台架构——恒丰银行基于大数据技术重塑数据仓库及应用 #### 背景与概述 在数字化转型的背景下,恒丰银行作为一家金融机构,正面临着日益增长的数据处理需求。为了应对这一挑战,该银行采取了基于...
三层抽象工厂模式是一种常见的软件开发架构,主要用于组织和分离应用程序中的业务逻辑、数据访问和用户界面这三层。这种模式能够提高代码的可扩展性和可维护性,降低各层之间的耦合度。 首先,我们来看看三层抽象...
### 车载电子电器架构——车辆模式管理 #### 一、车辆模式管理概述 车辆模式管理(Vehicle Mode Management, VMM)是现代车辆电子架构中的一个重要组成部分,它旨在通过智能管理和分配车辆的能量资源,来优化车辆...