该选择哪个开源数据库哪一个更好(哪个数据库好用)

该选择哪个开源数据库哪一个更好(哪个数据库好用),第1张

如果打算为项目选择一款免费、开源数据库,那么你可能会在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近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQLAB开发的,然后在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-timerecovery(PITR)是非常棒的特性,这是个灵活的高可用特性,提供了诸如针对失败恢复创建热备份以及快照与恢复的能力。但这并不是PostgreSQL的全部,项目还提供了几个方法来管理PostgreSQL以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定需求的功能了。

万里开源是前MySQL中国研发中心,为MySQL数据库贡献过Replication、NDB Cluster模块,其GreatDB数据库产品最初的设计是将MySQL单机数据库做成分布式数据库,后来逐渐升级成无单点的原生分布式数据库产品,一直延续的还是MySQL数据库的协议,可以100%兼容MySQL数据库;

MySQL 是一个关系型数据库,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。

MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条"授权政策"),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP,Linux和 Apache 可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。

有很多朋友虽然安装好了mysql但却不知如何使用它 在这篇文章中我们就从连接MYSQL 修改密码 增加用户等方面来学习一些MYSQL的常用命令 一 连接MYSQL 格式 mysql h主机地址 u用户名-p用户密码 例 连接到本机上的MYSQL 首先在打开DOS窗口 然后进入目录 mysqlbin 再键入命令mysql uroot p 回车后提示你输密码 如果刚安装好MYSQL 超级用户root是没有密码的 故直接回车即可进入到MYSQL中了 MYSQL的提示符是 mysql> 例 连接到远程主机上的MYSQL 假设远程主机的IP为 用户名为root 密码为abcd 则键入以下命令 mysql h uroot pabcd 退出MYSQL命令 exit (回车) 二 修改密码 格式 mysqladmin u用户名 p旧密码 password 新密码 例 给root加个密码ab 首先在DOS下进入目录mysqlbin 然后键入以下命令mysqladmin uroot password ab 注 因为开始时root没有密码 所以 p旧密码一项就可以省略了 例 再将root的密码改为djg mysqladmin uroot pab password djg 三 增加新用户 (注意 和上面不同 下面的因为是MYSQL环境中的命令 所以后面都带一个分号作为命令结束符)格式 grant select on 数据库 to 用户名@登录主机 identified by 密码 例 增加一个用户test 密码为abc 让他可以在任何主机上登录 并对所有数据库有查询 插入 修改 删除的权限 首先用以root用户连入MYSQL 然后键入以下命令 grant select insert update delete on to test @ % Identified by abc ;但例 增加的用户是十分危险的 你想如某个人知道test 的密码 那么他就可以在internet上的任何一台计算机上登录你的mysql数据库并对你的资料可以为所欲为了 解决办法见例 例 增加一个用户test 密码为abc 让他只可以在localhost上登录 并可以对数据库mydb进行查询 插入 修改 删除的 *** 作(localhost指本地主机 即MYSQL数据库所在的那台主机) 这样用户即使用知道test 的密码 他也无法从internet上直接访问数据库 只能通过MYSQL主机上的web页来访问了 grant select insert update delete on mydb to test @localhost identified by abc ;如果你不想test 有密码 可以再打一个命令将密码消掉 grant select insert update delete on mydb to test @localhost identified by ;注意 你必须首先登录到MYSQL中 以下 *** 作都是在MYSQL的提示符下进行的 而且每个命令以分号结束 四一 *** 作技巧 如果你打命令时 回车后发现忘记加分号 你无须重打一遍命令 只要打个分号回车就可以了 也就是说你可以把一个完整的命令分成几行来打 完后用分号作结束标志就OK 你可以使用光标上下键调出以前的命令 但以前我用过的一个MYSQL旧版本不支持 我现在用的是 mysql beta win 五 显示命令 显示数据库列表 show databases;刚开始时才两个数据库 mysql和test mysql库很重要它里面有MYSQL的系统信息 我们改密码和新增用户 实际上就是用这个库进行 *** 作 显示库中的资料表 use mysql //打开库 学过FOXBASE的一定不会陌生吧show tables; 显示资料表的结构 describe 表名; 建库 create database 库名; 建表 use 库名 create table 表名 (字段设定列表) 删库和删表:drop database 库名;drop table 表名 将表中记录清空 delete from 表名; 显示表中的记录 select from 表名; 六 一个建库和建表以及插入数据的实例 drop database if exists school; //如果存在SCHOOL则删除create database school; //建立库SCHOOLuse school; //打开库SCHOOLcreate table teacher //建立表TEACHER(id int( ) auto_increment not null primary key name char( ) not null address varchar( ) default 深圳 year date); //建表结束//以下为插入字段insert into teacher valuess( glchengang 深圳一中 );insert into teacher valuess( jack 深圳一中 );注 在建表中( )将ID设为长度为 的数字字段:int( )并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key( )将NAME设为长度为 的字符字段( )将ADDRESS设为长度 的字符字段 而且缺省值为深圳 varchar和char有什么区别呢 只有等以后的文章再说了 ( )将YEAR设为日期字段 如果你在mysql提示符键入上面的命令也可以 但不方便调试 你可以将以上命令原样写入一个文本文件中假设为school sql 然后复制到c:下 并在DOS状态进入目录mysqlbin 然后键入以下命令 mysql uroot p密码 < c:school sql如果成功 空出一行无任何显示 如有错误 会有提示 (以上命令已经调试 你只要将//的注释去掉即可使用) 七 将文本资料转到数据库中 文本资料应符合的格式 字段资料之间用tab键隔开 null值用n来代替 例 rose 深圳二中 mike 深圳一中 数据传入命令 load data local infile 文件名 into table 表名;注意 你最好将文件复制到mysqlbin目录下 并且要先用use命令打表所在的库 八 备份数据库 (命令在DOS的mysqlbin目录下执行)mysqldump opt school>school bbb注释:将数据库school备份到school bbb文件 school bbb是一个文本文件 文件名任取 打开看看你会有新发现 后记 其实MYSQL的对数据库的 *** 作与其它的SQL类数据库大同小异 您最好找本将SQL的书看看 我在这里只介绍一些基本的 其实我也就只懂这些了 呵呵 最好的MYSQL教程还是 晏子 译的 MYSQL中文参考手册 不仅免费每个相关网站都有下载 而且它是最权威的 可惜不是象 PHP 中文手册 那样是chm的格式 在查找函数命令的时候不太方便 lishixinzhi/Article/program/MySQL/201311/29306

SQL是StructuredQueryLanguage(结构化查询语言)的缩写。SQL是专为数据库而建立的 *** 作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。

SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为"基本表"(basetable);存储模式(内模式)称为"存储文件"(storedfile);子模式(外模式)称为"视图"(view);元组称为"行"(row);属性称为"列"(column)。

扩展资料:

SQL数据库的优点:

1、易用性高:

适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。

2为数据管理与分析带来了灵活性:

允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。

以上就是关于该选择哪个开源数据库哪一个更好(哪个数据库好用)全部的内容,包括:该选择哪个开源数据库哪一个更好(哪个数据库好用)、万里开源GreatDB产品基于什么协议开发、MySQL数据库是哪个公司的产品等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9693977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存