分布式数据库相比自建数据库具备哪些优势

分布式数据库相比自建数据库具备哪些优势,第1张

自建数据

容易产生容量与性能瓶颈

当前的硬件条件下,主流数据库可以支持单表千万级数据量的存储,但是难以支撑密集的并发读写,存在性能瓶颈。

分区分表或分库方案限制太多

采用分区表方案,数据不能跨实例存储,扩展性和维护性较差。

采用分库方案,客户端需要自行管理各库连接,数据库连接管理和升级复杂,扩容迁移困难。

服务器成本高昂

普通X86服务器支撑能力有限,品牌厂商的服务器价格高昂,通过增加硬件规格来提升并发性能的成本太高,且能到达的性能高度有限。

在分布式数据库面前,上面这些都不是问题,有很长厂商都已经把分布式数据库做的不错了,如阿里云,华为云等。

如下以我熟悉的华为云分布式数据库中间件DDM为例为你介绍下,如果感兴趣可以去官网了解一下,现在好像还有试用活动:华为云分布式数据库中间件DDM

分布式数据库:

数据分布存储

DDM采用水平拆分方式,将数据记录数庞大的单表,按指定的拆分规则,分布式存储到各个分片中。同时DDM提供路由分发功能,应用服务无需考虑数据该写入哪个分片,该从哪个分片读取。

读写分离

用户可以根据数据读取压力负载情况,为每个RDS实例配置一个或者多个只读实例,提高查询并发性能。

高性能

在实际业务访问中,SQL主要的性能瓶颈集中在物理数据库节点上。

DDM实例关联多个RDS节点,减少单个RDS存储的数据量,同时实现并行计算,支持PB级数据量访问,以及百万级高并发。

在线平滑扩容

DDM在不中断业务的情况下,支持新增RDS实例,水平扩容存储空间。一键式扩容,轻松解决单机数据库的容量瓶颈。

文档数据库完全兼容MongoDB协议 ,提供安全、高可用、高可靠、d性伸缩和易用的数据库服务,同时提供一键部署、d性扩容、容灾、备份、恢复、监控和告警等功能。现在移动云正在举办“惠迎双节,领券大放价”活动,像云数据库、云备份、云空间、云主机等等常用的产品都有6折或8折的优惠劵可以领取。文档数据库也参加本次活动,享受六折优惠。很高兴我的回答您能采纳

Apache Cassandra数据库的优缺点有哪些?

本文将超越众所周知的一些细节,探讨与 Cassandra 相关的不太明显的细节。您将检查 Cassandra 数据模型、存储模式设计、架构,以及与 Cassandra 相关的潜在惊喜。

在数据库历史文章 “What Goes Around Comes Around”中,Michal Stonebraker 详细描述了存储技术是如何随着时间的推移而发展的。实现关系模型之前,开发人员曾尝试过其他模型,比如层次图和有向图。值得注意的是,基于 SQL 的关系模型(即使到现在也仍然是事实上的标准)已经盛行了大约 30 年。鉴于计算机科学的短暂历史及其快速发展的步伐,这是一项非凡的成就。关系模型建立已久,以至于许多年来,解决方案架构师很容易为应用程序选择数据存储。他们的选择总是关系数据库。

诸如增加系统、移动设备、扩展的用户在线状态、云计算和多核系统的用户群之类的开发已经导致产生越来越多的大型系统。Google 和 Amazon 之类的高科技公司都是首批触及规模问题的公司。他们很快就发现关系数据库并不足以支持大型系统。

为了避免这些挑战,Google 和 Amazon 提出了两个可供选择的解决方案:Big Table 和 Dynamo,他们可以由此放松关系数据模型提供的保证,从而实现更高的可扩展性。Eric Brewer 的 “CAP Theorem”后来官方化了这些观察结果。它宣称,对于可扩展性系统,一致性、可用性和分区容错性都是权衡因素,因为根本不可能构建包含所有这些属性的系统。不久之后,根据 Google 和 Amazon 早期的工作,以及所获得的对可扩展性系统的理解,计划创建一种新的存储系统。这些系统被命名为 “NoSQL” 系统。该名称最初的意思是 “如果想缩放就不要使用 SQL”,后来被重新定义为 “不只是 SQL”,意思是说,除了基于 SQL 的解决方案外,还有其他的解决方案。

