⽬前市场上有些什么样的数据库管理系统(DBMS),它们都有什么特点?它们之间的优缺点有什么。。。
mysql是什么系统1 要求
⽬前市场上有些什么样的数据库管理系统(DBMS),它们都有什么特点?它们之间的优缺点有什么?它们的使⽤场合分别是?
1.1 ⽬前市场上有些什么样的数据库管理系统(DBMS)
⽬前市场上的数据库管理系统(DBMS)常见的品牌有:Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro、PostgreSQL、mySQL、DB2、Ingres、MongoDB、达梦(DM)数据库。
1.2 它们都有什么特点?它们之间的优缺点有什么?
整体上可以把这些数据库分为商业数据库和开源数据库两类。当前主流的商业数据库有、、 DB2和Adaptive SQL Server。⽽在开源⽅⾯,主要有三家主流数据库:、PostgreSQL和Ingres。这两类数据库都已经证明了⾃⼰可以胜任数据存储和管理的需要。但相对于商业数据库,开源数据库可能是⽐较低的数据处理数量、缺少的功能、受限制的图形化管理,较低的安全性、或者是⼀些其他商业数据库有⽽开
源数据库不具备的的东西。
2 商业数据库和开源数据库总览
2.1 商业数据库之
Oracle是商业数据库的代表,具有⾮常丰富的功能、⼴泛的平台⽀持和⼤量的附加功能。在IDC的⼀个调查中,Oracle占据了数据库市场的44%,增长了14%。
Oracle的功能从表分区和⼤量的统计功能,到⼀些⾼可⽤功能,诸如本地复制、数据镜像和应⽤集(Real Application Clusters,RAC)等。Oracle另⼀个强⼤的功能是在线表和索引重建。在很多数据库中,需要离线进⾏重建,也就是说当索引被重建的时候,不允许访问数据,因为这个操作要求独占性访问对象。当然,这不是Oracle的全部功能,只是其所能提供的⾼级功能的⼀些⽰例。
2.2 商业数据库之IBM DB2
在2004年,DB2数据库的销售主要集中在IBM和它们⾃⼰的AS/400系列系统中。尽管根据2006 IDC的调查报告,DB2的市场占有率⾼居第⼆位,但是与Oracle相⽐,它的销售额和市场占有率都要低很多。
现在除了IBM的专有外,DB2可以运⾏在Windows、和平台上。新版的DB2 V9在XML处理⽅⾯具有较⼤的改进。在我最近的⼀个使⽤了其他数据库的项⽬中,在规划XML⽅⾯我们做了⼤量的额外⼯作。如果我们所使⽤的数据库具有 DB2 V9的相应功能,或许就不会有这么多⿇烦了。
另外,IBM正在通过其DB2 Everyplace进⼊移动领域,⽬前⽀持PDA和。
2.3 商业数据库之微软SQL Server
⼀直以来,微软的SQL Server都只可以运⾏在其Windows平台上,但是在上⼀年的今天,也就是2016年的3⽉8⽇,推出可运⾏在 Linux 系统下的 SQL Server 数据库。SQL Server的市场份额将会更快的增长。
根据IDC的统计,微软的SQL Server是市场份额增长最快的数据库,市场份额仅次于DB2,排名第三。
在最新版本的SQL Server 2005中,增加了许多新的功能,使其进⼀步对Oracle够成威胁。其中包括表分区、在引操作和很多其他管理功能。从下⽂中你将看到,很多⽤户对SQL Server的直观、易⽤的管理界⾯深表⽀持。
2.4 商业数据库之Sybase
最新版本的Sybase Adaptive Server与以前的版本相⽐,具有更丰富的功能设置,但是与上⾯Oracle和DB2两个商业数据库相⽐还是少很多,举个例⼦来说,它缺少对⾼可⽤和在线索引重建的⽀持。这或许是为什么在IDC的⼀次调查中,它仅排名第四,只有可怜的3.2%的市场份额。
Sybase⽐较强⼤的地⽅在于它对资源的低占有率上。在这⼀⽅⾯,Sybase 15还引⼊了新的“专利查询过程技术”,显⽰了增强的性能和降低的硬件资源消耗。另⼀⽅⾯,Sybase正在通过其SQL Anywhere数据库进⼊移动领域。SQL Anywhere功能之⼀就是其常驻内存的数据库管理系统,可以运⾏在Windows Mobile、Windows、和上。
prefix代表什么词性关于Sybase还有⼀个很有意思的历史插曲,微软的SQL Server是从Sybase开发⽽来的。微软和Sybase签订了⼀个合约,微软被授权可以销售⼀个重新包装的Sybase,或在它的基础上开发⼀个它⾃⼰的版本。尽管微软已经对其进⾏了很多修改,你依然可以在SQL Server的命令组成中看到两者之间的渊源。
2.5开源数据库之仿易语言源码
MySQL是开源数据库中的,它的⽤户数是在同类开源数据库中是最多的,它既可以被⼩的新兴公司所使⽤,也可以被采⽤了操作系统集的⼤型Web站点所使⽤。
MySQL拥有很多插⼊式的存储引擎,⽤来给⽤户提供不同的所需功能,⽽不是默认具有全部功能。这也是为什么MySQL会在数据恢复操作
中具有最佳表现的另⼀个原因。
⾃从MySQL第⼀版发布以来,就提供⼀个存储引擎接⼝。它让⽤户来根据需要选择数据存储引擎。MySQL既有事务安全(ACID兼容)的存储引擎(诸如InnoDB、Falcon),也有不⽀持事务处理的存储引擎(MyISAM)、⽇志引擎(不能被更新或删除,Archive)和通过⽆共享体系结构实现⾼可⽤性的集技术, MySQL还有专有的第三⽅引擎,例如InfoBright和Nitro。
MySQL拥有很多实现特定功能的存储引擎,但是并不建议你全部安装它们。⽽像这样的公司则编写了⾃⼰的存储引擎来加速它们的常⽤操作。
MySQL与Oracle相⽐的⼀个优势就是它对资源的占⽤⾮常少。MySQL是实现数据恢复⽅⾯最快的数据库,但是它的确缺少⼀些在Oracle中的功能。
MySQL从来没有想过与其他数据库在功能数量上⼀较⾼下,MySQL的⽬标是易⽤、稳定和性能。MySQL现在具有丰富的功能,已经得到了很多开发者的⽀持。圆导轨与滑块
2.5开源数据库之PostgreSQL
在开源数据库中,PostgreSQL以其丰富的功能⽽显得格外突出,其中包括存储过程、表分区(partitioning)、多过程语⾔⽀持和多种数据类型和索引的⽀持。另外,PostgreSQL的标准兼容性和严格的安全功能也被众多⽤户所称道。PostgreSQL的在线事务处理(OLTP)是其最受欢迎的功能,在开源数据库中,它的数据仓库⽅⾯也是表现最好的。
由于PostgreSQL是⼀个被不同公司⽀持的社区控制型开源项⽬,很多公司提供对它的⽀持,诸如、Fujitsu、SRA和Red Hat和很多新兴公司和顾问公司。PostgrefSQL在⽇本的市场情况很不错,仅次于Oracle。
2.7开源数据库之Ingres
c语言程序设计教程第五版王秀鸾
在Ingres 2006版中引⼊了很多新功能,其中⼀些功能是关于⼤规模部署⽅⾯的,例如键范围表分区(key range table partitioning)和并⾏查询⽀持。另外,诸如存储过程、触发器和功能早已被Ingres所⽀持,不过Ingres现在还不⽀持内部任务。
2.8数据库应⽤
数据库的⼀个⽐较特别的是嵌⼊式应⽤程序,在这⽅⾯应⽤中,低资源占⽤成为⼀个必需的要求。
MySQL由于其设计理念,在这⼀⽅⾯被应⽤的⽐较多。微软的SQL Server 2005 Express版也被做为
嵌⼊式数据库使⽤,它被认为是微软数据库引擎(MSDE)的下⼀版本,⽽且它也是完全免费的。⽽Oracle则⼜通过收购得来的 TimesTen内存数据库来满⾜嵌⼊式应⽤程序。
是开源数据库的⾸选操作系统,因为它们都是开源⽽且完全免费的产品。现在的消费电⼦产品市场中,Linux变种已经被⼴泛应⽤。⽽这也使得开源数据库们在嵌⼊式应⽤程序受益。
3对这些数据库管理系统的使⽤场合分别是什么?
这个问题,我想以“如何选择适合⾃⼰的数据库的⽅式?”来回答。
3.1按需求来选择
事实上,现在没有完美⽆缺的数据库,⽆论是商业数据库,还是开源数据库。我们发现,选择⼀个数据库的主要理由就是它的功能是否可以很好地⽀持你的应⽤程序。⼈们通常使⽤数据库来完成的任务有:⽀持Web、事务处理、⽂本搜索,有的情况下复制也是⼀个重要的要求。在事务处理⽅⾯,Oracle看上去更有领先优势,接下来是微软的SQL Server。没有⼀个开源数据库具有可以与Oracle相媲事务处理功能。
在那些要求功能丰富的情况下,开源数据库们并不⽐商业数据库有什么优势。⼈们经常提到的商业数据库的优势功能有存储过程、触发器和⼀些安全功能。
data是什么格式
不过,正如我们上⾯提到过的,⾃从Ingres问世以来就⽀持触发器和存储过程。PostgreSQL对这些功能也早已⽀持。在MySQL的新版中最近也增加了存储过程和触发器功能。对于⽀持Web应⽤程序,MySQL看上去要⽐其他对⼿表现好。Web应⽤程序主要是对数据库进⾏读取操作。MySQL在这⽅⾯以速度快⽽见长。⼀些⽤户表⽰,在快速阅读操作⽅⾯,MySQL⾄少不⽐Oracle差。但是,当任务从阅读数据库转向处理⼀个客户购买操作的时候,⽤户则可能更倾向于选择Oracle⽽不是MySQL。在复制和集功能上,MySQL给⼈的印象差别很⼤。MySQL中的单向复制表现惊⼈,但是,MySQl的集功能被应⽤的不多,因为它只是基于内存的。
3.2按易⽤性和管理来选择
开源数据库们主要是以命令⾏⼯具中管理。尽管也有⼀些图形⼯具可⽤,但是与Oracle等商业数据库⾃带的图形管理⼯具相⽐,它们还显得不够灵活和稳定。在图形化管理⽅⾯的赢家⽆疑是微软。微软的SQL Server管理⼯具不是基于的,⽽是⾃带的⼀个终端平台。这使得它有能⼒完成⼀些Web浏览器所不能实现的强⼤功能。⼀些⽤户希望Oracle中的管理功能也和SQL Server中⼀样好。
3.3按⽀持性来选择
当讨论开源软件的时候我们听到最频繁的问题是:“我们从哪⼉能得到⽀持?”MySQL为它⾃⼰的客户提供24*7、30分钟响应时间的⽀持。在其Unlimited服务中还有很多不同的付费⽀持级别。正如上⾯所提
到的,PostgreSQL的⽀持来⾃于不同的平台⼚商,⽀持的内容、成本、地区和要求因⼚商不同⽽不完全⼀样。由于开源数据库的源代码可以被任何⼈查看和修改,这导致了⼏个潜在的问题。⼀个合法客户对数据库进⾏了修改会发⽣什么?Sun公司不会对这种情况提供⽀持,⽽MySQL公司将提供⽀持,但是需要满⾜⼀些特定条件和情况。事实上,能对这些开源产品进⾏修改的客户的数量是⾮常少的——这与产品的复杂度有关系。另⼀个开源软件的问题是,任何⼈可以对产品进⾏修改的现实会带来⼀些潜在的漏洞或安全问题。诸如此类的事情已经发⽣过,客户需要确信从熟悉的⽹站下载这些产品,并且确认它们可以通过MD5校验。
3.4按成本因素来选择
数据库中成本因素是⾮常简单的。对于开源数据库,你可以免费得到授权,但是同时也牺牲了⼀些功能。⽽对于商业数据库,你可以使⽤更多强⼤的功能,但是你需要按每个拷贝或每个CPU来⽀付授权费⽤。对于开源数据库,在维护成本⽅⾯,尽管看上去你可以选择不从⼚商那⼉购买⽀持合同,因为你拥有源代码,但是实际上并不如此简单。
虽然你可以选择修改源代码,但是当新版数据库出来后,你所做的修改不得不重新进⾏实施,⽽且你曾经所做的修改可能已经没有必要,因为新版中增加了相应的功能。对我们来说,唯⼀⽐较实际的做法就是成为这个社区中的⼀员,这可能需要你投⼊⼤量的时间,其成本或许会超过购买⼀个⽀持合同。
对于商业数据库,你只有⾯临⼀个选择,如果你想得到来⾃它们的维护⽀持,那么就购买它们的⽀持合同。
4结论
总体来说,选择什么样的数据库要看你的应⽤程序的需要。如果它是以阅读数据库为主的Web应⽤,MySQL⽆疑是最佳选择。⽽如果需要那些事务处理和复杂的数据库功能,那么可能是Oracle和微软的SQL Server的地盘。如果你需要⼀些商业数据库的⾼级功,但⼜不想⽀付授权费⽤,那么看⼀下PostgreSQL或Ingres。对于嵌⼊式, MySQL和Sybase所占有的系统资源最少。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。