使用开源操作系统及数据库系统的可行性分析

名词注释:

操作系统OS:

操作系统(Operating System),目前主流的商业操作系统有Windows系列和Unix系列,Windows系统的客户端版和服务器版价格相差较大,比如客户端Windows Xp只需几百到上千元,但Windows Server 2003/2008则需要几万到几十万元。开源的操作系统有FreeBSD、Linux,虽然免费,但由于易用性、惯性、软件兼容性等问题,目前还无法在桌面上与Windows竟争,应用主要集中在服务器。

数据库系统DB:

数据库系统(Database),常见商业db有MsSQL、Oracle、Sybase、DB2等,但使用代价高昂,大多根据CPU及并发用户数收许可费,少则几万,多则几百万。除此之外则是主流开源数据库系统,如PostgreSQL、MySQL、Firebird等,这些开源db也有很成熟的应用,在某些领域并不输于商业db,开源不等于低端。

背景:

你的单位是否接过Microsoft、Oracle、Borland公司的版权电话?是否收到过律师函?是否因此而被迫买过某软件?探讨这个问题时,一个绕不开的话题就是版权和许可费。现在知识产权保护越来越严,你现在没有收到律师函不代表明天、明年它不来,是早做准备还是到时再说。

在软件项目管理中有一个规律是:越早处理花费越小,在软件发布时发现错误,修改错误的花费用是需求分析时的50到100倍,在项目运行两年后被迫迁移os和db所花费用绝对超过项目启动前选择合适os和db和百倍,也许大到购买商业系统花费的数倍,这时就没有迁移的必要了。

选择开源db和os的必要性

一.显见的必要性

数据库是业务系统的核心,负责数据的存贮,在项目规划时除了开发工具、操作系统平台外,最重要的就是数据库的选型,但由于D版问题隐藏了成本,很多集成商或客户都直接选择价格最贵、功能最全的企业版本,而不管项目的实际需求(也许实际业务每天只有10M不到的数据),按真正的成本计算,此db的价格可能会超过百万,远远超过整个集成系统标的的N倍。

数据库系统一般都按CPU和并发用户数收费,MsSQL价格要比Oracle低些,标准版本比企业版本要便宜一点,DB2和SyBase的价格不太清楚,下面链接是Ms提供的与Oracle10g的价格对比:http://www.microsoft.com/china/sql/prodinfo/compare/oracle/pricecomparison.mspx

另外有些附加功能是另外收费的,如压缩、加密功能等。除了数据库的价格,如果选用商业服务器操作系统也是很大的开支,下面是Windows Server 2008的报价:

Windows Server 2008 标准版:999美元(含5个客户端访问许可)

Windows Server 2008 企业版:3999美元(含25个客户端访问许可)

Windows Server 2008 数据中心版:2999美元 / CPU

一般规模公司的服务器可能有5到10台,中等规模的企业服务器在20台以上也很正常。有时为了维护方便,很多单位对每个业务单独安装在物理机器上,自然需要多套os和db,乘上以上的单位价格就知道总共花费了。

二.预见的必要性

虽然现在使用盗版数据库和操作系统隐藏了真实成本,但环境是不断变化的,随着版权保护的渐行,打击力度加大,不仅会影响新建系统的db/os选型,而对旧系统也有影响,经常会出现先使用再购买的情况。

旧系统有时会有升级需求,升级OS和DB需要不菲的许可费。

三.隐见的必要性

对项目使用开源os和db不论对开发方自身还是客户都是很有必要的,有的客户对此并不明白,认为项目标的中包括OS和DB,实际上却需要自己购买,本着对客户负责和自身发展的观点,使用开源操作系统和数据库系统是很有必要的。

选择开源db和开源操作系统的可能性

一.技术可行性

操作系统:只是使用的习惯性问题,虽然FreeBSD/Linux推荐命令行方式,但如果不熟悉的话,可以安装X-Window界面降低适应曲线,并且作为服务器OS,安装配置完成后,人工的干预率是比较低的,完全不是问题。

数据库系统:与商业db相比,同是关系型数据库,理论是一致的,在SQL语句是只有少许差别,技术上没有问题,从以下几点说明:

1. 主流开源db完全支持所有企业特性,包括事务、热备份、故障点还原、复制、集群等,支持企业级应用。

2. 支持问题,有不少人认为开源db出问题后没人支持,但我认为这并不是大问题,当然如果你认为你的系统特别关键、特别重要的除外。可以回头想想,这么多年参与大大小小的开发和集成项目加起来可能有十几,使用的数据库集中在Oracle和MsSQL,有时也出现过问题,但基本不请原厂工程师来解决,因为代价实在太高,简单问题自己搞定,搞不定的系统注意勤备份,大不了丢失半天的工作也可以承受。以现在的眼光来看,这些服务器都可改为开源数据库。

二.市场可行性

在集成项目中,客户可能并不关心你使用什么db,只要好用即可,但你说要他再出10万元买一套SQL Server时估计马上就火了。根据客户的业务状况推荐相应的OS和DB(开源的或商业的)是一个比较好的选择。

开源数据库,只要能在技术和安全上给予保证,讲明利害关系,客户应该是接受的。虽然D版数据库也是免费,但毕竟是不合法的,也有悖于道德规范,还有就是存在一个非常巨大的潜在风险,万一某天Microsoft或Oracle追上门来可就惨了,特别是有些规模的企业更是受不了这个,你是把业务系统停掉算了,还是认购认罚,但这时的支出绝对不是小数目。

