选择特定数据库管理系统有哪些因素?

时间:2010-05-03 12:43:32

标签: language-agnostic database

为什么有这么多数据库管理系统?我不是数据库专家,我从未想过使用除mySQL之外的其他数据库。

编程语言提供了不同的范例,因此选择特定语言是有意义的。

问题

选择特定数据库管理系统有哪些因素?

7 个答案:

答案 0 :(得分:10)

不同人的不同笔划:

  • .NET人员喜欢 Microsoft SQL Server 提供的同类堆栈。
  • Oracle 是'请仅在企业应用程序中使用'DBMS。
  • MySQL PostgreSQL 由开源人群使用。
  • SQLite 非常适合嵌入式DBMS。
  • Microsoft Access 非常适合单人Microsoft Office集成数据库(或者,对于那些不知道更好的人)

我对非关系型DBMS几乎一无所知:NoSQL,MongoDB,db4o,CouchDB,BigTable。我建议用另一个问题来解决这些问题,因为它们的目标与传统的RDBMS不同。

答案 1 :(得分:3)

DBMS已存在很多年,对于过去,未来和未来的IT基础架构而言非常重要。所以很多人都试图进入这个行业。有很多办公套件,内部浏览器等等。

What are factors to choose a specific DB management system ?
  • 许可
  • 平台
  • 性能
  • 支持的编程语言
  • 等等

答案 2 :(得分:0)

有明显的缺席,例如面向列(LucidDB),平台无关(德比),内存(hsqldb,虽然德比也适合这里),可能还有其他数据库,按其关键属性进行分类。

答案 3 :(得分:0)

如果范例相同,那也是一个市场共享问题..(它是否被跳过了?!?)否则,彼得的答案是相当可观的。

答案 4 :(得分:0)

“这个答案并没有真正回答'为什么',它只是回答'谁'。”

是的,但我想'为什么'的答案可能就是有这么多'谁'谁都认为他们能做到“比其他人更好”。

“更好”具有特定'谁'选择的差距填补的重要性:

  • 通过MVCC锁定几乎可以保证读取成功,而不是更传统的两相锁定。
  • 免费,而不是百万美元的费用
  • 轻松与语言XYZ接口,其他人没有
  • ...

我个人的宠物问题是对CREATE ASSERTION的支持。它自1992年以来一直在SQL标准中,并没有一只大象知道如何支持它。我做。

答案 5 :(得分:0)

在大多数情况下,如果您正在为RDBMS / SQLish市场写作,那么您应该问的第一个问题是,“我已经了解了什么?我的员工知道什么?”如果你有答案,那么你应该首先选择那个SQL引擎。我的内部数据库极客对此答案感到不满,但事实是,除非您的开发人员无论如何都是真正获得关系数据库的一小部分,否则您将使用与其他人一样的标准数据库错误。问题是你是否可以让你的系统足够快。

如果您吞下了NoSQL饮料的投手也可能是这样,因为您也必须选择您理解的东西。

但是,如果您已经能够理解所有这些差异,那么您将理解答案是“它取决于”。通常的四个维度归结为这些:给定工作负载配置文件的执行速度(这是数据库在特定类型的问题上是否优秀的问题:一些更快的查找,例如,其他人在高并发性下更好写作);目标区域中的SQL一致性(例如,Oracle有趣 - 即错误 - NULL处理,MySQL遍布地图,Postgres将不带引号的标识符包装为小写);货币费用立即和长期(包括硬件要求,雇用人员的费用,许可证);也许你想要的功能(如果你想要Oracle的RAC,你必须购买Oracle)。

答案 6 :(得分:-1)

数据库系统也提供不同的范例。例如,MySQL或MSSQL是关系型的,而db4o是面向对象的,而MongoDB是面向文档的。