/ Nodejs

Express Cassandra 2, the nodejs odm for cassandra is released with Elassandra and JanusGraph Support

Since I started writing the nodejs ORM / ODM for cassandra, it evolved over time to support more and more cassandra 3.x features and most of the cassandra features became available in the 1.x releases including materialized views, indexed collections, user defined types/functions/aggregates etc. along with some basic support for automatic migrations. I loved to get a lot of valuable feedback in forms of issues and more than 10 contributors from different countries who helped me to enhance and fix things in express-cassandra.

Today I'm glad to introduce express-cassandra 2.0 with major updates like built in support for Elassandra and JanusGraph, automatic timestamp (createdAt/updatedAt) and document version management, import/export fixtures and some other improvements and fixes documented in the changelog.

The introduction to these features enables you to use express-cassandra as the nodejs schema manager and object query interface for a distributed data backend with support for cassandra as the database, elasticsearch as the search/analytics service and janusgraph as the graph traversal engine. By storing all the data in cassandra backend, you have now the flexibility of scaling to thousands of nodes with distributed replication of your data and no single point of failure (NOSPOF). On top of this "true" NOSPOF data backend, you can now have the flexibility of search/analytics powered by elasticsearch backed by cassandra (elassandra) and distributed graph traversals with billions of vertices/edges using tinkerpop3 gremlin queries powered by janusgraph with cassandra backend.

What express-cassandra empoweres you to do here is using just a simple JSON schema, you can now manage all of your cassandra tables/views, elasticsearch indexes and graph data from nodejs and provides you with simple query interfaces supporting cassandra object models, elasticsearch queries and gremlin graph traversals. Creating scalable recommendation systems for your nodejs apps should now be simpler than ever. I believe express-cassandra has evolved to become your goto ORM/ODM/OGM for cassandra based data applications written in nodejs/javascript.

Though there are more than 100 functional tests passing now for express-cassandra, but still it only has 73% coverage as of now, which is not very good. I expect the situation will improve in the near future if the acceptance and excitement around this module grows in the open source community.

We at our company started using this module for cassandra based systems and some of the services are running in production already. Early adopters include CodeFoundries URB already using express cassandra for their db persister. Also there seems to be growing interest from promising startups like Healthera, Peerio, Ties Network and PureClarity (evidence taken from forks so far). I hope interests around express-cassandra will grow more and see it make node developers life easier in building scalable applications to handle large and complex data driven systems.