数据库选型比对 Oracle vs sqlserver

时间:2022-12-16 18:08:55

SQL Server 2014  优点

1. 内存 OLTP:

提供部署到核心 SQL Server 数据库中的内存 OLTP 功能,以显著提高数据库应用程序性能。

内存 OLTP 是随 SQL Server 2014 Engine 一起安装的,而无需执行任何其他操作,您不必重新编写数据库应用程序或更新硬件即可提高内存性能。SQL Server 2014 CTP2 增强功能包括 AlwaysOn 支持、增加的 TSQL 外围应用以及能够将现有对象迁移到内存 OLTP 中。

2. 内存可更新的 ColumnStore:

为现有 ColumnStore 的数据仓库工作负载提供更高的压缩率、更丰富的查询支持和可更新性,为您提供甚至更快的加载速度、查询性能、并发性和甚至更低的单位 TB 价格。

3. 将内存扩展到 SSD:

通过将 SSD 作为数据库缓冲池扩展,将固态存储无缝且透明地集成到 SQL Server 中,从而提高内存处理能力和减少磁盘 IO。

 

4. 加密备份:

(1) SQL Server 备份到 URL

SQL Server  备份到 URL 功能是在 SQL Server 2012 SP1 CU2 中引入的,只有 Transact-SQL、PowerShell 和SMO 支持这一功能。

在 SQL Server 2014 中,可以使用 SQL Server Management Studio 来备份到 Windows Azure Blob 存储服务或从中还原。“备份”任务和维护计划都可使用该新选项。

(2) SQL Server 托管备份到 Windows Azure

SQL Server  托管备份到 Windows Azure 是基于 SQL Server 备份到 URL 这一功能构建的服务,SQL Server 提供这种服务来管理和安排数据库和日志的备份。 在SQL SERVER 2014中,只支持备份到 Windows Azure 存储。SQL Server 托管备份到 Windows Azure可在数据库和实例级别同时进行配置,从而既能实现在数据库级别的精细控制,又能实现实例级别的自动化。 SQL Server 托管备份到 Windows Azure既可在本地运行的 SQL Server 实例上配置,也可在 Windows Azure 虚拟机上运行的 SQL Server 实例上配置。 建议对在 Windows Azure 虚拟机上运行的 SQL Server 实例使用此服务。

(3) 备份加密

可以选择在备份过程中对备份文件进行加密。 目前支持的加密算法包括 AES 128、AES 192、AES 256 和Triple DES。 要在备份过程中执行加密,必须使用证书或非对称密钥。

 

5.IO  资源监管:

资源池现在支持为每个卷配置最小和最大 IOPS,从而实现更全面的资源隔离控制。

6. 混合方案:

(1)智能备份:管理和自动完成将 SQL Server 备份到 Windows Azure 存储(从内部部署和 Windows Azure 中)。

(2)添加 Azure 副本向导:轻松将 Windows Azure 中的副本添加到内部部署可用性组中。

(3)SQL XI(XStore 集成):支持 Windows Azure 存储 Blob 上的 SQL Server 数据库文件(从内部部署和Windows Azure 中)

(4)部署向导:轻松将内部部署 SQL Server 数据库部署到 Windows Azure 中。

7.AlwaysOn 

数据库选型比对 Oracle vs sqlserver

SQL Server 2014  包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能:

(1) “添加 Azure 副本向导”简化了用于 AlwaysOn 可用性组的混合解决方案创建。

(2) 辅助副本的最大数目从 4 增加到 8。

(3) 断开与主副本的连接时,或者在缺少群集仲裁期间,可读辅助副本现在保持可用于读取工作负荷。

(4) 提供了一个新的系统函数 sys.fn_hadr_is_primary_replica 和一个新的 DMV sys.dm_io_cluster_valid_path_names。

(5) 以下 DMV 已得到增强,现在返回 FCI 信息:sys.dm_hadr_cluster、sys.dm_hadr_cluster_members 和sys.dm_hadr_cluster_networks。

(6)Always On架构需要更多的存储空间,每个节点上均需要存放全部的数据文件、日志文件以及后续增长的空间,并且仅支持主副本为读写副本,其余辅助副本仅为可读副本。

 

 

 

Oracle 19c  优点

1 、开放性:oracle能在所有主流平台上运行(包括 windows),完全支持所有工业标准,采用完全开放策略使客户选择适合解决方案,对开发商全力支持;

