博客应用最佳数据库选择(关系型SQL vs 非关系型NoSQL)

10

我正在开始开发一个关于博客的新应用程序,使用的是 .net mvc。在过去的3年中,我一直在使用关系型数据库(Sql Server),但这几天我看到很多关于 No Sql 数据库的文章,而且很多文章都说 No Sql/图形数据库是未来趋势,所以我想知道对于博客应用程序来说哪种类型的数据库更好,关系型数据库还是 No Sql 数据库?

出于学习目的,我想选择 No Sql 数据库,但有太多的 No Sql 数据库可供选择,例如 Cassandra、Couch、Mongo、Raven、HBase、Neo4j 等,因此请建议我为博客应用程序选择哪个数据库:

  1. 关系型数据库或 No Sql 数据库
  2. 如果选择 No Sql 数据库,则选择哪种 No Sql 数据库

期待积极的回复。 谢谢。

2个回答

6
基本上,使用SQL或noSQL方法取决于诸如数据模型(我的意思是SQL中的表或no SQL中的列表)如何变化以及在拥有大量数据时您将如何处理它等因素。如果您的数据模型已知且不经常更改,再加上您需要处理非常复杂的逻辑(并验证当然),那么我通常会使用SQL方法,因为这样更容易保持数据的一致性。接下来你面临的问题是海量数据。使用SQL方法,如果您想要快速查询数据,则必须构建数据仓库(DWH)。使用noSQL方法,在理论上,您可以轻松地将数据分散到不同的服务器上。关于博客-您现在肯定不知道最终会有什么样的模型。我猜您不会创建棘手的报告。因此,使用noSQL模型是可以的。
关于你的问题,我推荐看一下brightstardb,因为你可以使用EF映射模型,这样开发会更容易。另一个你可以看看的noSQL数据库是Azure DocumentDB,因为它是微软对noSQL的方法,但目前只在Azure中可用,没有独立版本。

1
或者您可以使用亚马逊的DynamoDb(Azure的名称与DynamoDB非常接近,哈哈)。AWS之所以是领导者,是有原因的。Appsync/Amplify框架易于使用,并默认使用DynamoDB(NOSQL)。 - Evan Erickson
@EvanErickson 这是广告吗?(: 无论如何,谢谢。 - teo van kot
广告不是,这是我的推荐。我认为AWS是最好的选择。虽然Azure也很棒。 - Evan Erickson
@EvanErickson 当然,谢谢你。 - teo van kot

3

我一直在小型Web应用程序中使用Mongo NoSQL。对于这样的应用程序,Mongo NoSQL非常适用。 易于连接,并且由于它是面向对象的,因此易于入门。 只是我的个人观点。


感谢 @Bb91 的意见。我将仔细检查Mongo数据库。 - Ankit Sahrawat
很高兴提供我的意见 :) - BastianBuhrkall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接