【问题标题】:Meteor.js possible with Cassandra instead of MongDB? [closed]Meteor.js 可以用 Cassandra 代替 MongDB 吗? [关闭]
【发布时间】:2014-03-07 21:30:33
【问题描述】:

我正在开始创建客户支持系统的项目。对于这个系统,我查看了Meteor.js,看起来很有趣。问题是我们想使用Cassandra 构建系统的其余部分。

所以我的问题如下;流星.js 也可以与 Cassandra 一起使用而不是 MongoDB 吗?有没有现成的代码可以做到这一点,还是我们需要自己编写大量的兼容性代码?

【问题讨论】:

  • 这不是关于推荐工具的问题,而是关于两种特定技术之间的兼容性的问题。因此,它不属于“离题”条款,恕我直言不应该被关闭。这是一个有效且非常重要的问题。
  • 如果您愿意努力使其工作,我确信可以将 Meteor 与您想要的任何类型的数据库一起使用。
  • 是的,大规模失败,找到一个大家都感兴趣的问题...关闭它。
  • 投票决定关闭,因为我认为这太宽泛了。

标签: javascript node.js mongodb meteor cassandra


【解决方案1】:

你可以在 Meteor 中使用任何你想要的数据库,但是你会失去框架的三个 seven key benefits

数据库无处不在。使用相同的透明 API 访问您的 来自客户端或服务器的数据库。

延迟补偿。在客户端,使用预取和模型 模拟,让它看起来像你有一个零延迟连接到 数据库。

全栈反应性。将实时设为默认值。所有层,从 数据库到模板,应该提供一个事件驱动的接口。

除了 MongoDB,我还将 Redis 和 Postgres 与 Meteor 一起使用。我使用Meteor Methods在客户端公开函数来创建、读取、更新和删除其他数据库中的记录。

对 Redis 和其他数据库的官方支持在 Meteor roadmap,目前针对 1.1 版本。 Meteor 目前的版本是 0.7.0.1,所以这可能不会很快发生。

如果您想将 Cassandra 等其他数据存储与 Meteor 更紧密地集成,您可能会从 Meteor 的 mongo-livedata 模块开始。

【讨论】:

  • 我喜欢这个答案,因为它完整地解释了可用于集成外部服务的集成和其他方法。干得好。
  • 谢谢,@Mb.Well Explained.. 这是一个使用 Meteor 方法在客户端公开函数以创建、读取、更新和删除其他数据库中记录的流星和 cassandra 连接的示例 repo。 github.com/sarat9/meteor-cassandraa
  • 我猜为了延迟补偿,您还需要为客户端编写一个“minicassandra”?
【解决方案2】:

有一些尝试将 Meteor 与其他 DB 一起使用,请参阅 meteor-sql 了解我所知道的最有趣的。通常,为您的数据库创建一个包含查询并处理反应性的包装器应该不难。这是一项很大的工作,但相当容易。

当您还想将数据库用于用户帐户时,难度会显着增加。 Meteor 帐户系统大量使用 Mongo,并且与平台的其余部分融合得如此之多,以至于很难替换它。因此,您需要一种解决方法:将 Mongo 查询转换为 Cassandra 查询的低级包装器,或双 DB(Mongo 用于用户,Cassandra 用于数据)或类似的东西。

【讨论】:

    【解决方案3】:

    这是在询问意见,而不是任何真正的问题,所以我希望您的问题会因为 非常 离题而消失。

    如果您真的看过Meteor.js,那么您会意识到除了服务器端的实现之外,还有很多在客户端代码上完成的工作模拟 服务器端与 MongoDB 的交互,以便将客户端和服务器模式保持在程序员熟悉的模型下。而且它雄心勃勃,远非完美,但却是一场相当不错的演出。

    那种拍,“我想用 Cassandra 作为后端”在脚下。

    总而言之,请随意 fork 并创建您自己的 Cassandra 版本的 Meteor。真的,试试吧,也许你会从其他感兴趣的人那里得到一些牵引力。

    【讨论】:

      猜你喜欢
      • 2011-04-13
      • 2018-10-27
      • 2010-12-19
      • 2017-05-08
      • 2021-09-11
      • 2020-02-24
      • 2011-05-26
      • 2018-08-04
      • 1970-01-01
      相关资源
      最近更新 更多