❶ 四大开源数据库是哪些
如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与PostgreSQL都是免
费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库
呢?
在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的。你希望一开始就选择正确。两个流行
的开源数据库MySQL与PostgreSQL常常成为最后要选择的产品。对这两个开源数据库的高层次概览将会有助于你选择最适合自己需要的。
MySQL
MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括
Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用,如
WordPress、Drupal、Zend及phpBB等。
一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用
快速的索引序列访问方法(ISAM),不支持ACID。经过早期快速的发展之后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了
ACID。MySQL还支持其他存储引擎,提供了临时表的功能(使用MEMORY存储引擎),通过MyISAM引擎实现了高速读的数据库,此外还有其他的
核心存储引擎与第三方引擎。
MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培训与支持。
MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQL
AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版
本:Standard、闭烂大Enterprise、Classic、Cluster、Embedded与Community。其中有一些是免费下载的,另外一
些则是收费的。其核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。
现在,基于最初的
MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。最初的MySQL创建者之一Michael
"Monty"
Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的MySQL分支MariaDB,它是免费的,基于GPL许可。知名的
MySQL开发者BrianAker所创建的分支Drizzle对其进行了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。
PostgreSQL
PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。
PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,而不像MySQL那样提供了多个
不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即
可。
可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用。
PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。PostgreSQL的社区支持是非常棒的,还有来
自于独立厂商轿竖的商业支持。
数据一致性与完整性也是PostgreSQL的高优先级特性。PostgreSQL是完全支持ACID特性
的,它对于数据库访问提供了强大的安全性保证,充分利用了企业安全工具历搭,如Kerberos与OpenSSL等。你可以定义自己的检查,根据自己的业务规
则确保数据质量。在众多的管理特性中,point-in-time
recovery(PITR)是非常棒的特性,这是个灵活的高可用特性,提供了诸如针对失败恢复创建热备份以及快照与恢复的能力。但这并不是
PostgreSQL的全部,项目还提供了几个方法来管理PostgreSQL以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定需求的功能
了。
❷ 四大主流数据库比较(三大主流数据库)
四大主流数据库比较
一、开放性
1.SQLServer
只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NTserver只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。
2.Oracle
能在所有主流平台上运行(包括windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。
3.SybaseASE
能在所有主流平台上运行(包括windows)。但由于早期Sybase与OS集成度不高,因此VERSION11.9.2以下版本需要较多OS和DB级补丁。在多平台的混合环境中,会有一定问题。
4.DB2
能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的渗销企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。
二、可伸缩性,并行性
1.SQLserver
并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
2.Oracle
并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。
3.SybaseASE
虽然有DBSWITCH来支持其并行服务器,但DBSWITCH在技术层面还未成熟,且只支持版本12.5以上的ASESERVER。DBSWITCH技术需要一台丛斗游服务器充当SWITCH,从而在硬件上带来一些麻烦。
4.DB2
具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点安全性。
三、安全认证
1.SQLserver
没有获得任何安全证书。
2.OracleServer
获得最高认证级别的ISO标准认证。
3.SybaseASE
获得最高认证级别的ISO标准认证。
4.DB2
获得最高认证级别的ISO标准认证。
四、性能
1.SQLServer
多用户时性能不佳
2.Oracle
性能最高,保持开放平台下的TPC-D和TPC-C的世界记录。
3.SybaseASE
性能接近于SQLServer,但在UNIX平台下的并发性要优与SQLServer。
4.DB2
性能较高适用于数据仓库和在线事物处理。
五、客户端支持及应用模式
1.SQLServer
C/S结构,只支持windows客户,可以用ADO、DAO、OLEDB、ODBC连接。
2.Oracle
多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。
3.SybaseASE
C/S结构,可以用ODBC、Jconnect、Ct-library等网络客户连接。
4.DB2
跨平台,多层结构,支持ODBC、JDBC等客户。
六、操作简便
1.SQLServer
操作简单,但只有图形界面。
2.Oracle
较复杂,同时提供GUI和命令行,在windowsNT和unix下操作相同。
3.SybaseASE
较复杂,同时提供GUI和命令行。但GUI较差,常常无法及时状态,建议使用命令行。
4.DB2
操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同。
七、使用风险
1.SQLserver
完全重写的代码,经历了长期销冲的测试,不断延迟,许多功能需要时间来证明。并不十分兼容。
2.Oracle
长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。
3.SybaseASE
向下兼容,但是ct-library程序不益移植。
4.DB2
在巨型企业得到广泛的应用,向下兼容性好。风险小
❸ 有没有什么比较安全可靠的数据库系统的开发平台
很推荐使用勤哲Excel进行自己公司的数据库系统开发码慎,数衡余据信息是一个迟拦敬企业很重要的资产,其安全性的保障对于一个企业的发展来说很重要,通过勤哲Excel进行自主的数据库系统开发、自主使用可以对自己的数据进行很好的安全管理。
❹ Oracle数据库安全性设计大家给点建议
Oracle数据库本身的安全性建设
从总体上而言,Oracle数据库是业界安全性方面最完备的数据库产品。在数据库安全性的国际标准中,Oracle通过了14项标准的测试,是所有数据库产品中通过安全性标准最多、最全面的产品。Oracle在C2级的操作系统上(如商用UNIX,VMS操作系统),不仅满足NCSC C2级安全标准,而且已经正式通过了NCSC C2标准的测试。在B1级的操作系统上不仅满足NCSC B1级安全标准,而且已经通过了NCSC B1级标准的测试。
Oracle提供的主要安全性措施如下:
�8�9 身份认证功能(Authentication):识别访问个体的身份
�8�9 数据访问的机密性(Confidentialty):保证敏感数据访问的机密性。
�8�9 数据完整性(Integrity):保证数据不被篡改。
�8�9 授权能力(Authorization):保证被授权用户对数据的查询和修改能力。
�8�9 访问控制(Access Control):确定对指定数据的访问能力。
�8�9 审计能力(Auditing):提供监测用户行为的能力。
�8�9 私有性(Privacy):提供对敏感数据访问的私密性。
�8�9 高可用性(Availability):保证数据和系统提供不间断服务的能力。
�8�9 代理管理能力(Delegated Administration):提供对用户帐号的集中管理功能。
下面将就应用系统本身对于Oracle提供的安全性措施作更深入的探讨。
$PageTitle= Oracle的安全性领域}
三、 Oracle的安全性领域
�8�5 Profile控制
Oracle利用profile机制来管理会话资源占用,同时也管理用户密码的安全策略。
通过profile我们可以实现:
某个特定用户最多只能占用系统百分之几的CPU时间?
某个特定用户连接到数据库之后能存活多长时间?
某个特定用户连接到数据库之后多长时间处于非活跃状态就将被系统中断连接?
用户登录密码输入错误多少次之后就将自动锁定用户?
用户密码的长度和包含的字符必须符合什么样的规则?
用户密码在多少天后将自动失效并要求设定新密码?
�8�5 用户权限控制 (Privilage)
Oracle通过角色(Role),权限(Privilage)等的一系列授予(Grant)和回收(Revoke)操作可以有效的进行用户的权限控制。
通过权限控制我们可以实现:
某个特定用户只能读取而不能修改另一个用户的表数据。
某个特定用户只能运行Oracle数据库系统的几个存储过程或者函数。
某个特定用户自己能够拥有修改某些数据的权力,但是却无法给其它不拥有这个权限的用户授予修改该数据的权力。
某个特定用户可以读取数据但是无法创建新的表空间。
�8�5 虚拟专用数据库(VPD)
虚拟专用数据库 (VPD) 也称为细粒度访问控制,它提供强大的行级安全功能。它是在 Oracle8i 中推出的,已经受到广泛的欢迎。
VPD 的工作方法是,通过透明地更改对数据的请求,基于一系列定义的标准向用户提供表的局部视图。在运行时,所有查询都附加了谓词,以便筛选出准许用户看到的行。
也就是通过VPD的设置,我们可以做到行级安全性控制,特定的用户即使对一张表有读取权限,那么也只能看到符合自身权限的记录。
注意,在Oracle10g版本中,VPD得到增强,已经可以实现字段级的安全性控制了。
实例及搭建步骤参看:利用VPD细粒度访问策略实现行级安全性 Step By Step
�8�5 Orace Label Security
基于对由客户提交的行级安全性的严格要求,Oracle Label Security(Oracle 数据库企业版的选件之一)利用多级安全性概念解决了世界上政府和商业用户在实际中遇到的数据安全和隐私问题。
OLS 通过利用数据敏感度标签(例如“敏感”和“公司机密”)与用户标签授权,提供了完善的行级安全性控制。
OLS 使用政策概念来存储标签定义和授权。该政策可直接在数据库中进行管理,或在 Oracle 身份管理中进行集中管理。
�8�5 Oracle Database Valut
通常数据库管理员如果具有了DBA权限,那么就很难防止这样的管理员查看应用程序数据。而Oracle Database Valut则解决了必须保护涉及合作伙伴、员工和顾客的敏感业务信息或隐私数据的客户最为担心的问题。
Oracle Database Vault 可防止高权限的应用程序 DBA 访问其他的应用程序、执行其权限之外的任务。Oracle Database Vault 可在不影响应用程序功能的前提下快速而高效地保护现有程序。
Oracle Database Vault 可通过下列方法解决一些最为常见的安全问题和内部威胁:
1. 限制 DBA 和其他授权用户访问应用程序数据。
2. 防止DBA 操纵数据库和访问其他应用程序。Oracle Database Vault 提供了强大的职责划分控制功能,可防止擅自更改数据库。比如说如果一个用户具有 CREATE USER 权限,但不具备正确的用户管理权限,则 Oracle Database Vault 将阻止该 DBA 创建新用户。
3. 更好的控制何人、何时、何地可以访问应用程序。如日期时间、数据库客户端在网络上的位置之类的因素。
Oracle Database Valut是新的Oracle Database 10g企业版的选件。目前已经有Linux X86以及Solaris SPARC 64bit的版本可以下载使用了。
�8�5 用户访问审计
审计是Oracle安全性的另一个重要领域,我们还必须小心地计划审计方案。有几种方式可在Oracle中进行审计:
1. SQL审计命令(标准审计)
通过AUDIT语句我们可以对成功或者不成功的特定对象的读取,更新操作进行审计。
标准审计只会记录较少的跟踪信息,比如发出该语句的用户、时间、终端标识号等等。
该审计对于系统性能的影响更多地取决于对象的繁忙程度。
2. 用对象触发器进行审计(也就是DML审计)
此类审计通常由客户自行开发放置于特定数据库对象上的触发器,由于是自行开发,所以相对于标准审计则能够更自由地记录更多感兴趣的跟踪信息。比如更新操作将某个字段从什么原始值更新到了什么新值。
该审计对于系统性能的影响更多地取决于对象的繁忙程度和触发器的编写水平。
3. 用系统级触发器进行审计(记录用户登录和退出)
当用户登录数据库或者离开数据库时,都可以通过自定义的触发器来记录用户名称,操作时间,终端标识号等信息。
由于触发器触发几率小,所以该审计对于系统性能影响并不大。
4. 用LogMiner进行审计(也就是DML和DDL)
Oracle数据库将所有的更新操作都记录在重作日志中,而Oracle提供了LogMiner工具用于挖掘重作日志中的所有操作,相比起上述的各种审计方法来说,该种审计可能是信息最为完善,对于应用系统性能影响最小的方法。
此处稍微延展开来说一下,LogMiner是双刃剑,既然可以用来审计,也就能够被恶意使用作为数据窃取的工具。所以在数据本身的加密方面,Oracle同样提供了多种解决方案,比如DBMS_OBFUSCATION_TOOLKIT,DBMS_CRYPTO和最新的透明数据加密,甚至在数据备份方面 Oracle也推出了Secure Backup来应对磁带数据的加密,但是要注意到数据加密不应用作访问控制的替代项,存储加密的数据并不会在存储介质本身提供额外的保护层,只是有助于在发生介质遭窃时保护诸如信用卡号之类的敏感数据。本文不再作更多的介绍。
5. 细精度审计(FGA)
细粒度审计 (FGA),是在 Oracle 9i 中引入的,能够记录 SCN 号和行级的更改以重建旧的数据,但是它们只能用于 select 语句,而不能用于 DML,如 update、insert 和 delete 语句。因此,对于 Oracle 数据库 10g 之前的版本,使用触发器虽然对于以行级跟踪用户初始的更改是没有吸引力的选择,但它也是唯一可靠的方法。
而Oracle10g种FGA功能的增强使其不但能够支持select操作,同时也支持DML操作。在 Oracle 10g 中,审计已经从一个单纯的“操作记录者”成长为一个“事实记录机制”,它能以一个非常详细的级别来捕获用户的行为,这可以消除您对手动的、基于触发器的审计的需要。它还结合了标准审计和 FGA 的跟踪,这使其更易于跟踪数据库访问,而不用考虑它是如何生成的。
通过细粒度审计我们可以记录:
在早上九点到下午六点之间或在星期六和星期日对某个表进行了访问。
使用了公司网络外部的某个 IP 地址。
选定或更新了特定列。
使用了该列的特定值。
❺ 达梦数据库的高安全性
DM7是具有自主知识产权的高安全数据库管理系统,已通过公安部安全四级评测。是目前安全等级最高的商业数据库之一。同时DM7还通过了中国信息安全测评中心的EAL4级评测。
DM7 提供基于用户口令和用户数字证书相结合的用户身份鉴别功能,还支持基于操作系统的身份认证、基于LDAP集中式的第三方认证。
DM7提供数据库审计功能,审计类别包括:系统级审计、语句级审计、对象级审计。DM7提供审计分析功能,通过审计分析工具Analyzer实现对审计记录的分析。提供强大的实时侵害检测功能,用于实时分析当前用户的操作,并查找与该操作相匹配的审计分析规则。
DM7提供了系统权限和对象权限管理功能,并支持基于角色的权限管理,方便数据库管理员对用户访问权限进行灵活配置。
DM7提供强制访问控制功能,强制访问控制的范围涉及到数据库内所有的主客体,避免了管理权限全部由数据库管理员一人负责的局面,可以有效防止敏感信息的泄露与篡改,增强系统的安全性。
DM7支持基于SSL协议的通讯加密,对传输在客户端和服务器端的数据进行非对称的安全加密,保证数据在传输过程中的保密性、完整性、抗抵赖性。
DM7实现了对存储数据的透明存储加密、半透明存储加密和非透明存储加密。每种模式均可自由配置加密算法。用户可以根据自己的需要自主选择采用何种加密模式。