oracle和sql功能对比

 序:作为Oracle数据库的销售,我希望给大家展示更多的技术知识,让大家更了解数据库,当然也希望大家在购买数据库的时候能想到我--黄13811959244!

 

Oracle Database 10g对比SQL Server 2005的竞争优势

 

                            

微软于2005.11.7正式发布SQL Server 2005。通过对比Oracle Database 10g SQL Server 2005功能和性能,我们给出Oracle Database 10g的竞争优势。

 

1.     功能优势

在微软发布的“数据库管理需要的10大特性” ( “Top10 Features for Database Administration”) , 几乎所有的特性都在 Oracle 8i 或更早的版本中已经实现。

 

1.1 SQL Server 2005 的新特性:

l        Database snapshot isolation

Snapshot isolation 提供了一种机制,用来一个会话中的数据更改过程中,避免另一个并发会话中只读操作处于阻塞等待。Snapshot isolation又叫Row Versioning, 因为SQL Server提供了两个版本的正在改动的行,改动前的行和正在改动的行。然而,SQL Server的这个新特性是以牺牲性能为代价。而Oracle的多版本读一致性(MVRC)的出色实现使得并发性比 SQL Server 好得多。

 

l        Database snapshot

这一功能使管理员可以生成和使用数据库的稳定的只读视图。数据库快照可提供这种功能,而不必创建数据库或存储要求的完整副本。SQL Server的这一功能需要手工创建, 而不像 Oracle 闪回(flashback)技术,可以自动完成。

 

l        Database mirroring

数据库镜象能够不断地将事务日志从主服务器写到备份服务器。当主系统失败的情况下,应用程序可以立即通过备用服务器连接到数据库,不用等待恢复工作的完成,因为镜象服务器是完全同步的。Oracle Data Guard 可以实现相同的功能。SQL Server的备用数据库在切换前是不能被访问的,而在Oracle的备份数据库上可以进行只读操作,例如报表查询,提高了资源利用率。

 

l        Partitioning

对超大规模数据库 (VLDB) 来说,表和索引等对象的分区(partition)能力无疑是非常重要的特性。分区实现的好坏关系到超大数据库的扩展能力。Oracle Database9i中就已经提供了分区功能,在10g中进行了一些改进,例如对分区上的索引功能进行了改进。

 

l        Encryption

SQL Server Oracle Database都提供了各种加密技术, 但是Oracle的透明数据加密(Transparent Data Encryption)让用户可以对磁盘上的关键数据库数据进行加密 (比如指定哪些列需要加密,因为通常并不是表的所有列都是机密数据)而无需重写访问数据的应用程序,更加方便。

 

1.2 Oracle Database10g 提供了丰富的特有功能,而在SQL Server 2005中没有对应的功能:

l        Oracle Logminer

提供提取数据库上的所有DML/DDL历史操作的功能,用于审计,复制和创建回滚脚本。这意味着可以提取旧的redo log能够看到整个事务协议。SQL Server 2005中没有对应的功能,尽管第三方工具如Lumigent Log Explorer 能够提供对应的功能。

 

l        Flashback Query

用于安全或人为错误导致灾难的恢复。利用Flashback Query可以访问数据库对象的快照,比如某个时间点的表内容。

 

l        Auditing

通过在init.ora中设置 audit_trail=db_extended所有的SQL queries能够被审计。SQL Server 2005只有通过MSSQL trace实现类似的部分功能,但是会对系统性能有很大影响。

 

l        Statistics History

由于Oracle的统计数据是存储在数据字典表中的数据块,Flashback选项提供了DBA将统计恢复到以前某一时间点的状态。如果修改语句的执行计划由于某些分析或周期性统计而导致性能变差,可以回滚统计重新解析,从而帮助优化queries执行计划。

 

l        Rollback statistics

用于在事务失败情况下,统计事务回滚所花费的时间和对系统性能造成的影响。SQL Server 2005没有对应的功能,而在 Oracle 9i 10g,可以很简单地通过查询 V$FAST_START_TRANSACTIONS 固定视图来实现。

 

l        Automatic Workload Repository

Oracle10g提供了丰富的视图,这些视图自动保存根据负载类型和等待事件来划分的历史统计数据,用于分析性能问题。比如你在24小时之内发现系统某一时刻异常繁忙,或响应时间很长,可以立即利用这些视图进行分析,而不需要打开任何在线统计机制。由于这一机制由Oracle内部机制实现,对性能的影响非常小。

 

l        Object Oriented Featured

