当下流行的RDBMS以及各RDBMS的不同或优势所在
15051417 高德鸿
以下排名来自DB-Engines根据数据库相关网站数量,公众关注度,技术讨论活跃度,招聘职位,专业档案,社交网络信息这六个方面的统计数据综合评估各个数据库产品得分,并给出综合排名。
排名前三分别为:Oracle,MySQL,MicrosoftSQLServer,漂亮的swing框架并且数据库产品遥遥领先,呈现三足鼎立之势。PostgreSQL、MongoDB比较稳的站在前五,得分也不相上下。DB2曾经是数据库的领导者,但近几年发展乏力,在持续下滑,特别是互联网行业及中小企业IT里基本没有DB2的身影,在金融等领域也受到非常大的挑战。MongoDB、Redis、Elasticsearch、Neo4j在自己的领域取得了领导地位。
总体来说,去年MySQL、SQLServer、PostgreSQL、MongoDB、Redis、Elasticsearch呈稳定趋势,在自身专业地盘稳固。而Oracle、DB2、Access、Sybase几家的活跃度在不停下滑。
当下开源数据库都呈良好的发展势头,而商业数据库的市场被慢慢吞食,但从近一年发展趋势来看,开源数据库并没有完全打败商业数据库的势头,未来很长时间还会是激烈竞争状态,目前商业数据库主要是靠Oracle、SQLServer在支撑。
数据库比较
一、Oracle(老大,最挣钱的数据库)
Oracle一直是数据库市场占有率最高的产品,具有以下优良特性:
1. 兼容性:Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。
2. 可移植性:Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、Windows等多种操作系统下工作。
3. 可联结性:Oracle能与多种通讯网络相连,支持各种协议(TCP/IP、DECnet、LU6.2等)。
4. 高生产率:Oracle产品提供了多种开发工具,能极大地方便用户进行进一步的开发。
5. 开放性:Oracle 能所有主流平台上运行(包括 windows)完全支持所有工业标准采用完全开放策略使客户选择适合解决方案对开发商全力支持
其主要优势:
1、 处理速度快,非常快
2、 安全级别高。支持快闪以及完美的恢复,即使硬件坏了也可以恢复到故障发前的1s
3、 几台数据库做负载数据库,可以做到30s以内故障转移,
4、 网格控制,以及数据仓库方面也非常强大
缺点:
1、 对硬件的要求很高;
2、 价格比较昂贵;
3、 管理维护麻烦一些;
4、 操作比较复杂,需要技术含量较高;
最新版本及跟新信息:
Oracle12c是一个非常重要的版本。全面拥抱云计算,多租户是12c的最大特性。2016年发布了12.2版本,12c可以说能进入生产使用阶段。Oracle12.2在云计算多租户方面有了非常大的增强,几个对于云计算多租户是非常重要的特性点如下:
1. I/O Rate Limits for PDBs(PDB可以按IOPS或Mbps隔离)
2. Support for PDBs with Different Character Sets, Time Zone File Versions, and Database Time Zones in a CDB
3. Proxy PDB(PDB代理服务,可以用一个链接指向远程的一个PDB)
4. Service-Level ACLs for TCP Protocol(每个PDB可以指定ACL安全策略)
5. Flashback Pluggable Database
6. PDB Archive Files (.pdb Files)(可以导出PDB为离线文件,然后迁移到其它的CDB上,用于容器迁移)
7. PDB Refresh,clone PDB and autorefresh,(可用于单PDB的镜像实例灾备、同步、分析)
django源码分析8. 一个CDB可以包括4000个PDB(以前最大是252个)
Oracle12.2增加了原生Sharding支持,这与以前的partition及rac不同,sharding可以将数据放在完全不同的主机,属于share nothing的架构,可以说这个特性是专门为那边业务非常大的OLTP系统准备的,相当于内置实现了自动分库分表管理功能。另外新增了数据生命周期管理功能。
二、MySQL(最流行的开源数据库)
MySQL是互联网公司最受欢迎的数据库,具有以下优势:
1、 体积小、速度快、总体拥有成本低,开源;
2、 支持多种操作系统;
3、 是开源数据库,提供的接口支持多种语言连接操作
4、 MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySql能很容易充分利用CPU;
5、 MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证;
6、 支持ODBC for Windows,支持所有的ODBC 2.5函数和其他许多函数,可以用Access连接MySql服务器,使得应用被扩展;
7、 支持大型的数据库,可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,可以针对不同的应用进行相应的修改。
8、 拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性;
9、 MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上;
缺点:
1、 不支持热备份;
2、 MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变;
3、 没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制;
4、 MySQL的价格随平台和安装方式变化。Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或Linux 自行安装免费、Unix或Linux 第三方安装收费;
版本信息及跟新:
MySQL5.7
2016年MySQL5.7也发布了Group Replication特性,应用于要求强高可用的场景,这个特性让MySQL开始有基础与现代新的分布式数据库去竞争,目前只是刚推出,估计离能生产使用还有差距。
MySQL5.7对很多代码进行了优化,特别是高并发下锁的争用,所以在高并发简单SQL性能会有大的提升,另外很值得升级的就是带来了不少新功能,比如原生支持JSON了,原生支持full text search等等。
MySQL 8.0 DMR
2016.9月MySQL8.0(原计划是MySQL5.8)刚发了一个DMR版本(开发者版),可以说是有非常大的改进,下面是发出来的几个大特性:
1. 支持role
2. 数据字典存储由myisam引擎变为innodb
dubbo是长链接还是短链接3. 支持 invisible indexes,这个对DBA索引调优比较有帮助
4. 增加column_stats,相当于Oracle的直方图
手机mysql安装配置教程>什么是嵌入式技术5. Performance schema持续加强,增加了很多error信息采集与展示
通用对话框的方法6. 支持SET参数持久化保存
三、SQLServer(Windows上最好的数据库)
SQL Server 提供了众多的Web和电子商务功能,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。具有易操作性及其友好的操作界面。
优点:
1、 易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等;
2、 为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。
3、 作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。
4、 作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言 (XML)的核心支持以及在Internet上和防火墙外进行查询的能力;
缺点:
1、 开放性:SQL Server 只能windows上运行没有丝毫开放性操作系统系统稳定对数据库十分重要Windows9X系列产品偏重于桌面应用NT server只适合小型企业而且windows平台靠性安全性和伸缩性非常有限象unix样久经考验尤其处理大数据库;
2、 伸缩性并行性:SQL server 并行实施和共存模型并成熟难处理日益增多用户数和数据卷伸缩性有限;
3、 安全性:没有获得任何安全证书。
4、 性能:SQL Server 多用户时性能佳;
5、 客户端支持及应用模式:客户端支持及应用模式。只支持C/S模式,SQL Server C/S结构只支持windows客户用ADO、DAO、OLEDB、ODBC连接;
6、 使用风险:SQL server 完全重写代码经历了长期测试断延迟许多功能需要时间来证明并十分兼容;
SQLServer2016
重磅特性:
1. PolyBase——PolyBase支持查询分布式数据集。有了PolyBase,你可以使用Transact SQL语句查询hadoop或者SQL Azure blob存储。你现在可以使用PolyBase写临时查询,实现SQL Server关系型数据与Hadoop或者SQL Azure blog存储中的半结构化数据之间的关联查询。此外,你还可以利用SQL Server的动态列存储索引针对半结构化数据来优化查询。
如果组织跨多个分布式位置传递数据,PolyBase就成了利用SQL Server技术访问这些位置的半结构化数据的便捷解决方案了。
2. 全程加密——支持在SQL Server中保持数据加密,只有调用SQL Server的应用才能访问加密数据。使用该功能,你可以避免数据库或者操作系统管理员接触客户应用程序敏感数据(包括静态数据和动态数据)。该功能现在支持敏感数据存储在云端管理数据库中,并且永远保持加密。即便是云供应商也看不到数据。
3. 动态数据屏蔽——这个特性可以很好的保护一个表中的敏感信息(如会员表的注册时间不是太机密的信息,但是像手机号码这种信息并不希望普通账号可以查看,动态数据屏蔽可以有效的解决这个问题,它能让普通账号看不到完整的手机号信息,比如138-1234-5678手机号可能会显示为138-****-****)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论