上一节我们讲到了,企业应用架构中的三层架构。本节先简单讨论一下三层架构中的数据源层的架构。
《企业应用架构模式》一书,想必多数人都看过。其中对数据源层给出了很多的架构方案。但它忽略了一个问题。那就是最底层的问题。具体来说,数据库的容量是有限的。表的容量也是有限的。一旦容量超标,那么,尽管你使用了它的所有架构,那么,一切均无济于事。因为,你面对的将是:要分库,同时也要分表。这时,你猛然回头,你会发现,目前的所有PHP开发框架,均不支持你的这一行为。你不得不改底层的这些东西。这一变更,会给你的应用带来多大的修改,你甚至都不知。于是,杯具就开始了。
所以,对于大的应用架构,特别在大型互联网应用架构,你就是在数据源层不使用中间件,那你必须为中间件留下接口。由此,我们会发现,当你要加载一个数据库链接时,你的链件条件是,库与表同时要指定。
最常见的做法,比如,使用用户名的HASH,取结果的第一位定库,第二位定表。这样你有16个库,每个库中有16个表。这时,我们需要一个DatabaseManager的类,作为链接的前置操作。此类当然是一个抽象类。由你继承实现。以保证当前的算法符合你当前的应用的需求。因为有了多个库,因此,必须要有ConnectionManager类来管理。这样,同一请求中用到多个链接才能保证同时存在。
可以看出,正是由这些类的存在,也就为您以后要使用中间件提供了独立的变更的类,不会影响到其它的部分。自然,如果你在这些类中,直接将常用的中间件的接口写好,则今后使用更加方便。
数据源层,对于多种数据库的支持,现有的PHP框架中,很多都实现了。包括象玩具级别的CodeIgnaiter,它也用动态继承实现了多数据库支持。但如果你对它分析一下便知。数据库链接的部分没有独立成为一个类,使得数据库类相当复杂,不符合面向对象的单一责职的原则。这当然是对大型网站来说的。一个企业网站,超小网站,用它是足够了。但从前面我们所讲的情况来看,它是不能方便地改成大型网站架构的。
分享到:
相关推荐
⼤数据整理 ⼤数据整理——数据集成 数据集成 数据集成 数据集成 1.背景: 背景: 因业务需要,事业单位内部普遍构建了多个异构的信息系统,这些信息系统中管理的数据源彼此独⽴、相互封闭,形成"信息孤岛"⽆法形成 ...
数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。...因 此数据仓库的基本架构主要包含的是数据流入流出的过程,可以分为三层——源数据、数据 仓库、数据应用:
阿⾥巴巴⼤数据之路 阿⾥巴巴⼤数据之路——数据技术篇 数据技术篇 ⼀、整体架构 ⼀、整体架构 从下⾄上依次分为数据采集层、数据计算层、数据服务层、数据应⽤层 数据采集层:以DataX为代表的数据同步⼯具和同步中...
#资源达人分享计划#
数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持...因 此数据仓库的基本架构主要包含的是数据流入流出的过程,可以分为三层——源数据、数据 仓库、数据应用,本视频提供了比较全面的讲解。
数据结构C2B2B语言描述——应用标准模板库STL第2版源代码
数据源都在产生大量的、有价值的数据流。然而,单一的机器处理能力并没有跟上数据增长的 速度,使得这些有价值的数据越来越难以被使用。以至于越来越多的组织——不仅仅是互联网 公司,还有一些传统企业和研究室——...
数据仓库作为一种新技术,主要是为决策支持系统和OLAP应用提供软件架构。它从异构和分布式数据源中收集数据,这些数据首先被聚合,然后按照OLAP所定义的组织标准进行定制。数据仓库的结构能够通过一种分层存储的方式...
4.3.2组合模式的现实应用——资源管理器 117 4.3.3C#实例——图形树状对象结构 118 4.3.4Java实例——文档格式化 121 4.3.5优势和缺陷 124 4.3.6应用情景 125 4.4DecoratorPattern(装饰模式) 125 4.4.1定义 ...
4.3.2组合模式的现实应用——资源管理器 117 4.3.3C#实例——图形树状对象结构 118 4.3.4Java实例——文档格式化 121 4.3.5优势和缺陷 124 4.3.6应用情景 125 4.4DecoratorPattern(装饰模式) 125 4.4.1定义 ...
第1章:XML的特征及应用场合简介 第2章:XML语法 第3章:XML名称空间 第4章:XML数据结构 第5章:XML路径查询技术 第6章:应用:使用内存模型编程处理XML文档 第7章:应用:使用流式模型处理XML文档 第8章:应用:...
XML——这种用于表示客户端与服务器间数据交换有效负载的格式,几乎已经成了Web services的同义词。然而,由于Ajax和REST技术的出现影响了应用程序架构,这迫使人们开始寻求`XML的替代品,如:JavaScript Object ...
随着大量企业上云以及云端应用的高速发展,数据中心网络的规模和架构都发生了巨大的变化,网络虚拟化给网络运维工作带来了新的巨大挑战。一方面,传统的分光、镜像无法覆盖虚拟化接入层;古老的 Netflow 也无法采集 ...
一个数据仓库是一个数据的仓库,数据仓库里的数据是其他数据介质可操作数据的副本,这些数据通常是从多个数据源获取的,并且是对决策支持有用的,而不是最原始的数据。“数据仓库”,并不是数据库的别称,数据仓库的数据也
物联网工程大作业——环境数据监控平台,选题来源:基于多种传感器的技术应用+源代码+文档说明+系统架构 - 小白不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行...
第一部分 设计模式初体验第1章 你好,设计模式1.1 这是一本什么书1.2 开始前的准备1.3 预备知识1.4 似曾相识的设计1.5 设计模式的起源——模型、视图和控制器1.5.1 在模型对象中封装数据和基本行为1.5.2 使用视图...
例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分...
ASP.NET 2.0 中的数据源控件 使用 ASP.NET 2.0 ObjectDataSource 控件 ASP.NET 2.0 的内部变化 使用SQL Cache Dependency 代替 Ibatisnet 提供的CacheModel ASP.NET 2.0中小心Profile命名冲突 使用ASP.NET 2.0 ...
数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。 数据仓库 ,由数据仓库之父比尔·恩门...