Linux环境主要数据库简介

转载 2007年10月15日 19:08:00

数据库是Linux应用中的主要部分。Linux上的主要数据库包括:商业数据库: Oracle、Sybase、DB2、Informix;自由软件数据库: MySQL、PostgreSQL、Msql等。

 

商业数据库

由于商业数据库有很好的技术支持,这里只简单介绍一下。

(1) IBM DB2 (http://www.software.ibm.com/data/db2/linux/)

(2) Informix (http://www.informix.com/informix/products/linux/) Informix目前支持Linux是Informix SE,ESQL/C,Connect.

(3) Oracle (http://www.oracle.com/iplatform/linux/) Oracle 目前支持Linux的是Oralce 8i 、9i。

(4) Sybase (http://www.sybase.com/products/databaseservers/linux/index.html) Sybase 目前支持Linux的是Adaptive Server Enterprise 11.9.2 。

(5)Ingres (http://www.cai.com/products/betas/ingres_linux/ingresii_qa.htm) CA目前支持Linux的是 Ingres II数据库.

 

自由软件数据库

1、MYSQL

MysQL是瑞典的T.c.X公司负责开发和维护的,它是一个真正的多用户、多线程SQL数据库服务器。MysQL是以一个客户机/服务器结构实现其功能的,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。MySQL主要特点是快速、健壮和易用。MySQL的官方发音是“My Ess Que Ell”(不是MY-SEQUEL)。目前MySQL的最新版本是4.04,MySQL的网址是:http://www.mysql.com,MySQL的标志是一个小海豚。见图-1。

 

 

图-1

(1)MySQL的优点:

1. 它使用的核心线程是完全多线程,支持多处理器。

2. 有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。

3. 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。

4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。

5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。

6. 所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。

7. MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。

(2) MySQL的缺点:

1、 MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。

2、 MySQL的另一个主要的缺陷之一是缺乏标准的RI(Referential Integrity-RI)机制;Rl限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿。

3、 MySQL没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制。

4、 MySQL不支持热备份。

5、 MySQL的价格随平台和安装方式变化。Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或Linux 自行安装 免费 、Unix或Linux 第三方安装 200美元,

需要一个应用组件 200美元 。

2、mSQL

mSQL(mini SQL)是一个单用户数据库管理系统,个人使用免费,商业使用收费。由于它的短小精悍,使其开发的应用系统特别受到互联网用户青睐。mSQL(mini SQL)是一种小型的关系数据库,性能不是太好,对SQL语言的支持也不够完全,但在一些网络数据库应用中是足够了。 由于mSQL较简单,在运行简单的SQL语句时速度比MySQL略快,而MySQL在线程和索引上下了功夫,运行复杂的SQL语句时比mSQL,PostgreSQL等都 要快一些。MSQL的网址是:www.hughes.com.au ,最新版本是3.3。MSQL的标志是一个山羊。见图-2。

 

 

图-2

安全性方面,mSQL通过ACL文件设定各主机上各用户的访问权限,缺省是 全部可读/写。mSQL缺乏 ANSI SQL 的大多数特征,它仅仅实现了一个最最少的API,没有事务和参考完整性。mSQL与Lite(一种类似C的脚本语言,与分发一起发行)紧密结合,可以得到一个称为 W3-mSQL的一个网站集成包,它是JDBC、ODBC、Perl和PHP API。

3、PostgreSQL

PostgreSQL是属于"对象-关连"式的数据库管理系统 (ORDBMS)。PostgreSQL 的前身叫做 Ingres,是于 1977年至1985年间由着名的柏克莱大学所发展出来的。由于PostgreSQL是用C语言写成的。所以在不同的Unix平台上移植非常方便。PostgreSQL可以在Linux、FreeBSD、SCO Unix、HP Unix、Solaris、AIX等平台上运行。PostgreSQ的网址是http://www.postgresql.org/,最新版本是7.2。 PostgreSQL的官方发音是 :Post-gres-Q-L。 PostgreSQ的标志是一个大象。见图-3

 

 

图-3

(1)PostgreSQL的主要优点:

1、对事务的支持与MySQL相比,经历了更为彻底的测试。

2、PostgreSQL支持存储过程,对于一个严肃的商业应用来说,作为数据库本身,有众多的商业逻辑的存在,此时使用存储过程可以在较少地增加数据库服务器的负担的前提下,对这样的商业逻辑进行封装,并可以利用数据库服务器本身的内在机制对存储过程的执行进行优化。此外存储过程的存在也避免了在网络上大量的原始的SQL语句的传输,这样的优势是显而易见的。

3、PostgreSQL支持视图,视图的存在同样可以最大限度地利用数据库服务器内在的优化机制。而且对于视图权限的合理使用,事实上可以提供行级别的权限,这是MySQL的权限系统所无法实现的。

4、PostgreSQL支持触发器,触发器的存在不可避免的会影响数据库运行的效率,但是与此同时,触发器的存在也有利于对商业逻辑的封装,可以减少应用程序中对同一商业逻辑的重复控制。合理地使用触发器也有利于保证数据的完整性。

5、PostgreSQL支持约束。约束的作用更多地表现在对数据完整性的保证上,合理地使用约束,也可以减少编程的工作量。

6、PostgreSQL支持子查询。虽然在很多情况下在SQL语句中使用子查询效率低下,而且绝大多数情况下可以使用带条件的多表连接来替代子查询,但是子查询的存在在很多时候仍然不可避免。而且使用子查询的SQL语句与使用带条件的多表连接相比具有更高的程序可读性。

7、PostgreSQL支持R-trees这样可扩展的索引类型,可以更方便地处理一些特殊数据。 支持ODBC。

8、PostgreSQL可以更方便地使用UDF(用户定义函数)进行扩展。

(2)PostgreSQL的主要缺点:

1、PostgreSQL运行速度明显低于MySQL,因为MySQL使用了线程,而PostgreSQL使用的是进程。在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。

2、PostgreSQL目前仍不完全适应24×7小时运行,这是因为你必须每隔一段时间运行一次VACUUM。

3、PostgreSQL在权限系统上不过完善。PostgreSQL只支持对于每一个用户在一个数据库上或一个数据表上的INSERT、SELECT和UPDATE/DELETE的授权,而MySQL允许你定义一整套的不同的数据级、表级和列级的权限。

4、由于PostgreSQL生成每页的速度要比MySQL慢,所以 不足以用来作高流量网站应用。Postgres没有与MySQL的mysql_insertid()等价的函数调用。如果在MySQL的数据库中插入一行数据,MySQL将返回这行主关键字的ID。而在Postgres中完成这样一个操作需要绕许多圈子,如果大量应用就会降低效率。

5、PostgreSQL 还欠缺一些比较高端的数据库管理系统需要的特性,比如对大对象的有效支持,以及查询缓冲等提高数据库性能的机制等。

Linux下的数据库系统还有一些,如dbm 是linux下的一种非关系数据库,它实际上是文件形式 的哈希表,每一对名字/值项称为一个记录. dbm有好几个版本,如ndbm,gdbm等。

总结:以上我们主要介绍了Linux环境下的一些主要的数据库,其他自由软件数据库还有 Gadfly 、BeagleSQL、Berkely DB、GNU SQL等。你可以到http://www.linux.org网站查看更多的相关内容。

 

Linux环境主要数据库简介

数据库是Linux应用中的主要部分。Linux上的主要数据库包括:商业数据库: Oracle、Sybase、DB2、Informix;自由软件数据库: MySQL、PostgreSQL、Msql等。 ...
  • simanstar
  • simanstar
  • 2013年04月16日 23:01
  • 1238

MSSQL之一 数据库系统简介 与SQL Server 2008概述

前   言 SQL的全称是结构化查询语言(Structured Query Language),它是关系数据库中最常用的语言。SQL不仅可以管理数据库中的数据,而且可以管理关系数据库本身。为了避免各...
  • zhangchen124
  • zhangchen124
  • 2016年05月13日 19:34
  • 5508

Linux下MySQL数据库常用基本操作

1、显示数据库 show databases; 2、选择数据库 use 数据库名; 3、显示数据库中的表 show tables; 4、显示数据表的结构  describe ...
  • fireroll
  • fireroll
  • 2014年07月19日 10:48
  • 587

Linux系统简介(-)

Linux是一款开放源代码的类Linux操作系统。1991年,托瓦茨根据Minix(具有微内核的UNIX)写出了Linux内核并发布到网上,大家可以自由下载和修改。后来为了Linux的普及和发展,Li...
  • AHUSTU1737683317
  • AHUSTU1737683317
  • 2015年04月05日 11:56
  • 807

linux一键安装web环境全攻略---来…

下载一键安装包 下载一键安装包(ubuntu12.04)   准备好连接linux服务器的工具,推荐用xshell和xftp。 xshell 是一个强大的安全终端模拟软件,它支持SS...
  • qiu5213173
  • qiu5213173
  • 2015年05月30日 11:36
  • 1762

嵌入式Linux操作系统简介

嵌入式Linux操作系统介绍  嵌入式Linux操作系统,是个与生俱来的网络操作系统且成熟稳定。其为开源软件且源代码开放,不存在黑箱技术,按照GPL公约任何人都可以对它进行修改添加新的功能形成自己的...
  • yyyljw
  • yyyljw
  • 2015年12月27日 21:04
  • 606

MongoDB简介和基本概念(一)

NoSQL简介  NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型的数据库 。是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的...
  • zh_ang_lei
  • zh_ang_lei
  • 2017年06月16日 11:56
  • 494

Oracle数据库简介

Oracle数据库简介一、介绍Oracle数据库系统是美国Oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(Client/Server,C/S)或浏览器/...
  • zhliro
  • zhliro
  • 2015年06月08日 11:38
  • 7218

Linux环境下的图形系统简介

Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后。开源社区...
  • dj0379
  • dj0379
  • 2016年12月12日 02:07
  • 721

简介SQL SERVER 2014主要功能

Microsoft SQL Server 2014已经内置最新的安全、功能更新。微软将在4月1日,即Build2014开发者大会期间开放SQL Server 2014资源下载服务。        Mi...
  • maco_wang
  • maco_wang
  • 2014年03月31日 23:56
  • 7471
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux环境主要数据库简介
举报原因:
原因补充:

(最多只允许输入30个字)