分布式存储系统数据库系统产生的根本原因是什么

> 问题详情
下列关于“分布式数据库系统”的叙述中,正确的是A.分散在各节点的数据是不相关的B.用户可以对远程
悬赏:0&答案豆
提问人:匿名网友
发布时间:
下列关于“分布式数据库系统”的叙述中,正确的是A.分散在各节点的数据是不相关的B.用户可以对远程数据进行访问,但必须指明数据的存储节点C.每一个节点是一个独立的数据库系统,既能完成局部应用,也支持全局应用D.数据可以分散在不同节点的计算机上,但必须在同一台计算机上进行数据处理请帮忙给出正确答案和分析,谢谢!
网友回答(共0条)
我有更好的答案
您可能感兴趣的试题
1在PowerDesigner的组成模块中,用于物理数据库的设计和应用对象及数据组件的生成工具是A.PowerDesigner Process AnalystB.PowerDesigner AppModelerC.PowerDesigner MetalWorksD.PowerDesigner Warehouse Architect2数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的A.可靠性B.一致性C.完整性D.安全性
相关考试课程
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
您今天可查看的免费答案已达峰值,如需继续查看,请选择下列一种方式:
19.8 元开通超级会员享永久无限制查看特权。
1 元购买本题答案。分布式数据库系统及其应用课后习题练习_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
分布式数据库系统及其应用课后习题练习
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢数据库(16)
随着业务量的发展,数据库系统有集中式走向分布式是必然选择。
1 在介绍分布式系统是先来做一下概念说明:
我们自在看分布式数据库的相关知识的时候,常常会看到集群,分布式集群,分布式系统等,其实集群与分布式是有区别的:
(1)集群:集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:可扩展性和高可用性。
(2)分布式:所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
(3)由此可见:分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。(具体看博客&
(4)但是就数据库:其实也可以理解成一样,目的都是为了实现数据库的负载均衡,高可用性。他们之间的不同要看怎么设计了,分布式一般是各分布节点根据哈希算法或其他算法分散存储数据,意思就是所有节点的数据加起来才算是整体数据。从应用端传过来的请求只操作涉及到的某个节点或部分节点就可完成一次请求。
&&& 数据库集群很多设计的都是所有节点服务器之间的数据是完全同步的。当一个应用发出请求,首先发给负载服务器,根据应用系统提供的负载均衡算法或是数据库本身的负载均衡算法,选择一个负载最小节点来执行请求并返回数据,同时集群中还有一个同步服务器来保证各节点中的数据一致。
总结:可以理解成一样,而且分布式与集群设计的时候也可以一起用,因此我们也接收模糊概念,具体情况具体分析。
2 企业数据库发展的路线:
大部分企业数据库开始是单服务器模式,之后业务量变大会升级硬件提升处理能力,之后会搭建master-slave主从复制结构(读写分离),之后是建立分布式系统,实现水平或垂直切分。
3 分布式数据库发展概述:
&& 20世纪90年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品,同时分布式数据库逐步向客户机/服务器模式发展。
(1)DDBS的分类:同构同质型DDBS、同构异质型DDBS、异构型DDBS。
同构同质型DDBS:各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。
同构异质型DDBS:各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQL Server等。
异构型DDBS:各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。
(2)数据分片类型:水平分片、垂直分片、导出分片、混合分片。
水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。
垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。
导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。
混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。
4分布式数据库管理系统架构
接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该要求。访问网络数据字典,了解如何请求和使用其中的信息。如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。通信接口功能。在用户、局部DBMS和其他计算机的DBMS之间进行协调。在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在着差别。
关于分布式数据库理论方面的知识可以看博客与。
4 分布式数据库系统的实现技术
&& 现在大部分的数据库都支持分布式技术,对于分布式数据库的实现数据库厂商与用户都做了大量的研究。厂商推出的集群解决方案主要有:SQLSERVER Cluster、OracleRAC、MySQLCluster等,如果采用厂商的解决方案,会对厂商的技术产生依赖。现在用户大都基于开源项目自己实现一个分布式系统,特别是互联网公司基本都是基于mysql实现分布式数据库系统。自己实现分布式系统的话很多都是基于中间件技术,中间件技术要根据数据库系统具体选择或者实现一个,比如,应用于mysql的amoeba中间件。
(1)厂商解决方案:
对于厂商解决方案大都是厂商根据自己公司数据库的特点提出的方法:
SQL SERVER的集群模式:
这种结构只能说是一种故障转移的机制,当有一个节点出现问题后把负载转移到另一个节点上。在负载能力上和扩展性上没有任何办法,而且还浪费了硬件资源
Oracle Real Application Clusters (RAC):
&&& Oracle Rac最多可支持64个节点,基本上算是解决了性能,扩展性的问题了,但是它在存储上还是一个单点,且不说出现故障怎么办,IO也可能会成为性能瓶颈。 我们都知道一个数据库大到一定程度的时候,在物理上分区才能从根本上解决问题,对几十万数据进行查找和几百万上千万的数据进行查找在系统的消耗上以及响应时间上有着几何级的降低。
MySQLCluster
MySQL cluster和Oracle RAC完全不同,它采用Shared-nothing架构。整个集群由管理节点(ndb_mgmd),处理节点(mysqld)和存储节点(ndbd)组 成,不存在一个共享的存储设备。MySQLcluster主要利用了NDB存储引擎来实现,NDB存储引擎是一个内存式存储引擎,要求数据必须全部加载到内存之中。数据被自动分布在集群中的不同存储节点上,每个存储节点只保存完整数据的一个分片(fragment)。同时,用户可以设置同一份数据保存在多个不同的存储节点上,以保证单点故障不会造成数据丢失。
虽然MySQLcluster目前性能还不理想,但是share nothing的架构一定是未来的趋势,Oracle接手MySQL之后,也在大力发展MySQL cluster,我对MySQL cluster的前景抱有很大的期待。
(2)自己实现分布式数据库系统:
&& 对于自己实现一个分布式数据库系统以构建一个高可用的数据系统,提高数据库的读写能力,现在常用的方法是数据分片与读写分离。基于中间件实现的分布式系统结构如下:
Cluster Killer中间件:
从图例中可以看出,下面的像网格一样的机器叫数据层,每个机器上存储着数据全集的一个分区,每一行组成一个数据全集,每一列是某个分区的多份相同的数据从而达到查询时负载均衡的效果,同时也是高可用性的保障:某个列的机器出现问题后其他的机器会负载访问。为了不让这样一个复杂的结构暴露给应用程序,在数据层上面又放了一层机器叫中间层,中间层机器的数据库中驻留着的中间件来处理SQL语句,根据SQL语句的类型和条件来决定由哪些机器来提供服务。在中间层的外面加一个负载均衡设备, 这样应用程序或者开发/维护的人员通过负载均衡设备连接到中间层的任意一台机器上操作,感觉就像还在使用原来的一个数据库那样,易用性非常好。
Amoebafor MySQL
Amoeba for MySQL 位于Client、Database Server(s)之间,具有负载均衡、高可用性、sql过滤、可承受高并发、读写分离、Query Route(解析sql query语句,并且根据条件与预先设定的规则,请求到指定的目标数据库。可并发请求多台数据库合并结果)、对客户端透明,能降低数据切分带来的复杂多数据库结构、数据切分规则给应用带来的影响。
对于更具体的能容要看转载的博客:
可拓展的分布式系统:http://blog.csdn.net/u/article/details/
大型分布式系统应用案例:http://blog.csdn.net/u/article/details/
amoeba for mysql 分布式数据库Proxy解决方案:http://blog.csdn.net/u/article/details/
浅谈mysql集群:http://blog.csdn.net/u/article/details/
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:26656次
排名:千里之外
原创:20篇
转载:53篇}

我要回帖

更多关于 分布式系统设计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信