面向对象功能,例如 objectsvararrays

 

l        Optional compilation of PL/SQL to native binary (shared library) via C compiler

目前多数的开发是基于虚拟机,比如java CRT,然而native code 能够提供更好的性能。从9i开始,Oracle提供了将 PL/SQL 编译成native code的选项用以提高性能。

 

2.     性能优势

Transaction Processing Council (TPC)的最新TPC-H评测中,Oracle Database 10g 是大多数情况的性能基准测试的世界纪录保持者。TPC-H是决策支持系统的基准测试。最新TPC-C评测中,Oracle Database 10g的性能同样领先于SQL Server 2005TPC-C是联机事务处理的基准测试。 

 

 

 3.安全性和数据可靠性

SQL Server 2005在安全性方面比SQL Server2000有所提高,引入了数据加密存储功能,但就数据库整体安全性方面仍远远落后于Oracle 10g数据库。

n         用户身份认证

SQL Server 2005目前仍依赖于简单的用户名和密码以及LDAP服务器,相比之下Oracle不但能借助于数据库/操作系统/第三方认证服务器认证,还能够结合数字证书、动态令牌、生物认证等强认证模式

n         细粒度审计

Oracle 10g支持基于DMLDDL的审计功能,也意味着用户可以通过查看审计信息掌握在数据库中何时、何人、以何种方式访问什么数据,并对其进行了何种操作。SQL Server 2005目前仍无法支持此种功能

n         透明数据加密

Oracle 10g支持基于简单SQL语句的数据加密技术,且对用户程序透明。SQL Server 2005支持加密的API技术,但机密虚额外编程,且对上层应用程序不透明。

n         行级别访问控制

Oracle 10g支持数据库表中行级别授权机制,可实现基于用户角色控制行级别访问权限。

n         超级用户控制

Oracle 10g支持超级用户访问控制,消除了DBA和特权用户越权访问应用数据所带来的安全隐患。

Oracle作为业界最安全的数据系统,至今已经通过了18项独立安全评估机构的认证,而SQL Server通过的安全认证评估仅有一项。

 

4可管理性

SQL Server一直以来标榜自己为“最易使用”的数据库,但其管理成本的降低是以牺牲管理功能为成本的。与SQL Server2005相比Oracle 10g在管理性方面有以下的优势:

n         智能化自我管理

n         自动性能诊断监控 (ADDM)

n         自动全面的应用程序调整 (SQL Tuning/Access Advisors)

n         CPU资源管理

n         自动存储管理 (ASM)

n         自动备份管理

n         简单自动的人为错误处理 (闪回)

根据技术分析咨询公司爱迪生集团(Edison Group)进行的数据库安装、维护和操作的对比试验表明,Oracle 10g在管理和维护成本方面的操作比SQL Server更简便。

n         Oracle 10g数据库Release2 管理员执行普通操作的所花费的时间比SQL Server 2005节省38%

n         Oracle 10g数据库Release2 在相同管理任务的执行步骤上比SQL Server 2005节省30%

 

5.总结

SQL Server 2005 的不足:

l        被锁定在Windows平台,没有丝毫的开放性。在企业内部,通常多种操作系统共存,而SQL Server 2005只能在Windows平台上运行,对于企业未来的发展将会成为阻碍。

 

l        Windows 平台上层次不穷的安全漏洞和病毒问题是运行企业级软件最大的威胁之一。为了数据的安全性,Linux + Oracle Database 是中小企业的最佳选择。

 

l        SQL Server 2005是微软在SQL Server 2000之后,历时5年推出的新版本。它的可靠性、安全性、伸缩性和性能还有待于市场和时间的检验。而Oracle  Database 10g 已经是版本2,具有广泛的应用和成功案例。

 

l        不支持企业网格(grid)计算。

Oracle网格,由Oracle软件将服务器和存储器连接在一起的一组低成本服务器,作为一个单一整体提供服务。Oracle网格能以比最快的大型机更快的速度运行应用系统。而且如果一个服务器发生故障,大型机会中止运行而Oracle网格仍可以保持正常运行。

 

采用Oracle网格技术只需极小的投资,且丝毫不会干扰企业正常运营,并可快速实现投资回报:

1. 以低成本、模块化的服务器和存储器实现标准化

2. 借助Oracle数据库和真正应用集群整合服务器和存储器

3. 借助Oracle企业管理器自动化日常管理任务

 