有许多 NoSQL 系统,而且每一个系统都缓和或改变了关系模型的某些方面。值得注意的是,没有一个 NoSQL 解决方案适用于所有的场景。每一个解决方案都优于关系模型,且针对一些用例子集进行了缩放。我的早期文章 “在 Data Storage Haystack 中为您的应用程序寻找正确的数据解决方案” 讨论了如何使应用程序需求和 NoSQL 解决方案相匹配。

Apache Cassandra是其中一个最早也是最广泛使用的 NoSQL 解决方案。本文详细介绍了 Cassandra,并指出了一些首次使用 Cassandra 时不容易发现的细节和复杂之处。

Apache Cassandra

Cassandra 是一个 NoSQL 列族 (column family) 实现,使用由 Amazon Dynamo 引入的架构方面的特性来支持 Big Table 数据模型。Cassandra 的一些优势如下所示:

高度可扩展性和高度可用性,没有单点故障

NoSQL 列族实现

非常高的写入吞吐量和良好的读取吞吐量

类似 SQL 的查询语言(从 08 起),并通过二级索引支持搜索

可调节的一致性和对复制的支持

灵活的模式

这些优点很容易让人们推荐使用 Cassandra,但是,对于开发人员来说,至关重要的一点是要深入探究 Cassandra 的细节和复杂之处,从而掌握该程序的复杂性。

什么是列?

列 有点用词不当,使用名称单元格 很可能更容易理解一些。我会坚持使用列,因为这是一种习惯用法。

Cassandra 数据模型包括列、行、列族和密钥空间 (keyspace)。让我们逐一进行详细介绍它们。

•列:Cassandra 数据模型中最基本的单元,每一个列包括一个名称、一个值和一个时间戳。在本文的讨论中,我们忽略了时间戳,您可以将一个列表示为一个名称值对(例如 author="Asimov")。

•行:用一个名称标记的列的集合。例如,清单 1 显示了如何表示一个行:

清单 1 行的示例

"Second Foundation"-> {

author="Asimov",

publishedDate="",

tag1="sci-fi", tag2="Asimov"

}

Cassandra 包括许多存储节点,并且在单个存储节点内存储每一个行。在每一行内,Cassandra 总是存储按照列名称排序的列。使用这种排序顺序,Cassandra 支持切片查询,在该查询中,给定了一个行,用户可以检索属于给定的列名称范围内的列的子集。例如,范围 tag0 到 tag9999 内的切片查询会获得所有名称范围在 tag0 和 tag9999 内的列。

•列族:用一个名称标记的行的集合。清单 2 显示了样例数据的可能形式:

清单 2 列族示例

Books->{

"Foundation"->{author="Asimov", publishedDate=""},

"Second Foundation"->{author="Asimov", publishedDate=""},

}

人们常说列族就像是关系模型中的一个表格。如下例所示,相似点将不复存在。

•密钥空间:许多列族共同形成的一个组。它只是列族的一个逻辑组合,并为名称提供独立的范围。

最后,超级列位于一个列族中,该列族对一个密钥下的多个列进行分组。正如开发人员不赞成使用超级列一样,在此,我对此也不作任何讨论。

Cassandra 与 RDBMS 数据模型

根据以上对 Cassandra 数据模型的描述,数据被放入每一个列族的二维 (2D) 空间中。要想在列族中检索数据,用户需要两个密钥:行名称和列名称。从这个意义上来说,尽管还存在多处至关重要的差异,关系模型和 Cassandra 仍然非常相似。

•关系列均匀分布在表中的所有行之间。数据项之间通常有明显的纵向关系,但这种情况并不适用于 Cassandra 列。这就是 Cassandra 使用各个数据项(列)来存储列名称的原因。

•有了关系模型,2D 数据空间就完整了。2D 空间内的每一个点至少应当拥有存储在此处的 null 值。另外,这种情况不适用于 Cassandra,Cassandra 可以拥有只包括少数项的行,而其他行可以拥有数百万个项。

•有了关系模型,就可以对模式进行预定义,而且在运行时不可以更改模式,而 Cassandra 允许用户在运行时更改模式。

•Cassandra 始终存储数据,这样就可以根据其名称对列进行排序。这使得使用切片查询在列中搜索数据变得很容易,但在行中搜索数据变得很困难,除非您使用的是保序分区程序。

•另一个重要差异是,RDMBS 中的列名称表示与数据有关的元数据,但绝不是数据。而在 Cassandra 中,列名称可以包括数据。因此,Cassandra 行可以拥有数百万个列,而关系模型通常只有数十个列。

