【问题标题】:Database Management System for db-heavy, busy website/application?用于 db-heavy、繁忙的网站/应用程序的数据库管理系统?
【发布时间】:2011-11-09 22:50:37
【问题描述】:

编辑:我了解到,YouTube 使用 MySQL 可能是真的。但它可能是企业版而不是免费版。唯一的选择似乎是 PostgreSQL。长问题短 - - Can PostgreSQL used instead of MySQL? Is it a very good alternative in any case?


首先,我注意到这些是(关系)数据库管理系统最常见的名称 - DB2 (IBM)、Oracle 数据库、Microsoft SQL、Ingres、MySQL、PostgreSQL 和 FireBird。那么,我应该假设这些是最好的吗?

好的,上面的--DB2 (IBM), Oracle Database and Microsoft SQL,所谓的企业DBMS,有账单;而MySQL (exclude enterprise version), PostgreSQL and FireBird 是开源且免费的。

从我之前的问题中应该可以清楚地看出,我计划建立一个照片共享网站(例如 Flickr、Picasa),并且与其他任何网站一样,它将大量使用数据库并且(希望)很忙。

以下是我想知道的:(1) 是否有任何一种免费 DBMS 能够与付费企业 DBMS 相媲美? (2) 任何免费的 DBMS 都可以扩展并为庞大而繁忙的数据库提供良好的性能,而无需过多的头撞和捂脸吗?

我对 DB 的看法:

  • 成熟
  • 快速
  • 在重负载下表现出色/出色
  • 随着数据库的增长表现出色/出色
  • 可扩展(平滑过渡)
  • 支持语言(最好是 Python、PHP、JS、C++)
  • 功能丰富
  • 等等(不管我错过了什么)

PLZ 注意:我知道 Facebook、Twitter 等使用(或至少使用过)MySQL,我不时看到报告,他们的系统管理员如何为这个决定哭泣。所以,请不要说,XXX用它,你为什么不能。 They've started small, I am too. They've made mistakes, I don't want to. 我想保持缩放过渡平滑。我希望我没有要求太多。谢谢。

【问题讨论】:

  • 作为 MySQL 用户,PostgreSQL 是必经之路。他们正在修复 MySQL 做错的所有事情。
  • @Xeoncross :这可能太多了,但是,让我问是为了问。 Facebook 是否会像使用 Oracle DB 或 MS SQL(即企业 DBMS)一样更喜欢使用 PostgreSQL?
  • 如果你负担得起的话,我听说 Oracle 拥有 RDBMS 领域。在我接触过的所有项目中,要么是 MySQL,要么是 PostgreSQL,在这两个项目中,我必须同意 Xeoncross。
  • Oracle > PostgreSQL > MySQL > MS SQL。但是,只有应用程序的某些部分需要在 RDBMS 上构建。大部分数据可以存储在 NoSQL 数据库中(日志记录、文本 blob、聊天服务、临时数据等)。
  • 你能证实你的说法吗,xenocross?

标签: mysql database postgresql firebird


【解决方案1】:

“哪个是最好的数据库”是一个巨大的问题,也是很多争论的主题。我在 StackOverflow 上注意到有关闭此类问题的趋势;虽然这个问题很有趣,但它也很无法解决;-)

FWIW,我会选择这个:

  • 使用你所知道的
  • 如果与第一条规则没有太大冲突,请使用免费的东西
  • 使用适用于堆栈其他部分的内容
  • 以合理的成本使用您可以租到的东西(因此,除非您确实需要,否则可能不使用 Oracle)
  • 不要过早优化。慢慢地工作比一个未完成的高效网站要好得多

此外,可扩展性实际上与您的数据库平台无关,而是与您设计网站的方式有关。另请注意,某些平台在添加更多服务器 (MySQL) 时可以更好地扩展,而其他平台在增加服务器资源 (PostgreSQL) 时可以更好地扩展。

【讨论】:

  • 那么,从最后几行来看,我可以认为PostgreSQL 是正确的选择吗?
  • 不一定。我的意思是,如果你有一个特定规格的数据库服务器,一般来说,当你添加另一台服务器时 MySQL 会做得更好,一般来说,如果你向现有服务器添加额外的 RAM 或更快的磁盘,PostgreSQL 会做得更好。这称为“横向扩展”与“纵向扩展”,是可扩展性的核心主题。
  • 说了这么多,我认为如果你使用 PostgreSQL,你不会出错!我认为这是一项非常棒的技术,但我想我也会对 MySQL 感到满意。
  • 每个网站都必须在某个时候向外扩展,对吧?那么 MySQL 会是他从免费 DBMS 中唯一的选择吗?对不起,如果我太无知,没有抓住你的意思。
  • “向外扩展”!=“规模”。 “向外扩展”意味着通过添加更多服务器进行扩展,这当然不同于通过“扩展”(即加强现有服务器)进行扩展。阅读关于可扩展性的 WP 文章了解更多信息:en.wikipedia.org/wiki/Scalability
【解决方案2】:

请注意,截至今天,MySql 并不是一个免费项目,也不是像 postgresql 那样免费。我不得不切换到PG的主要原因之一。 (感谢 NPGSQL 和 PgAdmin III,这比传闻中的要容易得多)

然而,MySql 确实有许多与应用程序、插件、论坛相关的优势,并且在简历上看起来不错。

PostgreSql 是一个非常成熟的 DBMS。它是一个对象RDBMS。它已经存在超过 15 年。不知道是否在任何重大问题上违约。众所周知,成功处理运行在数百万行中的事务。最重要的是,它符合 SQL 标准的比率很高。其实在专业圈里,它更像是Free RDBMS的Oracle,而不是流行应用的MySql。

【讨论】:

  • 感谢@arvind 的澄清。那么你认为我可以依赖 PostgreSQL 做一个大型网站,一个照片分享网站(想想像 flickr 一样大)吗?
  • 我想补充一点,监控工具并不多。但是有很多关于如何调整 PostgreSql 服务器性能的信息。我从link得到了很多帮助
猜你喜欢
  • 2011-06-24
  • 1970-01-01
  • 2011-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多