l        只有主备(active-passive failover)数据库集群, 导致备份机器资源闲置,没有Oracle Database 10g RAC等同功能 (active-active)Oracle Database 10g RAC使应用程序在多台互联或集群服务器上不受干扰地运行,从而提高应用程序的可用性和可扩展性。经过验证 Certified)的Oracle Database 10g Rel 2 RAC可以支持高达100个节点并行工作。

 

l        数据库性能SQL Server 依然落后于 Oracle Database 10g

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Oracle和Hive SQL语句有一些相似之处,但也有一些不同之处。 相似之处: 1. 语法:Oracle和Hive SQL语句的语法都是基于SQL标准的,因此它们有很多相似之处。 2. 数据类型:Oracle和Hive SQL语句都支持常见的数据类型,如整数、浮点数、字符串等。 3. 聚合函数:Oracle和Hive SQL语句都支持聚合函数,如SUM、AVG、MAX、MIN等。 不同之处: 1. 分区:Hive SQL语句支持分区,可以将数据按照某个字段进行分区,提高查询效率。而Oracle没有这个功能。 2. 数据类型:Hive SQL语句支持更多的数据类型,如数组、结构体等,而Oracle不支持。 3. 执行引擎:Oracle和Hive SQL语句的执行引擎不同,Oracle使用的是传统的关系型数据库引擎,而Hive使用的是基于Hadoop的MapReduce引擎。 总的来说,Oracle和Hive SQL语句都有各自的优缺点,需要根据具体的需求来选择使用哪种语句。 ### 回答2: Oracle和Hive SQL是两种不同的数据库管理系统,它们各有优点和劣势,在处理大数据的时候有着不同的比较。下面将从各个方面来比较它们的优劣。 一、数据类型的支持 Oracle支持的数据类型较为丰富,包括基本的整型、字符型、日期型,还有二进制大对象等复杂数据类型,在数据处理的时候更为灵活,支持更多的应用场景。 而Hive SQL在数据类型的支持上相对较少,主要支持整型、浮点型、字符串、日期等基本数据类型,不支持复杂的二进制对象。 二、数据分析功能 Oracle在数据分析方面有着强大的功能,支持窗口函数、分析函数、统计函数等高级分析功能。它可以快速的进行数据分析和处理。 而Hive SQL在数据分析方面相对较弱,主要支持基本的数据分析功能,但是由于它的数据存储方式是分布式的,可以通过MapReduce来处理更大的数据集。 三、性能方面 Oracle在性能方面表现良好,在多用户的高并发情况下也有着出色的表现。通过多线程的方式处理大量数据,在响应速度和数据处理能力上都比较强。 而Hive SQL在性能方面较为一般,在处理大量数据时需要较长的时间和较大的计算资源。但是它的分布式存储方式可以保证数据的并发性和容错性。 四、编程接口 Oracle支持多种编程语言,比如Java、C++、Python等,而Hive SQL主要使用HiveQL语言,也可以通过Java和Python等编程语言来操作Hive。 总的来说,Oracle和Hive SQL各有优点,在不同的场景下选择适合自己的工具才是最佳的选择。如果你要处理的数据较为复杂,需要进行高级的数据分析,可以选择Oracle数据库;如果你需要处理的是大量分布式的数据,可以选择Hive SQL。 ### 回答3: Oracle和Hive SQL是两种不同的数据库管理系统,它们都有自己的优点和缺点,也可以根据不同的需求进行选择。 Oracle是一种商业化的数据库管理系统,它具有强大的性能和扩展性,可以支持非常大规模的数据处理和存储。Oracle可以通过多种方式进行访问和管理,包括命令行、Web界面、可视化工具等等。它还提供了非常强大的安全性和可靠性,可以处理高并发的各种数据库操作。另外,Oracle也有非常广泛的使用场景,是传统企业数据管理的首选之一。 相比之下,Hive SQL主要是为大数据处理而设计的,它可以将数据存储在Hadoop分布式文件系统中,通过MapReduce进行处理。Hive SQL可以使用类SQL语法来进行数据分析和查询,非常适合于处理非结构化数据和大规模的数据集。Hive SQL还具有较低的成本和高可伸缩性,可以扩展到数百万个节点,可以运行在云环境中。 总体来说,Oracle和Hive SQL都是非常强大、成熟的数据库管理系统,它们提供了不同的功能和使用场景。对于处理传统企业数据的场景,Oracle是更为合适的选择。如果需要处理大规模的非结构化数据集,或者需要在云环境中运行,那么Hive SQL则是更好的选择。不过,这并不是绝对的答案,具体选择还需要根据实际需求进行权衡和评估。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值