【发布时间】:2015-03-01 01:34:48
【问题描述】:
我计划在一个社交网站上工作,我想利用文档和图形数据库来实现所有所需的功能。有没有办法让 Meteor.js 或 Sail.js(或任何更好的)与 ArangoDB 或 OrientDB 一起工作?还是我应该坚持使用捆绑的 MongoDB 并集成 allegrograph DB 之类的东西?
【问题讨论】:
标签: meteor sails.js orientdb arangodb allegrograph
我计划在一个社交网站上工作,我想利用文档和图形数据库来实现所有所需的功能。有没有办法让 Meteor.js 或 Sail.js(或任何更好的)与 ArangoDB 或 OrientDB 一起工作?还是我应该坚持使用捆绑的 MongoDB 并集成 allegrograph DB 之类的东西?
【问题讨论】:
标签: meteor sails.js orientdb arangodb allegrograph
Sails.js 支持您提到的两个数据库:
除了 MongoDB、Postgres 和其他几十个。
【讨论】:
Sails.js 是一个经典的 mvc 客户端-服务器 Web 应用程序框架,基本上它的 ruby on rails 是为 node.js + webscockets 实现的,所以大多数情况下,要让它与任何后端数据库一起工作,你只需对 orm 进行更改。
Meteor 是一个非常不同的野兽,它是一个非常自以为是的实时端到端 Web 框架,包括客户端服务器和数据库,它非常自以为是地解决了实时应用程序中的许多常见问题,您需要在其中实现一种机制用于非常快速地更新所有客户端彼此的操作,并处理延迟补偿、数据冲突解决和实时客户端版本管理等事情,这是通过使用 Web 套接字和 mongoDB 的预写日志记录来实现的,以触发数据更新,使流星有点加上mongo。
但是您可以使用新的 orientDB 实时查询 api 使 orientdb 与流星很好地配合使用。它是查询结果的 pubsub 实现,可用于从数据库通过服务器直接推送到客户端的有效更新,服务器开销很小。这远未准备好生产,目前仅适用于 orient db 2.1 rc5 版本。
我已经实现了一个小流星演示应用程序作为示例https://github.com/imdark/meteor-orientdb-demo
【讨论】:
请查看Meteorpedia Alternative Database Post,他们提到了 neo4j-livedata 和 minineo4j。
这里是Atmosphere package: ostrio:neo4jdriver
您是否有特定的经济或技术原因考虑不使用集成良好的 mongoDB 作为首选数据库?
【讨论】:
除了 Travis 的回答,我还为 Sails.js 推荐 waterline-orientdb。
【讨论】: