什么时候不使用MySQL或其他关系数据库?

时间:2011-10-03 06:19:27

标签: mysql database database-design nosql

简单的问题,何时不应该使用MySQL?

我的好奇心有两个方面:

  1. 什么时候特别避免使用MySQL?
  2. 何时不使用关系数据库?
  3. 我想确定我选择MySQL(在Apache上使用PHP),因为我的雇主坚持使用非免费或开源的东西,但我坚持不这样做。所以我只想确定。

3 个答案:

答案 0 :(得分:2)

当您的数据不是关系数据时,或者(基于您的数据访问模式和/或数据模型)您可以选择比关系数据更好的模型,使用它。如果您不确定是否有更好的问题模型,请使用RDBMS - 它受欢迎的原因是它非常适合大多数问题。 Facebook和谷歌使用MySQL(虽然不仅是MySQL,但Facebook的主要部分是在MySQL之上),所以当你考虑使用NoSQL解决方案时就是这样。

有不同类型的数据库,如图形数据库,它们适用于特定任务。如果您有这样的特定任务,请研究任务领域。

至于为RDBMS选择供应商,这更像是一个业务目标,而不是技术目标。有时支持,认证专业人员,培训/咨询,甚至匹配公司基础设施(如果它有广泛的Windows网络和经验丰富的Windows管理员,它可能更喜欢使用基于Linux的Windows服务器)是特定软件的原因选择。

答案 1 :(得分:1)

  

1。什么时候特别避免使用MySQL?

并发数据库会话修改和查询数据库时。

MySQL适用于只读或大多数情况(MySQL经常用于Web),但Oracle,MS SQL的更高级多版本并发控制功能Server,PostgreSQL甚至Firebird / Interbase通常可以处理读写工作负载,不仅具有更好的性能,而且具有更好的正确性(即它们更好地避免了可能危及数据一致性的各种并发工件)。

即使是传统的“锁定”数据库(如DB2或Sybase)也可能比MySQL更好地处理读写工作负载。

  

2. 一般情况下何时不使用关系数据库?

简而言之:当您的数据不是关系数据时(即它不适合实体,属性和关系的范例)。

话虽如此,许多现代DBMS具有传统关系模型之外的能力,例如“理解”XML的层次结构的能力。因此,即使通常不会存储在关系数据库中的非结构化数据(或者最好存储在BLOB中)也不一定是禁止的。

答案 2 :(得分:0)

回答并不困难。如果另一个DBMS要证明更便宜/更好的价值,请不要使用MySQL。其他领先的DBMS(如Oracle或SQL Server)具有许多MySQL没有的功能。此外,如果您的雇主已经对其他DBMS进行了大量投资,那么在没有充分理由的情况下支持MySQL可能会非常昂贵且难以实现。你坚持使用MySQL的原因是什么?

还要记住,没有企业购买DBMS。他们购买了DBMS所属的完整解决方案。考虑整个解决方案的投资回报,而不仅仅是DBMS。