真实场景下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 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

什么是开发混合云应用的核心因素

虽然为混合云部署开发应用并不是某种黑暗魔法,但是对于很多企业来说,这还是一项具有一定神秘性的工作。 可以想象,任何设想进行混合云开发的用户最终都需要完成很多个这...

3457
来自专栏人人都是极客

如何搭建一个物联网系统框架?

只有设备接入到网络里面,才能算是物联网设备。这里涉及到2个关键点:接入方式以及网络通信方式。

823

弹性伸缩:云如何提供巨大的推动力

如果您正在考虑将部分或全部IT基础设施迁移到云,那么可能有助于说服人们加入云计算的一个优势是能够使用弹性伸缩。通过弹性伸缩,你可以在任何给定的时间内...

1958
来自专栏方俊贤的专栏

微服务架构 : 从既有的架构迁移到微服务的策略 ( 二 )

全世界没有任何的一个系统, 可一步到位的, 就达到微服务核心概念中, 所谈及的架构上的要求。 我们真正应该要做的事是: 找出将既有架构迁移到微服务的策略、方法、...

2032
来自专栏DevOps时代的专栏

影响 DevOps 成功实践的15个指标

持续对特定指标的关注是衡量 DevOps 实践是否成功的关键。通过本文,我们看一下你确实需要关注的十五个指标。 你所在的组织里 DevOps 是如何践行的?...

22510
来自专栏大数据和云计算技术

多租户技术

多租户技术(Multi-TenancyTechnology)又称多重租赁技术,用于实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔...

7776
来自专栏腾讯云技术沙龙

杨原:腾讯云Kafka自动化运营实践

下面我们有请腾讯云基础架构部高级工程师杨原给我们带来主题分享——腾讯云Kafka自动化运营实践。

88513
来自专栏数据和云

YH10:分布式存储解决方案zData

云和大数据时代的到来导致各行各业数据量的爆发,面对业务数据的日益剧增,企业的IT系统在性能、稳定性和扩展性等方面都面临前所未有的巨大挑战。如何有效应对云和大数据...

3464
来自专栏云加新鲜事儿

叶辉:腾讯云提供电商平台业务架构优化方案

随着电商行业的蓬勃发展,大多数电商平台建立在原的IDC环境中的业务架构逐渐暴露了一些弊端。腾讯云架构师叶辉通过一个真实用户案例讲述了腾讯云如何从用户接入、网络完...

3369
来自专栏PingCAP的专栏

云时代数据库的核心特点

最近几年,随着云计算相关技术的发展,各种不同类型的云层出不穷,服务越来越多不同类型的企业业务,传统企业也渐渐开始探索上云的道路。在云上,作为业务最核心的数据库,...

2690

扫码关注云+社区