真实场景下Oracle Sharding的优势比较和选择

简介:

编辑手记:Oracle Sharding是为OLTP应用程序定制设计的一种可扩展、支持高可用功能的架构,能够在不具有共享硬件或软件的Oracle数据库池中分发和复制数据。事实上基于高可用和易扩展性开发的系统或数据库架构并不仅仅是Oacle Sharding 一个,我们来通过不同产品的对比来认识,sharding到底强大在哪里。


相关文档推荐:

1、Oracle 12.2 Sharding技术揭秘

2、Oracle 12.2新特性-Sharding 的增强

3、针对Sharding单点故障的HA架构

4、Oracle 12.2的Sharding基础概念解读

5、关于Oracle Sharding,你想知道的都在这里

1、Oracle Sharding与Microsoft Azure弹性数据库的比较


Microsoft提供了一个分片式数据库架构,具有与Oracle Sharding相同的许多目标,其产品是仅限云上部署的,称为Azure弹性数据库。 Oracle Sharding与Microsoft Azure相比有很多优势:

  1. Microsoft Azure将碎片作为外部表并对其协调器节点执行所有查询处理来处理多碎片查询。这种设计导致系统难以扩展并且需要在分片和协调器节点之间进行大量的网络数据移动。相比之下,Oracle Sharding多分片查询被下推到每个分片,从而提高性能并减少网络上传输的数据量。

  2. Microsoft Azure要求客户明确配置和维护在多分片查询中使用的分片列表。如果配置更改,则需要由客户端更新映射。而Oracle Sharding自动为客户维护此元数据,由Oracle Sharding维护此类列表,不需要客户端的干预。

  3. Microsoft Azure仅限于副本碎片上的只读查询。更新必须通过数据库链接返回到协调器数据库。 Oracle Sharding支持对Active Data Guard分片上的临时表的任何表和DML更新的只读查询,以及对Oracle GoldenGate分片上的所有表的完全读写访问。



2、Oracle Sharding与NoSQL数据存储的比较


NoSQL数据存储无法提供应用程序透明的可伸缩性,但Oracle可以为使用Oracle RAC和Active Data Guard的任何应用程序执行此操作。 与Oracle Sharding类似,NoSQL数据存储也可以使用分片式架构来实现可扩展性和高可用性的组合。 更喜欢为分片式架构明确设计应用程序的客户可能会认为他们可以选择将Oracle Sharding与Oracle Enterprise Edition结合使用,或者使用NoSQL数据存储库。


客户将选择Oracle Sharding与Oracle企业版,原因如下:

  1. NoSQL数据存储器缺乏企业RDBMS的功能,包括:关系模式,SQL和其他编程接口,支持复杂数据类型,在线模式更改,多核可扩展性,高级安全性,高级可扩展性,ACID属性,一致性读取,JSON的开发人员敏捷性等。例如,Oracle对事务的固有支持意味着并发更新/读取从不会获得不一致的结果; NoSQL数据存储不能这样做。 Oracle还将读一致性扩展到多分片操作,以及使用全局一致性读取,这是NoSQL数据存储不可能实现的。

  2. Oracle Sharding将Oracle企业版与用于部署分片式架构的全面解决方案相结合,包括自动化以简化生命周期管理的多个方面,提高灵活性的高级分区方法以及基于智能数据的路由以实现卓越的运行时性能。


Oracle Sharding和Oracle RDBMS的结合为客户提供了两个方面的优势:能够大规模使用分片式数据库架构,而不会牺牲NoSQL数据存储的特点


3、Oracle Sharding和Oracle NoSQL使用场景的选择


评估简单键值的客户NoSQL数据存储架构选择:

  • 选择Oracle Sharding,如果他们在Oracle企业版和一组全面的功能的组合中看到价值,部署一个分片式架构,实现极高的可扩展性和可用性。

  • 选择Oracle NoSQL,如果他们不把价值放在Oracle企业版的功能,而是寻求降低NoSQL解决方案的所有权成本,旨在提供高可靠性,可扩展和可用的数据存储跨可配置的系统集 存储节点。


4、其他NoSQL数据库对Oracle Sharding有什么优势?


NoSQL竞争对手,例如Cassandra,MongoDB等已经使可扩展性和可用性的分片成为其产品的核心价值主张。与Oracle Sharding相比,他们享有以下优势:

  • 低成本 - 它们是Oracle数据库企业版和更简单的基础架构(尽管功能越少,企业级功能越少)的成本的一小部分。 NoSQL是为不受益于企业RDBMS的简单工作负载而设计的。

  • 开发人员共享 - 分片的决定由架构师和开发人员进行,而不是数据库管理

  • 更简单的HA复制机制 - 直接写入每个副本对数据库复制从主机到其副本。

  • 用于执行多分片查询的多个协调器 - 可以比第一版Oracle Sharding支持的单个协调器更具扩展性(请注意,多分片查询不是Oracle Sharding的主要用例,并且多个协调器计划用于下一版本)。


当客户重视与企业RDBMS的分片的好处时,Oracle Sharding将击败NoSQL数据库。如果一个低成本的NoSQL解决方案更适合客户的需求,销售Oracle NoSQL。 Sharding是Oracle EE和Oracle NoSQL都支持的一流的HA架构。


5、COTS应用程序(如SAP或Oracle电子商务套件)是否可以使用Sharding?

不能,Sharding是明确地用于专门为了利用分片式数据库架构的应用程序。 没有任何应用程序提供商已经认证他们的应用程序用于Oracle Sharding。


文章转自数据和云公众号,原文链接

相关文章
|
Oracle 关系型数据库 MySQL
与Oracle相比,Mysql有什么优势?
与Oracle相比,Mysql有什么优势?
118 0
|
Oracle 关系型数据库 Linux
《Oracle高性能自动化运维》一一1.3 Linux内存体系的优势
本节书摘来自华章出版社《Oracle高性能自动化运维》一 书中的第1章,第1. 3节,作者:冷菠  著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1154 0
|
监控 Oracle 关系型数据库
Oracle Sharding
自从Oracle 12.2发布之后,Oracle数据库也可以实现分库分表,袋鼠云RDS基于Oracle12.2分库分表的功能,在产品上实现一键部署、智能运维、监控告警、备份恢复、性能管控等
2844 0

推荐镜像

更多