基于大型Web应用程序的最佳开源数据库

时间:2009-10-28 01:12:28

标签: database

我开始研究一个相对较大的基于Web的应用程序,它具有大容量和大量数据存储的潜力。

我的专长在于MS SQL Server,但对于启动项目来说成本过高。

是否可以使用SQL Server(标准)替代吞吐量,具有类似功能且免费?任何意见是极大的赞赏, 提前致谢, JP

更新

回答一个共同点 - SQL Express有一些限制,使我无法接受。具体来说,纠正我,如果我错了,它只能解决1个CPU,1GB内存,每个数据库的最大大小为4GB等等。

另外,我知道bizspark。问题是,一旦项目上线,必须支付服务器许可证(即Windows / SQL Server)。非常适合起床和跑步,但之后你必须付钱。 (如果我错了,请纠正我)

10 个答案:

答案 0 :(得分:8)

Opion 1:MySQL 选项2:PostgreSQL

MySQL具有更大的用户群,但功能更少。如果您习惯于使用商业系统可以做的花哨的事情,那么您可能很难调整。

MySQL的复制故事比Postgres更加一致。

PostgreSQL显着更全功能,有更好的优化器,但没有广泛部署。

两者都是不错的选择。

答案 1 :(得分:4)

如果您还不知道,微软有一个名为BizSpark的程序,它基本上为初创公司提供免费软件(嗯,程序的名义成本为100美元)。关键要求是您是私人持有的,年收入不到100万美元且不到三年。

来自BizSpark Program Guide

  

技术提供:BizSpark   为初创公司提供的技术   目前包括:

     
      
  • 用于软件的设计,开发,测试和演示   应用

         
        
    • Visual Studio Team System Team Suite(VSTS)中包含的软件   使用MSDN Premium4订阅   包含在本程序中。   此外,VSTS团队基金会   服务器(标准版)可用   供整个开发团队使用
    •   
  •   
  • 用于生产 - 即部署和托管Startup的新功能   “软件加服务”应用程序   通过互联网发送到   初创公司的客户:

         

    - Windows Server(所有非预发行版   版本); SQL Server(所有非预先   发布版本),BizTalk服务器和   Office SharePoint Server for Internet   网站托管,和;

         

    - 用于管理托管的系统中心   服务器操作。

  •   

SQL Server Express(以及Oracle Express Edition)对CPU,RAM和数据量有限制,这是非常正确的。

话虽如此,有多大?一千万行?十亿? 1000亿?你还没有定义什么构成“大”,人们对此有非常强烈的看法非常。最终,您会发现连接性能在任何数据库(在不同点)都会出现故障,导致您的应用程序架构需要某种形式的分片/分区。

MySQL已经足够了,可以在Flickr和Facebook上使用,这可能比你的大。

答案 2 :(得分:3)

不爱Firebird?它是免费的,开源的,当我能够使用它时,一种愉快的体验。数据库大小FAQ

对于一个不错的前端,试试IBExpert,不是免费的,而是价格合理的好产品。

答案 3 :(得分:2)

我宁愿建议PostgreSQL作为首选,但MySQL也是一个不错的产品。可能会影响您决策的一个论点是两者之间许可的巨大差异:MySQL是GPL(或商业)许可,包括客户端库,PostgreSQL根据BSD许可证授权。

This table包含SQLServer,MySQL和PostgreSQL之间的一些(技术)比较点。它可能只是稍微亲PostgreSQL,但有关于该页面的进一步信息的指针,它至少应该给出相似性和差异的正确概述。

答案 4 :(得分:1)

三个选项: -

  1. Mysql - 快速,简单,功能有限,事务管理不是防弹的。可以被认为是SQLServer的替代品。

  2. Postgres - 稍慢,略微更完整,功能齐全,防弹交易。更多Oracle替代方案。

  3. JavaDB - 如果Java是您选择的程序语言,完整功能,防弹交易 - 不会像其他两个一样扩展。

答案 5 :(得分:0)

明显的答案:MySQL

还有PostgreSQL

答案 6 :(得分:0)

这实际上取决于您的要求。如果您不需要触发器或其他“高级”功能,MySql将非常好地扩展。否则,请查看使用PostgreSQL。

无论您选择哪种解决方案,请务必编写应用程序以使用数据库抽象库并使用存储过程。当您的需求发生变化并获得完整商业数据库的资金时,执行这两项操作将使转换变得更加容易。

答案 7 :(得分:0)

SQL Express http://www.microsoft.com/express/sql/default.aspx

MySQL http://mysql.com

Postgre SQL:http://www.postgresql.org/

我认为答案很明显,但是,如果您正在开发.net应用程序,我建议使用SQL Express。

答案 8 :(得分:0)

实际上,你听说过WebSiteSpark吗?这是Microsoft的一个程序,允许您(如果您的公司成员少于10人)免费获得MS SQL Server,Windows Web Server和Visual Studio Expression。顺便说一下,我一直在调查这个程序,但尚未注册。

答案 9 :(得分:-1)

鉴于你模糊的手向这个问题挥手,我猜测你不可能有任何缩放问题,或者需要担心任何难题。因此,去吧 简单。
MYSQL有大量的文档,并有一些漂亮的Windows安装工具。

sqlite可以是一个选项,它使用起来非常简单,并且可能满足您的所有要求。

除了这两项之外,不要做更多的研究,只选择一个看起来最简单的研究。

此外,这是一个非常愚蠢的问题,您可以通过简单的Google搜索来解答