如果打算为项目选择一款免费、开源的数据库,那么你可能会在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以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定需求的功能
了。
作为一个iPhone/iPad开发者,能够自己写一个简单的web服务器将是很有用的。例如,你可能希望在软件启动时显示一些来自服务器的更新,或者在服务器端保存一些用户数据。除了你的想象力,没有什么能限制你了。
在第一篇中,我们将会一步一步的建立一个web服务器,基于promo code system(促销码系统),我在我的第一个软件中使用的,Wild Fables在第二篇中,我们将会写一个iOS App来和它进行交互。建议只在开发的时候打开
就是打开mysql表,设置里面的user表host
默认是localhost只允许本地访问
可以改成指定ip或直接改成%允许所有的远程访问
然后
cmd
net stop mysql
net start mysql
重启mysql重新加载权限
前提MYSQL已经安装为服务 php:一种服务端脚本技术,主要是为了简化原来使用类似cgi等程序要有大量的类似printf之类充斥在脚本中去完成html展示工作的。类似的还有jsp,asp
Apache web server:一种web服务器,用来当客户端发出请求时,将请求的结果返回给客户端的服务器。apache本身并不支持php等服务端脚本,因此需要安装相应脚本引擎支持才行。
mysql:一种关系型数据库,类似的有sql server,oracle,db2等。关系型数据库一言以蔽之就是:存储和管理数据的地方这些服务都可以用NAS做到,包括多媒体服务器,FTP服务器,WEB服务器,苹果服务器等等,个人或者小企业用都很适合,比搭建专门的服务器简单实用,且占地极小,功耗很低。
但是有个前提,不论你在家中或者单位建服务器你的宽带上传量必须考虑进去,否则别人访问起来也是很痛苦的事情。
可以推荐的品牌有群辉,巴比禄,威联通,网件,色卡司等品牌,个人觉得威联通的做工和软件服务很不错。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)