Cassandra Node.js ORM最佳实践

目前,我们正在使用cassandra驱动程序,执行标准查询,并在我们的DAL和BL图层中访问“原始”结果。 我们的应用程序应该支持数百万用户,每个请求的平均剂量为3读取数据库,我们有大约30个模型。

我们正在考虑使用某种ORM库,将模型映射到我们自己的模型中,并且将每个原始数据处理为一个代表性的对象,或者处理每个模型(原始数据)的获取,设置和创build的简单函数。 我们的用例是封装“原始”数据结构的处理,避免代码重复,防止模式结构错误和强制validation。 我们非常想知道对性能的影响,未来的灵活性以及ORM lib / framworks的普及程度。

在这个主题中获得最佳实践(和参考)是有帮助的,因为我们不知道使用ORM层比cassandra有什么影响。

取决于你需要多久,我想指出你在DataStax Node.js驱动程序JIRA上的这张票https://datastax-oss.atlassian.net/plugins/servlet/mobile#issue/NODEJS-144

简而言之,我们正计划直接在驱动程序中添加对mapper的支持,并在将来确定如何与其他Node.js映射器进行最佳集成。

您可能想看看express-cassandra ,一个支持许多stream行的Node框架的NodeJS ORM。

它会自动加载你的模型,如果需要的话在cassandra中创build适当的表,并为你的模型绑定几个方便的CRUD操作。 它也支持最新的cassandra 3function。

免责声明:我是这个节点模块的作者。

Cassandra-co是Cassandra和node.js在生产中使用的一个积极维护的现代ORM。

免责声明:我是作者