•关系模型使用定义良好的不可变模式来支持复杂的查询,这些查询中包括 JOIN 和聚合等。使用关系模型,用户无需担心查询就可定义数据模式。Cassandra 不支持 JOIN 和大多数 SQL 搜索方法。因此,模式必须满足应用程序的查询要求。

Oracle数据库概述及特点

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories)。

ORACLE数据库概论

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的`一种中间件。

ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。

Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

ORACLE数据库特点

1、完整的数据管理功能:

1)数据的大量性

2)数据的保存的持久性

3)数据的共享性

4)数据的可靠性

2、完备关系的产品:

1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;

2)保证访问的准则

3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化

4)数据物理性和逻辑性独立准则

3、分布式处理功能:

ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sqlNet、SQLCONNECT和其他非ORACLE的关系型产品构成。

4、用ORACLE能轻松的实现数据仓库的 *** 作。

这是一个技术发展的趋势,不在这里讨论。

优点

■ 可用性强

■ 可扩展性强

■ 数据安全性强

■ 稳定性强

;

如果同台服务器的1台VPS被攻击,将直接影响其他的所有VPS无法运行。同等情况下云服务器只影响被攻击云计算服务器,其他同服务器的云计算服务器不受影响。

运用技术: vps是基于软件层的虚拟化技术,具体来说就是 *** 作系统的虚拟化,云计算服务器是基于硬件层的虚拟化技术,云计算服务器使用vmware server搭建,是vmware workstation的服务器版,非常成熟,1998年VM服务器系列开始商用,被广泛应用于银行、航空领域。是非常稳定及性能卓越的虚拟服务器产品,VPS是2006年才进入市场的一个产品。

开设数量:vps可以在1台服务器上将一个 *** 作系统虚拟上百个独立 *** 作系统,云计算服务器只能虚拟大概6到8个独立 *** 作系统, *** 作系统可以有多种选择

资源分配:云计算服务器运行前会预先将硬件内存分配好,如果服务器上有4G内存绝不能分配出5G的内存出来,而VPS服务器自生拥有4G内存可以虚拟100G的内存,并分配给100个独立 *** 作系统。

本质区别: 云计算服务器运行和真正的一台物理服务器是无区别的,因为获得了独立资源,VPS相当于一个人的几个面,是不独立的,从 *** 作系统占用空间可以看出来,云计算服务器安装 *** 作系统所需要的空间和在独立服务器上安装所需的体积相同,而VPS安装 *** 作系统只要100来M,因此购买云计算服务器需要更大的容量。为此同网在标准容量基础上特别赠送10G磁盘空间。

性能差别: vps主机的性能远远不如云计算服务器,为保证高速运行,请勿安装任何杀毒软件及防火墙类软件。

成本差别: vps对运营商来说成本较低,因为1台服务器可以虚拟上数十个VPS主机,云计算服务器对运营商来说相当于独立服务器出租。成本略低于独立服务器出租,需要有相当实力的运营商才能提供。

综合以上来说还是云服务器比较好

我一直从事企业ERP项目建设,简单做答一下,供参考

硬件成本:

本地部署免不了服务器采购,ERP作为企业重要应用系统,服务器一般还得分为应用服务器,数据库服务器这就涉及到服务器的硬件采购,还有周边设备的采购,如交换机,路由器,UPS等,根据企业规模,费用会有一定差异,但这一套下来,价格也不低还有就是机房建设,也需要成本

而云的好处就是,企业自身不需要配备硬件,几乎没有硬件的投入(不能说完全没有)

运维成本:

有了以上的硬件投入,那必然会产生硬件运维的投入,得有人监控服务器,监控UPS等外围辅助设备,这必然会产生人力需求,企业得支付人工成本,且算企业已经有运维人员,但加大工作量,薪资也是得考虑的,也会产生相应成本,如果ERP规模大,那就肯定得另外招人了,这些都是运维成本

而云产品则完全不考虑运维成本,只需要一个管理员负责沟通即可,与供应商运维人员沟通,供应商负责解决问题

当然,云产品也有不足,就不展开说了

以上就是关于分布式数据库相比自建数据库具备哪些优势全部的内容,包括:分布式数据库相比自建数据库具备哪些优势、文档数据库有哪些优点、Apache Cassandra数据库的优缺点有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9293933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存