阅读更多

7顶
5踩

数据库

当谈到开源数据库时,MySQL获 得了业界大部分的注意力,MySQL是一个易于使用的数据库,同时有许多开源的Web应用程序都是直接在它上面开发的。

 

另外一种主要的开源数据库是PostgreSQL,虽然它也是众所周知的,但是却没有获得像MySQL所得到的认可。这是很不幸的,因为在这两者 中,相比MySQL,PostgreSQL能提供更加安全、更加可靠、数据也更加完整的服务。

 

但是,这同样也有一定的缺陷。PostgreSQL对于设置和使用的要求比较高,它利用的是特殊权限、底层操作系统的安全性以及数据库内提供的角色 (roles)和特权。如果你对这些东西不够了解的话,会使得PostgreSQL的使用变得困难。但一旦你掌握了它们,你就可以像使用MySQL一样很 容易的使用PostgreSQL。

 

与MySQL相类似,PostgreSQL的工作基于这样一种原则,即特定的用户有特定的数据访问权限。在PostgreSQL里,这些被称之为 “角色(roles)”,通过采用CREATE ROLE, ALTER ROLE, and DROP ROLE这些语句可以创建和管理它们。和MySQL不同的是,这些“角色”可以映射和绑定到系统的用户,这就意味着它可以利用不同形式的体系认 证:ident server authentication、LDAP server authentication、PAM和Kerberos。而对于本地连接,你也可以通过使用这些文件体系的权限来确定谁可以访问Unix域套接字,以及 它的位置。

 

PostgreSQL中,访问控制的方法是使用pg_hba.conf。对于身份识别,也可采用pg_ident.conf;这可以用于将数据库用 户映射到本地用户。假如用户“joe”是允许访问的PostgreSQL用户数据库“joe”和“电子商务”。pg_hba.conf文件包含如下:

# TYPE DATABASE USER CIDR-ADDRESS METHOD
local  all  all    ident map=esite
host all  all  127.0.0.1/32  ident map=esite

 

而pg_ident.conf可能会包括:

# MAPNAME SYSTEM-USERNAME  PG-USERNAME
esite 
joe
joe
esite 
joe
ecommerce
esite 
postgres
joe

这就允许系统用户“joe”作为“joe”或者“ecommerce.”来访问数据库。它也允许系统“postgres”用户以“joe”的身份连 接到数据库。同时强化对于名字为“esite”识别方法的映射类型,如在pg_ident.conf中所定义的那样。这就意味着在本地类型(Unix域套 接字)和本地TCP/IP地址(127.0.0.1)中,只有joe和postgres能够连接到数据库。没有其他的用户有权来访问它。

这种识别方法是一种很好的方式,用于控制哪一个本地用户可以连接到哪一个数据库。这种方法只对本地主机(TCP/IP 或者UNIX 域套接字)的连接起作用,而对于远程控制是无效的。

 

虽然对于那些习惯使用MySQL的人来说这看起来似乎有点混乱,但目前对具有这种认证精度的数据库的需求确是实实在在的。MySQL只支持基于登录 证书的身份验证,而这些证书只由数据库本身进行储存和管理。

 

