对几种数据库的认识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对几种数据库的认识相关的知识,希望对你有一定的参考价值。
当我看到这周的每周一文的题目是“关于对数据库的认识和理解”的时候,我突然觉得无从下手,因为我不知道写什么,自己对数据库的理解和接触过的数据库,仅仅限于课堂上老师讲过的微软公司的SQLServer2008,对于其他的数据库自己也只是道听途说。于是乎我疯狂的在网上找资料,从不同的方面了解了当前的几种主流数据库。在此整理一下自己所了解到的东西分享给大家。当然由于SQLServer2008自己用的还算多,所以我会着重的讲解一下自己对这个数据库的感受。
目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES。这些产品都支持多平台,如我们熟知的UNIX、Windows等,但支持的程度不一样。当然这里面的数据库,对于处于学生阶段的我们来说比较陌生,但是在实际工作中接触的比较多。言归正传,接下来我就从安全性,伸缩性,开放性,操作性,以及应用领域等几个方面来给大家介绍介绍。
- SQLServer
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。目前最新的版本是SQLServer2012.他只能运行于windows上,操作系统的系统的稳定性对数据库十分重要。并行实施和共存模型不是很成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。但是由于其友好的操作界面,使开发者操作起来比较容易。它提供了众多的web和电子商务功能,使得通过对web数据的访问比较轻松。
其主要特点如下:
- 优点:
- 真正的客户/服务器体系结构; 在这种体系结构中,包括多台计算机,其中处理应用程序,请求服务的计算机称客户机,处理数据库的计算机称为服务器。
- 图形化用户界面,使系统管理和数据库管理更加直观、简单;提供了表、视图和查询定义的图形界面,在Query Analyze的图形界面中使用SQL语言,服务器和数据库的用户配置的图形化界面。
- 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地;SQLServer提供了丰富的应用程序接口来访问服务器的数据,主要的访问方法有:ODBC API、OLE DB、Transact-SQL和DB-Library,客户机可以通过这些API作为动态连接库来使用,并通过客户端的网络库与SQLServer服务器通信。对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上;
- 在Web Assistant中可以将数据库表中的数据引出来,还可以将html中的数据引入到数据库中。SQLServer的数据可以自动发行到Web页上;用户可以通过一个普通的浏览器来查询存储在SQLServer中的信息,因此可以用存储在SQLServer中的信息创建动态Web页。
- SQL Server提供数据仓库功能:这个功能只在Oracle和其他更昂贵的DBMS中才有。
- 支持XML(Extensive Markup Language,扩展标记语言)
- 缺点:
- 开放性:只能运行在微软的windows平台,没有丝毫的开放性可言。
- 可伸缩性,并行性:并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
- 性能稳定性:SQLServer当用户连接多时性能会变的很差,并且不够稳定。
- 使用风险:SQLServer完全重写的代码,经历了长期的测试,不断延迟,许多功能需时间来证明。并不十分兼容早期产品。使用需要冒一定风险。
- 客户端支持及应用模式:主要支持C/S模式。
- ORACLE:
提起数据库,第一个想到的公司,一般都会是Oracle(甲骨文)。该公司成立于1977年,最初是一家专门开发数据库的公司。Oracle在数据库领域一直处于领先地位。 1984年,首先将关系数据库转到了桌面计算机上。然后,Oracle5率先推出了分布式数据库、客户/服务器结构等崭新的概念。最新的Oracle 12c主要增加了对象技术,成为关系—对象数据库系统。目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一.
- 优点:
- 兼容性:Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。
- 可移植性:Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、Windows等多种操作系统下工作。
- 可联结性:Oracle能与多种通讯网络相连,支持各种协议(TCP/IP、DECnet、LU6.2等)。
- 高生产率:Oracle产品提供了多种开发工具,能极大地方便用户进行进一步的开发。
- 开放性:Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性
- Oracle真正实现了行级锁,SQL Server也宣称实现了行级锁,但你实际去试,如果不加索引,其实是不行的。
- Oracle的事务日志归档相当方便,而SQL Server要用事务日志备份来实现,而且还要配置自动作业,启动agent服务。
- Oracle的数据字典丰富,使得DBA容易判断数据库的各种情况,虽然SQL Server 2005学习了Oracle的数据字典的特点,但从数量及方便程度上还是相差太多。个人感觉这是Oracle最人性化的地方。
- Oracle的触发器比SQL Server的种类多几种。
- 缺点:
- 较复杂,操作界面不友好。对于新手而言,上手有一定的难度。
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置的软件中去。
- 优点:
- 它使用的核心线程是完全多线程,支持多处理器。
- 有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。
- 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。
- 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。
- 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。
- 所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。
- MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、php、Python和TCL API。
- 缺点:
- MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。
- MySQL的另一个主要的缺陷之一是缺乏标准的RI(Referential Integrity-RI)机制;Rl限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿。
- MySQL没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制。
- MySQL不支持热备份。
- MySQL的价格随平台和安装方式变化。
以上就是本人通过收集资料以及一些自我的感受整理的关于对几种数据库的认识。
资料来源:
http://blog.csdn.net/keywaytang/article/details/7544002
http://blog.renren.com/share/253251848/11925571593
http://blog.chinaunix.net/uid-7374279-id-2057575.html
http://www.educity.cn/develop/123622.html
http://blog.163.com/[email protected]/blog/static/130059154201001443631158/
以上是关于对几种数据库的认识的主要内容,如果未能解决你的问题,请参考以下文章