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

相关文章

来自专栏python开发教学

Oracle与Sql server的区别 一直搞不明白Oracle数据库和sql server的区别,今天我特意查资料把他们的区别整理出来

Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。

563
来自专栏CSDN技术头条

如果使用得当,MySQL也可以化身NoSQL

随着互联网和移动互联网的发展,各个机构都需要支撑远超过以往的数据。而在这个需求的刺激下,IT领域出现了大量数据处理技术,其中之一就是NoSQL。灵活的数据类型,...

1755
来自专栏原创

高并发大容量NoSQL解决方案探索

1048
来自专栏美团技术团队

美团点评容器平台HULK的调度系统

背景 美团点评作为国内最大的O2O平台,业务热度的高峰低谷非常显著且规律,如果遇到节假日或促销活动,流量还会在短时间内出现成倍的增长。过去传统虚拟机的服务运行及...

39812
来自专栏北京马哥教育

存储系统的那些事

存储系统从其与生俱来的使命来说,就难以摆脱复杂系统的魔咒。无论是从单机时代的文件系统,还是后来C/S或B/S结构下数据库这样的存储中间件兴起,还是如今炙...

2495
来自专栏IT大咖说

2018,换个角度看微服务监控与性能优化

摘要 主要介绍分布式监控的基本概念及方法,java技术栈相关监控机制,性能监控、业务监控、异常监控、性能数据分析在融数微服务平台的实践及应用。 ? 微服务监控 ...

3219
来自专栏圣杰的专栏

DDD理论学习系列(10)-- 聚合

1.引言 聚合,最初是UML类图中的概念,表示一种强的关联关系,是一种整体与部分的关系,且部分能够离开整体而独立存在,如车和轮胎。 在DDD中,聚合也可以用来表...

2118
来自专栏腾讯云数据库团队的专栏

用分布式技术轻松化解数据库容量和性能瓶颈

我们的目标是您的业务仅需要 2 个数据库就够了,一个用来部署正式业务,不增加存储成本基础上,能涵盖 OLTP&OLAP 场景,且可以覆盖多种数据类型;另一个,一...

1.8K0
来自专栏即时通讯技术

快速理解高性能HTTP服务端的负载均衡技术原理

在一个典型的高并发、大用户量的Web互联网系统的架构设计中,对HTTP集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。HTTP负载均衡的本质上是将W...

551
来自专栏架构师之旅

Mysql在大型网站的应用架构演变

写在最前: 本文主要描述在网站的不同的并发访问量级下,Mysql架构的演变 可扩展性 架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展...

1668

扫描关注云+社区