另一方面,PostgreSQL不仅允许这种采用密码机制的身份验证,而且允许采用无密码的身份验证。这些验证机制包括像讨论的认证机制、 PAM(其中规定了许多有意思的验证方案)以及LDAP 和 Kerberos。Kerberos是一种在MySQL使用多年的方式(事实上,出现于2004年11月的MySQL错误#6733就需要得到 Kerberos的支持)。许多公司的偏好Kerberos和LDAP密码存储目录,这就使得PostgreSQL成为了一个引人关注的数据库。

 

还有其他很多特色使得PostgreSQL更加适用于企业。虽然安全性很重要,但除此之外PostgreSQL对于数据完整性、访问控制、ACID 规则以及其他一些重要方面的关注和支持,都很好的解释了在众多的数据库管理者中为什么PostgreSQL享有如此高的赞誉。

 

相关阅读

PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。 POSTGRES 领先的许多概念只是在非常迟的时候才出现在商业数据库中。

PostgreSQL 是最初的伯克利的代码的一个开放源码的继承人。

它支持大部分 SQL:2003 标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制

同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的:数据类型、函数、操作符、聚集函数、索引方法、过程语言。并且,因 为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL, 不管是私用,商用,还是学术研究使用。

来自: 51CTO
7
5
评论 共 11 条 请登录后发表评论
11 楼 biqiang86 2011-01-17 15:26
好像之前刚看过..历史蛮悠久的一篇文章..
10 楼 CrystalBear 2010-03-23 15:11
题目起的就有问题。。。
9 楼 七月十五 2010-03-21 18:15
MySQL是一个容器,很多数据库引擎都是别人的,比如InnoDB
8 楼 无厚之刃 2010-03-18 22:25
我觉得MySQL流行是因为它在历史上一直与PHP捆绑,随着PHP应用井喷,它自然也就流行了开来。
MySQL 3以前的协议是跟PHP兼容的,并且包含在PHP发行包中,只是后来变成GPL,就换成了SQLite,但大家还是用MySQL。
我一直都比较喜欢PostgreSQL,因为它的BSD协议比较有灵活性,但它确实没有MySQL方便安装。
7 楼 caoyangx 2010-03-18 09:31
没什么好比的,只要免费,只要技术过硬,都是好东西,至于谁比谁好,就是口味问题了。
6 楼 trains629 2010-03-18 09:29
一直不知道mysql好在哪,难道只是php4的经典使用还是教程还停留在老版
5 楼 tieshow 2010-03-18 09:25
以前用postgresql,但没有什么好书啊,
现在还是用mysql了
4 楼 tou3921 2010-03-17 16:55
使用PostgreSQL已经一年了,岁让没怎么用过MySql但是他俩感觉没必要放一起比较
3 楼 易卡螺丝君 2010-03-17 11:18
连数据库都有枪文
2 楼 fengzl 2010-03-17 11:18
我一直不明白mysql好在哪里对比与pq来讲
1 楼 Jekey 2010-03-17 11:10
擦,安装PostgreSQL没成功,报error

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 我国第一部保护计算机信息安全的专门法规是,我国第一部关于计算机信息安全的行政法规《中华人民共和国计算机信息系统安全保护条例》是哪一年颁布的?()...

    Mary Johnson: Hello! Mr. Liu, nice to meet you again. This is my boss, Mr. Robert Lee, the general () of our company. He will host the meeting this morning.Liu Hua: How do you do? Mr. Lee. I'm Liu Hua...

  • Mysql与其他数据库的简单比较

    以下内容摘自书《MySQL性能调优与架构设计》  一、功能比较  作为一个成熟的数据库管理系统,要满足各种各样的商业需求,功能肯定是会被列入重点参考对象的。MySQL的早期版本功能非常简单,只能做一些很...

  • MySql 与其他数据库简单比较

    虽然MySQL自己的存储引擎并没有提供,但是已经通过第三方插件式存储引擎Innodb实现了SQL92标准所定义的四个事务隔离级别的全部比如,大家所熟知的大名鼎鼎的Oracle数据库就仅仅实现了其中的两种(Serializable和Read...

  • mysql与其他数据库比较

    功能比较    作为一个成熟的数据库管理系统,要满足各种各样的商业需求,功能肯定是会被列入...Mysql基本实现了ANSI SQL 92的大部分标准,仅有少部份并不经常被使用的没有实现。比如在字段类型支持方面,另一个

  • 转帖:PostgreSQL:开源数据库新贵

    然而随着开源数据库的代表MySql被SUN重金招安后,人们对一直屈居其后的产品PostgreSQL产生了许多微妙的感情变化,特别是来自于社区那些对开源狂热的技术人员。 资料:PostgreSQL 是一个开放源码的免费数据库系统。...

  • 腾讯云mysql最大数据量_被低估的腾讯云数据库

    原标题:被低估的腾讯云数据库许多企业在其基础架构中使用PostgreSQL数据库来运行关键业务,除了部署在本地数据中心外,这个开源数据库也可以运行在腾讯云上,当然,这并不新鲜,但是…… 4月7日下午,腾讯云正式...

  • 如何理性选择适合自己的数据库?

     但是,开源数据库和其他事物一样,并非完美无缺,它可能会让你付出另一种类型的代价,可能是比较低的数据处理数量、缺少的功能、受限制的图形化管理,或者是一些其他商业数据库有而开源数据库不具备的的

  • 第1 章MySQL 基本介绍

    作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了。但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍。主要内容包括 MySQL 各功能模块组成,各模块协同工作原理,Query...

  • 盖世无双之国产数据库风云榜-2022年02月

    一起来看2022年02月的数据库武林大会精彩解读。

  • MYSQL性能调优

    分别从表结构的优化,SQL语句的优化,存储引擎的选择,索引的优化以及现今MySQL的发展与其他企业级数据库的比较。介绍了从编码选择到数据类型的选择以及从整体的角度设计表结构。在SQL语句的选择和使用的介绍的时候...

  • 【合集】云栖大会珍贵技术资料:20+覆盖容器技术、智能工业、大数据、开源数据库等(下)...

    云栖社区从几百位讲师中精挑细选了若干精华,其中涵盖了智能物流、大数据、开源数据库、智能工业、容器技术以及智能应用实践等。 作为“世界级•现象级”的大会,2017云栖大会将于10月11-14日在杭州云栖小镇举办。...

  • MySQL--物理文件组成基本配置详解

    一、MySQL Server 简介 什么是MySQL MySQL是由MySQL AB公司...MySQL数据库以其简单高效可靠的特点,在最近短短几年的时间就从名不见经传的数据库系统,变成一个在IT行业几乎是无人不知 的开源数据管理系统。 从

  • MySQL性能调优与架构设计——第1章 MySQL 基本介绍

    第1章 MySQL 基本介绍前言:作为最为流行的开源数据库软件之一, MySQL 数据库软件已经是广为人知了。 但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍。主要内容包括MySQL 各功能模块组成...

  • 数据库的选择(一)

     MySQL从来没有想过与其他数据库在功能数量上一较高下,MySQL的目标是易用、稳定和性能。MySQL现在具有丰富的功能,已经得到了很多开发者的支持。  6. 开源数据库之PostgreSQL  在开源数据库中,PostgreSQL...

  • 下一代数据库趋势解析

    这些年,企业数据几何级的增长一直在刺激着数据库市场的蓬勃发展,易观国际近期发布《2006年第4季度中国数据库软件市场数据监测》数据显示,2006年第4季度中国商业数据库市场2006年第4季度整体规模达到5.35亿元,...

  • mysql架构组成

    什么是mysql mysql有mysqld AB公司自主研发,是最流行的开发源代码的数据库管理系统之一,它同时也是一个支持多线程高并发...mysql与其他数据库的简单比较 功能比较:字段类型支持方面,另一个著名的开源数据库PostG...

  • MYSQL性能调优与架构设计学习笔记 - 基础篇 MYSQL基本介绍

    左右,与其他几大商业数据库相比完全不是一个数量级。安装易用(不论是已经编译的二进制分发包还是源码编译安装,都是非常容易)。 3 )数据库创建 MYSQL 仅需要一个简单的 Create database 命令就可以瞬间...

  • 迅猛发展 下一代数据库趋势解析

    这些年,企业数据几何级的增长一直在刺激着数据库市场的蓬勃发展,易观国际近期发布《2006年第4季度中国数据库软件市场数据监测》数据显示,2006年第4季度中国商业数据库市场2006年第4季度整体规模达到5.35亿元,...

  • pendulum-2.1.2-cp39-cp39-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

Global site tag (gtag.js) - Google Analytics