设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

开源数据库10%的投入实现90%的理想

2010-4-28 10:25| 发布者: joejoe0332| 查看: 4629| 评论: 3

  最后我们来对Berkeley DB这一特殊的开源数据库进行评析。严格地讲,Berkeley DB并不是一个数据库管理系统,它是作为嵌入式的数据库引擎来设计的。例如MySQL的数据存储引擎便可以在Berkeley DB和InnoDB之间选择。Berkeley DB提供了一个可伸缩、高性能和能够进行事务处理的数据管理和数据访问服务库,通过应用编程接口的普遍支持, 可以很容易地嵌入到其他的应用之中, 所有数据库相关的底层操作都是由Berkeley DB的库函数来完成。最新的Berkeley DB也提供了对XML进行操作的服务。

  如果你需要在应用程序中嵌入数据库操作功能,而又追求较高的性能,那么Berkeley DB正对你的胃口。这也就是为什么Berkeley DB能够得到Cisco等设备巨头的青睐的原因。(限于篇幅,本部分文章有所节略,有兴趣了解更多产品细节的读者,请登录 www.cnw.com.cn。)

  旅行提示:

  商业模式:除了中小企业,许多大企业也在使用开源数据库,这些大用户往往是通过交纳服务费来获取所用产品全面的技术支持,这将在一定程度上改变软件业的商业模式。

  在传统的软件商业模式之下,用户首先要支付价格不菲的许可证费用,但要获得技术支持还要另交服务费。相反,许多开源产品仅对技术服务收费。显然,这种低成本的模式极具吸引力。在未来,商业数据库厂商也许会对这种模式进行认真的研究,而对那些以许可证销售为主要收入来源的厂商来说,肯定会造成巨大的影响。

  第四站 体验应用 中小企业的大餐

  花10%的费用达到90%的效果,由于价格低廉,开源数据库最为中小企业所青睐,并不是所有的中小企业都能够享受到这样的免费大餐,开源数据库还是有那么一点门槛。

  开源数据库最初大多是由开发团体或开发爱好者凭兴趣创作而来,产品中的很多设计针对了开发者的偏好,但没有照顾商业组织和技术力量薄弱的企业,例如,MySQL目前的版本就不支持存储过程、触发器,以及视图界面等功能。因此,要求中小企业有一定的技术力量,至少要有几名学过数据库的专业人才。

  除了这点门槛以外,使用开源数据库可算是一马平川了。开源数据库产品通常很容易上手,SQL(结构化查询语言)是通用的数据库语言,学过数据库的人就能使用,产品可以从网上免费下载,管理工具和技术资料同样可以网上下载,英语不好没关系,有热心人把产品自带的产品说明翻译成中文的,而且网上交流开源数据库产品使用经验的地方也不少,几个主流的产品很容易得到网上高手的指点。一些接受采访的中小企业用户告诉记者:"MySQL的维护很容易,任何工程师一经培训都能使用。"

  除了中小企业,很多网站也把开源数据库作为首选,论坛、BLOG、调查、搜索、邮件、发布系统,这些网站的主要应用系统都可以用开源数据库来支持。包括Yahoo、Google等大网站,使用的都是开源数据库,而国内的新浪、网易也是开源数据库的受益者 。

  典型应用

  网站是目前开源数据库应用最广的领域,这里面最典型的应用就是由全系列的开源产品搭建网站的所有业务系统,下面就是一个很有代表性的例子。 www.ChinaUnix.net是目前中国最大的Linux/Unix技术专业社区网站,创办于2001年5月。ChinaUnix.net网站主要交流Linux/Unix操作系统及其下的各种软件技术及应用。截至2005年4月,网站的注册会员已经超过26万,平均每天同时在线人数为1500人左右,其中80%以上为系统管理员、网络管理员、软件开发者及IT专业技术和管理人员。从2001年创办开始,ChinaUnix.net就使用MySQL 来支持网站的应用,负责ChinaUnix.net运营的优势时代公司总经理樊强告诉记者:"我们目前所有的网站应用都使用了开源数据库,而且整个应用系统都建立在开源软件产品之上,公司用了很小的投入就建立了自己的应用,也发挥了我们技术人员的特长,效果令人满意。"

  网站的软件环境:操作系统FreeBSD; 数据库MySQL; Web服务器Apache; 开发工具PHP、C/C++。

  1.论坛系统的应用

  ChinaUnix.net(以下简称CU)的核心应用--论坛系统,就是建立在MySQL之上。CU目前共有两台硬件服务器,其中一台服务器放置MySQL的Master库,另一台服务器放置MySQL的Slave库;Master库给用户提供注册、发帖、编辑、删除等操作;Slave库提供给用户查看帖子等查询操作。

  Slave库与Master库保持数据同步,除了起到分流作用,也起到实时备份的作用。当将来用户量加大时,可以通过增加多个Slave库,做到多台服务器分布式的管理,因为用户的大部分操作都集中在查看论坛内容上,当多台Slave库同时工作时,可以分流用户,这样可以大大提高用户的访问速度和减轻服务器的系统负载。

  2.其他的应用系统

  在条件允许的情况下,为了达到很好的访问效果,可以让每种应用使用单独的一台服务器,单独用一个数据库,在CU目前只有两台服务器的情况下,为了使每一种应用都不互相影响,采取了在同一台服务器里,每种应用系统使用一个MySQL的方式,也就是同时启动三个MySQL进程,分别运行于不同服务器的端口。

  一般情况下,MySQL默认的端口是3306,CU在应用中重新定义了MySQL的启动文件,让其绑定在某个端口上,如BLOG系统的数据库运行于3310端口,内容发布系统的数据库运行于3311端口,论坛和内容搜索系统的数据库运行于3312端口,这样,一台服务器上就分别运行了三个互相独立的MySQL数据库,这样做的好处是,任何一个数据库出问题,都不会影响其它的服务,当然,这就要求提高服务器的硬件配置。

  3.技术应用亮点:静态页面访问

  从图中可以看出,作为整个应用中心的数据库采用了主机托管方式。MySQL的网络特性使得用户可以通过Internet在任何地方共享数据库,网站的应用系统基于浏览器/服务器的结构运行。为了减轻数据库的负载,CU论坛在很多页面都采用了定时更新的静态页面,静态页面由程序从数据库里读取数据,放在Web服务器上,并定时更新,这样,当用户访问一些实时交互要求不高的页面时,就可以不需要调用数据库,从而减轻数据库服务器的负载。

  旅行提示:

  安全问题:免费的产品是不是在安全方面隐患更多?这其实是一个一体两面的问题,源代码都公开了,容易被攻击,也容易被防范,不像闭源的产品,大家不知道漏洞在哪里,往往是造成了损失之后一段时间才能打补丁。开源产品的漏洞通常被发现后就会上传到互联网上,开源项目的维护者能够在较快时间内推出补丁软件。


酷毙

雷人

鲜花

鸡蛋

漂亮

相关阅读

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部