开源操作系统/db与我公司开发路线的配合

我公司的开发主要走Microsoft路线,如果客户没有特殊要求一般是Windows Server、VS.net和Ms SQL Server的经典组合,应用服务器当然是IIS。目前dotNet的应用服务器只能在IIS上部署,虽然在Linux上有Mono的实现,但在生产上使用还有些风险。更换开发路线代价是巨大的,也没有必要,但更换数据库服务器却是可行的。

数据库更换为PostgreSQL,此数据库原生的开发一直是在类Unix上,只到8.x版才移植到Windwos平台,在类Unix上运行要好过在Windows上运行,并且一些第三方的数据库工具只支持FreeBSD/Linux,因此如果能配合FreeBSD/Linux操作系统使用,也会节约一大笔操作系统软件费用。

如果使用开源平台,我们则根据项目的具体情况,服务器软件可以做以下配置来适应我们用dotNet开发的系统:

1. 如果系统有两个服务器,则数据库服务器用FreeBSD + PostgreSQL,应用服务器保留Windows + IIS + dotNet。

2. 如果只有一台服务器,但如果有后续有项目,则考虑增购一台服务器,到时多个项目的数据库服务器集中在一台FreeBSD + PostgreSQL上,应用服务器集中在Windows + IIS上。

3. 如果只有一台服务器,同时需要运行数据库服务器和应用服务器,并且不考虑其他因素,则可使用Windows + IIS + dotNet + PostgreSQL。PostgreSQL在Windows平台上仍是一个很好的数据库系统。

从开发的方便性上讲,dotNet可以非常容易地配合PostgreSQL,程序员可以很容易地转到对PostgreSQL开发,因为:

1. 有开源项目维护PostgreSQL的Ado.net的接口实现,调用方式与MsSQL、Oracle并无多少区别,程序员只需了解极少的非标准SQL即可。

2. 我公司自行维护的数据库组件已集成了对PostgreSQL的访问,我们以前开发的数据库系统都是通过此组件访问MsSQL,此组件已隔离了不同数据库的区别,因此系统都可以支持多数据库。

开源平台的选型

开源操作系统和数据库系统有较多选择,各有优、缺点。在这个问题并不是说要固定在某个选择上,我认为应有个基本的选择,但根据具体项目的实际情况选择最合适的。就个人来说我比较推荐FreeBSD + PostgreSQL。

一. 数据库系统

目前常用的开源数据库系统有PostgreSQL、MySQL、Firebird,下面做简单介绍:

1. MySQL,最新版本是5.4,目前属于Oracle公司,采用双重许可证。这也许是国内开源数据库中装机量最大的,在Web应用上非常成功。数据库存贮引擎是可选的,各个引擎有不同的特点:

MyISAM引擎:不支持事务操作,无法支持多语句的原子操作,读写操作非常快,适用于网站论坛类似的业务,对偶尔的信息丢失不敏感。

InnoDB,引擎:支持事务,这种运行方式和其他关系数据库差不多,但在此引擎下与PostgreSQL相比没有优势。

2. Firebird, 是在Borland公司Interbase 6基础上发布的开源版本,很小巧(只有5M左右)但功能强大,有关系数据库的所有特性,最新版本是2.12,但好像更新有些慢。

3. PostgreSQL,学院派的代表,出生于加州大学Berkeley分校,采用BSD协议发行,开始于1986年,目前最近版本是8.37。它历史悠久,功能很强大,号称最先进的数据库。支持目前多种主流操作系统平台。PostgreSQL功能及历史请参考网络资源:http://www.freebsdchina.org/forum/viewtopic.php?t=2896

二.操作系统

为了发挥PostgreSQL的性能,选一款类Unix操作系统是必须的,在开源操作系统上,主要有BSD系列和Linux系列,BSD系统中的代表是FreeBSD,而Linux上则百花齐放,两者相比,FreeBSD是个较紧密的组织,代码控制较严格,更稳定;Linux上则分支众多,有全免费的也是收服务费的。

FreeBSD的简单历史:

1. 1969年AT&T贝尔实验室开发第一个Unix版本并且免费分发代码。

2. 在70年代末,加州大学Berkeley分校对Unix进行了较大修改,增加了很多先进的功能,形成了Unix的BSD分支,叫BSD Unix,但后来Unix被注册,BSD协议的Unix不允许再叫Unix了。

3. 在90年代初BSD操作系统分裂了三个著名的操作系统,FreeBSD是其中的一个,1993年FreeBSD发布了1.0版本,由于版权官司,现在FreeBSD已不包括任何原Unix代码。

4. 目前FreeBSD的最新版本是7.2。

FreeBSD详细历史参考:http://1001night.blogbus.com/logs/2018269.html

FreeBSD与Linux的比较参考:http://www.freebsdchina.org/forum/viewtopic.php?t=1860

【编辑推荐】

  1. Java开源软件六大帮派
  2. Azure拥抱PHP是好是坏?从另一个角度看微软开源策略
  3. 5月22日外电头条:开源=省钱?开发者们意见纷纷
  4. Sun宣布扩大与MySQL开源数据库互操作性
  5. 微软公布CCI工具源代码 并加入微软开源许可

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/243254.html<

(0)
运维的头像运维
上一篇2025-04-25 04:35
下一篇 2025-04-25 04:36

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注