‘壹’ 什么叫分布式数据库,有什么优点和缺点
1.分布式数据库是数据库的一种,是数据库技术和网络技术的结合产物。
2.各有优点和缺点.分布式数据库分为逻辑上分部物理上分布及逻辑上分布物理上集中两种。
是的,分布式数据文件便于数据库的管理维护。
‘贰’ 云数据库有哪些优点劣势
首先:云数据库具有以下几个显着特点
1.云存储服务类型
2.完美兼容MySQL协议、高性能、高可靠、易用、便捷的MySQL集群服务
3.兼具哪闹首备份、扩容、迁移等功能,用户可以方便的进行数据库的管理
4.高度的虚拟化包括服务器、存储、网络、应用等虚拟化等
5.更加智能化、自动化、便捷化、规模化和标准化
基于云数据库解决方案分为两个基本类别:数据库服务(DBaaS)和数据服务(DaaS),这两者间的主要区别在于数据是怎样管理的。
“云数据弯备库VS传统数据库”优势
更高性价比:
这个因素也是企业考虑使用云数据库的首要因素!使用基于云数据库解决方案,可从硬件、软件许可以及服务实施等方面大幅降低运营成本和支出,你只需要对所使用的部分买单。
扩展性与灵活性更高:
数据库托管公司往往处于有利位置,为了得到更高的效率并减少未使用的空间而使资源得到最大化。云服务提供商会根据你不断变化的业务需求而对服务进行增加或缩减。
更高效:
提供了硬件共享、流程自动化和技术熟练的好处,可以从任何地方、使用任何电脑、移动设备或浏览器访问数据库,能从整体上降低资源的使用。
“云数据库VS传统数据库”劣势
隐私安李数全问题:
云计算中一个值得关注的事情是你的数据是通过网络访问的,网络访问这就产生了一系列问题,比如我们经常听到的数据库被攻击、***会员资料泄露等系列安全和隐私问题。因此,如果选择云服务商找一个靠谱的云服务商则显得更为重要!
数据的意外丢失风险:
互联网链接风险的损失,当数据通过网络进行交互,失去数据库连接将会对你的企业生产带来怎样的影响。企业要做好承担这种风险的准备。
定制化服务能力不足:
存在一定的局限性,当处理如此多的业务时,要求数据库服务商要很灵活。如果需要深度定制并且与现有系统集成来为日常业务服务,这个很多云数据服务提供商未必可以提供定制化的指定服务!
对于企业而言,是否选择云数据库来解决自身的数据存储方案,以及是否全部选择通过云服务,需要根据自身的实际行业环境、特点以及防止承担风险能力去评估!
‘叁’ 使用数据库系统的优点和缺点是什么
一、关系数据库系统的优点
a.灵活性和建库的简单性:从软件开发的前景来看,用户与关系数据库编程之间的接口是灵活与友好的。目前在多数RDDMS产品中使用标准查询语言SQL,允许用户几乎毫无差别地从一个产品到另一个产品存取信息。与关系数据库接口的应用软件具有相似的程序访问机制,提供大量标准的数据存取方法。
b.结构简单:从数据建模的前景看,关系数据库具有相当简单的结构(元组),可为用户或程序提供多个复杂的视图。数据库设计和规范化过程也简单易行和易于理解。由于关系数据库的强有力的、多方面的功能,已经有效地支持许多数据库纳应用。
二、关系数据库系统的缺点
a.数据类型表达能力差:从下一代应用软件的发展角度来看,关系数据库的根本缺陷在于缺乏直接构造与这些应用有关的信息的类型表达能力,缺乏这种能力将产生以下有害的影响,例如:大多数RDBMS产品所采用的简单类型在重构复杂数据的过程中将会出现性能问题;数据库设计过程中的额外复杂性;RDBMS产品和编程语言在数据类型方面的不协调。
大多数现代的RDBMS产品已成熟地用于商务和财政方面,而这些领域不要求很高和很复杂的数据模型。虽然这些产品多多少少克服了一些以上所述的缺点,但从理论上看关系数据模型不直接支持复杂的数据类型,这是由于第一范式的要求,所有的数据必须转换为简单的类型,如整数、实数、双精度数和字符串。
对于工程应用来说,这种不能支持复杂数据类型的典型结果就是需要额外地分解数据结构工作,这些被分解的结构不能直接表示应用数据,且从基本成分重构时也非常繁琐和费时间。
b.复杂查询功能差:关系数据库系统的某些优点也同时是它的不足之处。虽然SQL语言为数据查询提供了很好的定义方法,但当用于复杂信息的查询时可能是非常繁琐的。此外,在工程应用时规范化的过程通常会产生大量的简单表。在这种环境下由存取信息产生的查询必须处理大量的表和复杂的码联系以及连接运算。
除非这些查询以固定的例行程序方式提供,否则用户就必须对SQL非常熟悉,以便适当地浏览数据库,查出所需的信息。然而,一旦查询方式按固定例行程序方式进行,用户最终就进行应用软件的常规维护。但应用或人机接口软件的变化又可能要求经常修改例行的查询,数据库结构的变化也可能导致例行查询程序歼侍以及应用或人机接口软件的失效。由于这些原因,关系数据库系统的维护开销可能是很大的。
由于关系数据库不能提供足够的构造能力及性能方面的原因,在进行较复杂的数据库设计过程中,不可能将许多工程问题直接分解成一些简单的部分。由于缺乏直接指针存取方法,所以查询有关的信息需要花费时间。
c.支持长事务能力差;由于RDBMS记录锁机制的颗粒度限制,对于支持多种记录类型的大段数据的登记和检查来说,简单的记录级的锁机制是不够的,但基于键值关系的较复杂的锁机制来说却很难推广也难以实现。
d.环境应变能力差:在要求系统频繁改变的环境下,关系系统的成本高且修改困难。在工程应用中支持"模式演变"(schemaevolution)的功能是很重要的,而RDBMS不容易支持这种功能。另外,关系数据库和编程语言所提供的数据类型的不一致,使得从一个环境转换到另一个环境时需要多至30%的附加代码。
三、面向对象数据库系统的优点
a.能有效地表达客观世界和有效地查询信息:面向对象方法综合了在关系数据库中发展的全部工程原理、系统分析、软件工程和专家系统领域的内容。面向对象的方法符合一般人的思维规律、即将现实世界分解成明确的对象,这些对象具有属性和行为。系统设计人员用ODBMS创建的计算机模型能更直接反映客观世界,最终用户不管是否是计算机专业人员,都可以通过这些模型理解和评述数据库系统。
工程中的一些问题对关系数据库来说显得太复杂,不采取面向对象的方法很难实现。从构造复杂数据的前景看,信息不再需要手工地分解为细小的单元。ODBMS扩展了面向对象的编程环境,该环境可以支持高度复杂数据结构的直接建模。
b.可维护性好:在耦合性和内聚性方面,面向对象数据库的性能尤为突出。这使得数据库设计者可在尽可能少影响现存代码和数据的条件下修改数据库结构,在发现有不能适合原始模型的特殊情况下,能增加一些特殊的类来处理这些情况而不影响现存的数据。如氏喊吵果数据库的基本模式或设计发生变化,为与模式变化保持一致,数据库可以建立原对象的修改版本。这种先渗游进的耦合性和内聚性也简化了在异种硬件平台的网络上的分布式数据库的运行。
c.能很好地解决"阻抗不匹配"(impedancemismatch)问题。面向对象数据库还解决了一个关系数据库运行中的典型问题:应用程序语言与数据库管理系统对数据类型支持的不一致问题,这一问题通常称之为阻抗不匹配问题。
四、面向对象数据库系统的缺点
a.技术还不成熟。面向对象数据库技术的根本缺点是这项技术还不成熟,还不广为人知。与许多新技术一样,风险就在于应用。从事面向对象数据库产品和编程环境的销售活动的公司还不令人信服,因为这些公司的历史还相当短暂,就该十几年前关系数据库的情况一样。ODBMS如今还存在着标准化问题,由于缺乏标准化,许多不同的ODBMS之间不能通用。此外,是否修改SQL以适应面向对象的程序,还是用新的对象查询语言来代替它,目前还没有解决,这些因素表明随着标准化的出现,ODBMS还会变化。
b.面向对象技术需要一定的训练时间:有面向对象系统开发经验的公司的专业人员认为,要成功地开发这种系统的关键是正规的训练,训练之所以重要是由于面向对象数据库的开发是从关系数据库和功能分解方法转化而来的,人们还需要学习一套新的开发方法使之与现有技术相结合。此外,面向对象系统开发的有关原理才刚开始具有雏形,还需一段时间在可靠性、成本等方面令人可接受。
c.理论还需完善:从正规的计算机科学方面看,还需要设计出坚实的演算或理论方法来支持ODBMS的产品。此外,既不存在一套数据库设计方法学,也没有关于面向对象分析的一套清晰的概念模型,怎样设计独立于物理存储的信息还不明确。
面向对象数据库和关系数据库系统之间的争论不同于70年代关系数据库和网状数据库的争论,那时的争论是在同一主要领域(即商业事务应用)中究竟是谁代替谁的问题。现在是肯定关系数据库系统基本适合商业事务处理的前提下,对非传统的应用,特别是工程中的应用用面向对象数据库来补充不足的问题。面向对象数据库系统将成为下一代数据库的典型代表,并和关系数据库系统并存(而不是替代)。它将在不同的应用领域支持不同的应用需求。
‘肆’ 传统数据仓库有哪些缺点
传统数据库是以数据块来存储数据,简单来说,你的表字段越多,占用的数据空间就越多,那么查询就有可能要跨数据块。在大型系统中一张表有上百个字段,并且表中的数据上亿条也有可能。因此会带来数据库查询的瓶颈。数据库中表的记录数是多少对查询的性能有非常大的影响。而一般的解决办法是分表或分库,用来平衡数据库运算的压力,那么又会带来新的问题,如:分布式事务、全局唯一ID的生成、跨数据库查询等。
如果采用一种基于列存储的模式,由于查询中的选择规则是通过列来定义的,因此整个数据库是自动索引化的。按照列存储每个字段的数据聚集存储,可以动态增加,并且列为空就不存储数据,节省存储空间。每个ian 的数据按照聚集存储,能大大减小读取的数据量,查询时的命中率就会提高,使查找更为直接,无需考虑分库]分表,来提高命中率、减少IO等瓶颈。
Hbase数据库支持数据自动切分存储,并支持高并发读写操作,使得海量数据存储自动具有更强的扩展性。
Hadoop 本身就支持通过JDBC 从数据库中抽取数据。大部分数据库系统有批量导出、导入功能。无论是哪种情况,将整个数据库中的数据经常性地或者以增量的方式导入到Hadoop 中来都是很容易的。由于数据库系统存储的数据减少,数据库系统的软件授权成本也会得到降低。图1是Hadoop 与关系型数据库协同处理计算任务的应用场景。其中,关系型数据库系统用来处理实时数据,从而保证交易过程中的数据一致性。如果要求同一个数据库系统从
大容量数据中生成复杂的分析报表是极其耗费计算资源的,降低了系统的性能和其处理实时数据工作的能力。
Hadoop 被设计用来存储海量数据、按任意方式处理海量数据以及按需向任意系统传递数据。数据可以经常性地从关系型数据库系统导出到Hadoop 中,关系型数据库系统可以经过调整,专门用来处理交互式任务,而复杂的分析工作就可以按离线的方式交由Hadoop 来完成,对实施系统没有任何影响。