
全对称结构,没有中央服务器
web方案:
只从本地数据库检索符合条件的记录,给出结果
每次检索都要从本地服务器的海量数据中进行
数据库方案:
数据库保存所有服务器的索引内容
缓存命中率高的记录,减少检索时间
服务器负载分析:
服务器负载假设:
一百个结点,每结点一百人同时使用,每个结点一万条记录
web服务器:同时一百线程在本地数据库服务器检索
数据库服务器:每次接收一百个查询请求;每个请求要从一百万条索引中检索(最坏的情况);缓冲机制可以稍微减轻负担
数据更新 *** 作:
同时更新所有数据库/只更新本地,服务器间相互同步
方案二(数据库保存本地索引及少量缓冲)
每高校作为一个结点
所有结点全对称结构,网络中没有一个中央服务器
web方案:
接收到请求时同时多线程向其它服务器同时搜索(服务器压力问题?)
数据库方案:
数据库保存本地数据
数据库保存一定量缓冲数据,
服务器负载分析:
服务器负载假设:
一百个结点,每结点一百人同时使用
则每个web服务器同时发起一万个线程向其它数据服务器搜索(oops!)
每个数据库服务器会同时接收到一万个查询请求(oops!)
采用学习过程只能少量减少查询请求和web服务器搜索线程
数据更新 *** 作:
只更新本地
方案三(中央服务器方案一)
每高校一个结点
每结点结构相同,连接到同一个中央服务器
web方案
每个查询向中央服务器进行,由中央服务器实行检索,中央服务器返回检索结果
数据库方案
中央数据库保存所有索引信息
每结点可以只用小型数据库保存本地用户和其它信息即可
服务器负载分析:
服务器负载假设:
一百个结点,每结点一百人同时使用,每结点资料记录一万条
web服务器:同时发起一百个进程向中央数据库查询
数据库服务器(中央):同时接收一万条查询请求并返回大容量结果
数据库服务器(结点):少量工作
数据更新 *** 作:
只更新中央服务器
方案四(中央服务器方案二)
每高校一个结点
每结点结构相同,连接到同一中央服务器
web方案:
每个查询向中央服务器进行,由中央服务器根据查询内容进行转发到结点数据库,再由结点数据库返回结果
数据库方案:
中央服务器保存各结点分类信息,根据页面请求的分类转发查询到相应服务器
服务器负载分析:
服务器负载假设:
一百个结点,每结点一百人同时使用,每结点资料记录一万条,每结点一百个类别
web服务器:同时一百个进程向中央数据库查询
数据库服务器(中央):同时接收一万条请求并转发
数据库服务器(结点):从中央服务器接收查询请求,最坏情况下每结点接收到一万条查询请求
数据更新 *** 作:
只更新本地服务器
分类变化时更新中央服务器
这样可以么?
分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式模型向分布式架构发展,基于关系型的分布式数据库在保留了传统数据库的数据模型和基本特征下,从集中式存储走向分布式存储,从集中式计算走向分布式计算。
另一方面,随着数据量越来越大,关系型数据库开始暴露出一些难以克服的缺点,以NoSQL 为代表的非关系型数据库,其高可扩展性、高并发性等优势出现了快速发展,一时间市场上出现了大量的key-value 存储系统、文档型数据库等NoSQL 数据库产品。NoSQL 类型数据库正日渐成为大数据时代下分布式数据库领域的主力。
这种组织数据库的方法克服了物理中心数据库组织的弱点。 首先,降低了数据传送代价,因为大多数的对数据库的访问 *** 作都是针对局部数据库的,而不是对其他位置的数据库访问; 其次,系统的可靠性提高了很多,因为当网络出现故障时,仍然允许对局部数据库的 *** 作,而且一个位置的故障不影响其他位置的处理工作,只有当访问出现故障位置的数据时,在某种程度上才受影响; 第三,便于系统的扩充,增加一个新的局部数据库,或在某个位置扩充一台适当的小型计算机,都很容易实现。然而有些功能要付出更高的代价。例如,为了调配在几个位置上的活动,事务管理的性能比在中心数据库时花费更高,而且甚至抵消许多其他的优点。 分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式 *** 作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
分布式 *** 作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式 *** 作系统的区别在于资源管理、进程通信和系统结构等方面。 分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。 分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。 分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来 *** 纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。
Hadoop的分布式文件系统HDFS,作为开源的分布式平台,为目前流行的很多分布式数据库提供了支持,譬如HBase等。Yonghong的分布式文件系统ZFS,为分布式数据集市Z-DataMart提供了底层平台。
精确的分布式数据库定义:分布式数据库是由一组数据组成的,这组数据分布在计算机网络中的不同的计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个节点也能通过网络通信子系统执行全局应用。与之前的定义相比,更注重场地自治性以及自治场地之间的协作性。分布式数据库系统:一个粗略的定义是“分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同节点上(亦称场地)上,逻辑上是属于同一个系统。” 这里强调两点:
(1)分布性:数据库中的数据不是存储在同一场地,更确切的说,不存储在同一计算机的存储设备上,这就可以和集中式数据库相互区别。
(2)逻辑整体性:这些数据逻辑上是互相联系的,是一个整体(逻辑上如同集中数据库)。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)