将MongoDB用于字段存储是否会限制功能?


12

我正在考虑在站点上使用MongoDB进行字段存储,而不仅仅是将缓存,会话,批次等移出我的SQL数据库。

字段存储API应该使这种无缝的,假设我使用Drupal的API访问数据。但是,这是否以任何方式限制了我的网站。我特别想知道“ 视图”将如何受到影响。


然而,由于范围太广,这很可能会被关闭;使我远离MongoDB的唯一原因是,我将失去使用MongoDB存储的字段的Views关系功能。我担心有一天我会需要它和BANG-无法查询所有查询JOIN
Chapabu 2013年

这是想到的事情之一。
雅各布·波顿

@Chapabu您可以使用MongodbEFQ Views Backend
Clive

@Clive确定吗?我确定我在某处读到不是这样吗?我从来没有时间尝试它-所以我不能100%说两种方式。如果它能正常工作,那么,我看不到任何理由不使用它:-)
Chapabu 2013年

2
我认为可以重写此代码以使其具有重点,并且非常适合该网站。
mpdonadio

Answers:


7

这是一个很酷的问题。

我参加了与Drupal 7和mongo一起玩的5周冒险,

但是,正如卡帕布所说和引用的那样。

没有任何关系。EFQ视图不支持关系,因为Mongo不支持JOIN。”-在此帖子的“转换视图”部分下。(为澄清起见,我不是在争论,我是真的很好奇)– Chapabu 9月6日,15 :57

我认为您可以将Mongo与Drupal结合使用,将很多其他内容移至mongo中,例如会话等简单的“字段”,可以做很多事情:

由于View受到Mongo db的极大限制。我发现重写一些适合于mongo模式的自定义模块会更好(而且更耗时)。

因此,如果您启动一个新项目/站点,那么这无疑是一次伟大的冒险。但是冒险将充满神秘的挑战。

甚至Whitehouse也必须从mongo返回Mysql。这是我在上面找到的报价。

“当前版本取决于MongoDB。当我们首次创建应用程序时,我们想确保我们具有高度可扩展的应用程序和数据库,以满足高负载下预期的性能需求。我们已经在生产环境中运行MongoDB一年以上,但是我们已经决定,尝试扩展由MongoDB支持的Drupal功能的复杂性将无法弥补它提供的性能优势。”

然而,其他人曾与MongoDB的和Drupal 8大更迭 的MongoDB和Drupal 8

正如他们在幻灯片中所述,要实现完整的mongodb功能当然是不可能的。

但是您将不得不放弃使用SQL的几个模块(很多),就目前而言,我仍然觉得Drupal无法与Mongo一起跳探戈。即使使用模块。它仍然是一种粗糙的方式。


感谢您分享您的想法!感激不尽!
2013年
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.