首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法让Meteor使用符合本机酸的db?

有没有办法让Meteor使用符合本机酸的db?
EN

Stack Overflow用户
提问于 2015-03-30 14:31:47
回答 3查看 529关注 0票数 4

我正在认真考虑使用Meteor框架来构建future...but中的每个POC和应用程序,因为我很少使用需要这种遵从性的多文档原子事务来使用符合ACID标准的数据库。

流星目前强烈依赖MongoDB语法和存储引擎(这意味着没有“事务”相关语法可用.)

我目前正在评估任何允许这种酸性能力的解决方案:

  • 为Meteor使用MySQL本机驱动程序(与MongoDB不同的语法?)
  • 为Meteor使用PostgreSQL本机驱动程序(SQL语法)
  • 使用TokuMX (一个带有ACID compliance...same语法的MongoDB叉,而不是从与事务相关的命令中添加的MongoDB )

这3种解决方案是Meteor路线图的良好候选方案,如这里所示

这些解决方案的利弊是什么?哪个是最先进的?您认为在像ACID兼容的db这样的NoSQL中保存Meteor文档的解决方案是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-11 16:06:31

我终于得出了自己的结论..。

我将有两个平台:

  • PostgreSQL中包含业务数据的Meteor前端,以及在MongoDB中具有一些前端数据或易于复制的数据的Meteor前端。
  • Java (仅限server2server)在PostgreSQL...plus技术适配器( Salesforce)中处理业务数据上的所有原子操作、BPMN2.0工作流引擎(ActilityBPMN2.0)和其他系统所需的任何已注册的SOA

我们仍然非常欢迎任何意见,并将予以考虑和答复。

票数 1
EN

Stack Overflow用户

发布于 2015-05-08 04:50:41

sqlAndMeteor

如果你像我一样,你爱流星,却恨蒙古。在Meteor的Trello (https://trello.com/b/hjBDflxp/meteor-roadmap)中,最受欢迎的特性是PostgreSQL或MySQL。

由于在Meteor中没有这方面的日期,我在这里总结我发现的部分解决方案。

1.-只对客户端查询使用SQL。

让我们直截了当地说,Mongo在常见的数据操作上很糟糕,因此能够使用SQL查询数据(包括联接、结块等等)将减轻很多痛苦。有些包允许您在客户机中使用SQL,至少用于查询:最简单的包是一个旧的(2010)实用程序SqlLike (http://www.thomasfrank.se/sqlike.html)。镇上的新玩家是alaSQL,这是@agershun (https://github.com/agershun/alasql)积极开发的。SqlLike的优势是它只有10k。当然,AlaSQL的功能要强大得多,但是在联合和聚合中使用SqlLike来代替mongosintax时,SqlLike是可以的。

通过这两种方法,您可以在您的助手中做这样的事情:

代码语言:javascript
复制
productsSold:function(){
  var customerSalesHistory=salesHistory.find({cutomerId:Session.get('currentCustomer')}).fetch();
  var items=products.find().fetch();
  return alasql("select item.name, sales.ordered as sumaVentas from ? sales, ? items
      where items.Id=sales.itemId",[customerSalesHistory,items]);
}

2.-直接SQL支持的实验。

一些软件包试图用MySql或PostgreSQL取代Mongo (和minimongo)。@numtel的MySql包是Meteor https://github.com/numtel/meteor-mysql,PostgreSQL是Meteor (https://github.com/numtel/meteor-pg)。这两种方法都是解决问题的好尝试,但都存在一些问题,而且在某种程度上难以适应。

哈克反应堆的一个团队已经形成了流星流,它的第一个产品是与流星,流星-邮政from (https://github.com/meteor-stream/meteor-postgres)的PostgreSql集成。它看起来非常好,并在客户端使用alaSql来替换minimongo。

这两种方法都很好,但也存在一些问题:

他们中断了对流星的部署。他们是非常,非常年轻,并没有接近生产准备的AFAIK,他们仍然需要调整通常的酒吧-子新税,这可能会引起与其他流星软件包的兼容性问题。3.-仍然使用Mongo,但作为MySql数据库的简单存储库。

此选项维护所有Meteor的特性,并使用Mongo作为MySql或PostgreSql数据库的时态存储库。

这方面的一项出色尝试是mysql-- @perak (https://github.com/perak/mysql-shadow)的影子。它按照它说的做,让Mongo与MySql保持同步,让我们用MySql来处理数据。

坏消息是,开发人员将不再继续维护它,但是所做的工作足以处理简单的场景,在这些场景中,您没有复杂的触发器来更新其他表或类似的东西。

对于功能齐全的同步,您可以使用SymmetricsDS (http://www.symmetricds.org),这是一个经过很好测试的数据库复制器。当然,这涉及到设置一个新的java服务器,但到目前为止,这是确保您能够在一个简单的MySql、PostgreSQL、server、Informix数据库的存储库中转换Mongo数据库的最佳方法。我得亲自检查一下。

就目前而言,MySQL阴影似乎是一个足够好的解决方案。

这种方法的一个优点是,您仍然可以使用所有标准Meteor功能、包、流星部署等等。你不需要做任何事情,只需要建立同步机制,而且你没有破坏任何东西。

另外,如果有一天Meteor团队使用SQL集成中筹集到的一些资金,您的应用程序更有可能按原样工作。

票数 2
EN

Stack Overflow用户

发布于 2015-03-30 17:14:05

如果MySQL对您有用,那么我使用了流星-mysql包,它运行得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29348955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档