2 、可伸缩性,并行性:Oracle并行服务器通过使组结点共享同簇工作来扩展windownt能力提供高用性和高伸缩性簇解决方案windowsNT能满足需要用户把数据库移UNIXOracle并行服务器对各种UNIX平台集群机制都有着相当高集成度。

3 、安全性:提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现,获得最高认证级别的ISO标准认证。

4 、使用风险:Oracle长时间开发经验完全向下兼容得广泛应用地风险低。

5 、性能:Oracle性能高,保持开放平台下TPC-D和TPC-C世界记录。

6 、客户端支持及应用模式:Oracle多层次网络计算支持多种工业标准用ODBC、JDBC、OCI等网络客户连接

7 、提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。

8 、整合性:ERP特色便是整个企业信息系统的整合,比传统单一的系统更具功能性,

9 、弹性:采用模块化的设计方式,使系统本身可因应企业需要新增模块来支持并整合,提升企业的应变能力。

10 、Data Guard 备库DML自动重定向:这一特性可以通过在系统级或者会话级设置参数ADG_REDIRECT_DML参数启用,通过这种方式,ADG会话的ACID一致性得以保持,同时透明的支持『多数读,偶尔更新』应用的自然读写分离配置。这个特性的引入,将进一步的增加ADG的灵活性,帮助用户将备库应用的更加充分。

11. 透明的应用连续性支持增强:在Oracle RAC集群中,支持对于查询的自动切换,当一个节点失效,转移到另外一个节点,在19c中,Oracle持续改进和增强了连续性保持,数据库会自动记录会话状态,捕获用于重演的信息,以便在切换时,在新节点自动恢复事务,使DML事务同样可以获得连续性支持。

12. 自动化索引创建和实施:对于关系型数据库来说,索引是使得查询加速的重要手段,而如何设计和创建有效的索引,长期以来是一项复杂的任务。在Oracle 19c中,自动化索引创建和实施技术被引入进来,Oracle通过模拟人工索引的思路,建立了内置的专家系统。数据库内置的算法将会通过捕获、识别、验证、决策、在线验证、监控的全流程管控索引自动化的过程。这一特性将会自动帮助用户创建有效的索引,并通过提前验证确保其性能和有效性,并且在实施之后进行监控,这一特效将极大缓解数据库索引维护工作。自动化还将删除由新创建的索引(逻辑合并)废弃的索引,并删除自动创建但长时间未使用的索引。

 

13.  多节点负载均衡;提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;通过并行执行技术提高事务响应时间----通常用于数据分析系统;通过横向扩展提高每秒交易数和连接数----通常对于联机事务系统;节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;可扩展性好,可以方便添加删除节点,扩展硬件资源。并且支持多个节点写入操作,采用多节点共享存储。

 

14.rac 架构

数据库选型比对 Oracle vs sqlserver

总结

在sql server和oracle的高可用架构方面,oracle的rac相较于sql server的always on有更多的优势。

存储层面:

sql server always on  采用的本地存储模式,同样的数据存放在各自节点的本地,有多少节点就需要多少套存储。

Oracle  的rac采用共享存储模式,无论多少节点,使用的存储都是同一套存储,相对来说存储花费更少。

可读节点层面:

sql server always on 受限于数据库本身的架构功能,只允许存在1台读写模式的节点,其他只读模式的节点可以存在多台。意味着虽然在读的情况下可以做到多节点分摊业务,但是在写的方面,只能在主节点进行。

Oracle  的rac架构可做到多节点可读写的功能。Rac的每个节点都可以进行读和写。这样可以做到多节点负载均衡,减轻各个节点的资源压力。

高可用层面:

sql server always on 必须在域环境内搭建,而域环境需要拥有一个域控进行节点之间的投票判定,所以域控对于always on环境至关重要,即使数据库没有出现问题,但是域控发生故障,alwayson的节点也会出现故障。

Oracle 的rac架构很好的避免的此问题,本身采用ocr存储来进行节点之间的投票判定,不需要单独准备一台服务器进行判定。并且用来做ocr的存储磁盘,空间需求较低,每块5g即可,并且ocr拥有冗余功能,底层由多块上述5g大小的磁盘组合,即使多块存储出现故障,一样不影响rac的架构完整性,不会影响正在跑的业务。