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

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

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2605
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2517
来自专栏魂祭心

原 canvas绘制clock

4004
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2667
来自专栏杨龙飞前端

scrollto 到指定位置

2484
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6588
来自专栏落花落雨不落叶

canvas画简单电路图

58311
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

3955
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4798
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3035

扫码关注云+社区