您如何决定使用哪种数据库?


31

我真的不喜欢“ NoSQL”这个名字,因为它不是很具描述性。它告诉我数据库不是什么,我对数据库什么更感兴趣。我真的认为该类别实际上包含数据库的几个类别。我只是想大致了解每个特定数据库最适合的工作。

我想做出的一些假设(并要求您做出):

  1. 假设您有能力雇用任何数量的优秀工程师,这些工程师对已经存在的每种数据库技术都具有同等的经验。
  2. 假设您具有支持任何给定数据库(包括可以支持该数据库的可用服务器和系统管理员)的技术基础架构。
  3. 假设每个数据库都免费提供最佳支持。
  4. 假设您有100%来自管理层的支持。
  5. 假设您有无数金钱可以解决这个问题。

现在,我意识到上述假设消除了选择数据库时涉及的许多有效考虑因素,但是我的重点是在纯粹的技术层面上确定哪​​种数据库最适合该工作。因此,考虑到上述假设,问题是:每个数据库(包括SQL和NoSQL)对哪些作业而言是最佳工具,为什么?


您是否有机会选择这些数据库的两个示例,它们的类别是什么?
JeffO

Answers:


6

关系数据库(SQL)非常适合基础模型保持稳定的数据。许多实现已经存在了一段时间(Oracle,DB2,SqlServer)并且稳定且安全。此外,很容易找到有经验的人来管理他们-数据库管理员是必须的!程序员不必处理权限,设置和调整。他们应该能够专注于编程,并使管理员担心保持数据库正常运行。关系数据库也相对容易查询,并且有许多工具可以帮助从中查找数据。


5

的SQL

关系对象。稳定的服务器,具有对权限的精细控制。

NoSQL

灵活的存储。高可伸缩性和分片能力。


1

在这篇文章中有一些非常好的信息:Cassandra,MongoDB,CouchDB,Redis,Riak,HBase,Membase,Neo4j比较

尽管SQL数据库是非常有用的工具,但它们长达15年的垄断即将结束。只是时间了:我什至无法计算被强制放入关系数据库中的内容,但从未真正适合它们。
但是NoSQL数据库之间的差异比一个SQL数据库与另一个SQL数据库之间的差异要大得多。这意味着从一开始就为项目选择合适的软件是软件设计师的更大责任。
因此,这里比较了Cassandra,Mongodb,CouchDB,Redis,Riak,Membase,Neo4j和HBase [...]


-3

我想这不是一个好问题,例如,哪种车辆好?布加迪,BWM,汽车,微型机器,火车,机车,飞机?
这取决于你的情况,

对于没有大量数据的小工作,sqlight可能很好。
对于使用Microsoft产品的公司而言,MSSQL很好。
对于Web开发,MySql非常易于使用。
适用于银行,Oracle或榻榻米(如果处理交易问题)。
对于具有大量数据的小型工作,MongoDB是很好的。
对于一家拥有大量数据且只有一个同类表的公司,Cassandra。
对于拥有大量数据的公司,Couchbase。
Hadoop生态系统HBase。
用于图形,图像,内存中...


5
我很好奇,为什么您会建议通过MySQL Server在Microsoft商店中使用MySQL?
Becuzz

我纠正,我的意思是Mssql。
Hossein Vatani
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.