In one of my earlier articles, I talked about why your company or organization should adopt Sitecore as your Experience Platform. It’s a good platform for users, content authors, and developers to create compelling and engaging digital experiences as well as collect information on website traffic. Machine learning and analytics in personalized content are two of the most compelling features of Sitecore. In today’s world, companies, particularly the Fortune 500, require real-time analytics to help drive stakeholder goals.
Traditionally Sitecore used MongoDB as their experience database (xDB) of choice for storing and retrieving analytics. However, with the latest version of Sitecore, the company is moving to more options for development teams to use to fit their needs especially if they require real-time analytics. There are now options for using SQL Server’s new provider for NoSQL data. In fact, at the time of the writing, the only option for Sitecore 9 xDB deployment is the SQL Server Provider. The company has planned to continue support for MongoDB but sent a clear message with their change of xDB choice in the latest version. The platform is also looking at expanding to higher end distributed NoSQL databases such as Microsoft Azure CosmosDB. This would require an Azure subscription but would offer features to support distributed analytics.
DataStax Enterprise (DSE) is an always-on, distributed cloud database built on Apache Cassandra™ and designed for the hybrid cloud. Our firm is making the argument that Apache Cassandra, and more importantly DataStax, should be used as your Analytics xDB option if you are building experiences for the Right-Now Economy. These are usually systems which use IoT (internet of things) or have global demand from a user audience of hundreds of millions and thus can never fail. That goes double for the analytical operations you run on the real-time data you are storing.
Cassandra and DataStax clearly outperform MongoDB and other rivals in Throughput by Workload and Load Process benchmarks. They also provide no single point of failure and more consistency models to support high-level operations. Cassandra is completely free and open source and supports both cloud or on-premise (translation you won’t need an Azure subscription like CosmosDB) but the real special sauce is with DataStax. DataStax is a commercial product, however, it is almost always used if Cassandra is being deployed on an enterprise level scale. DSE integrates Cassandra with graph, search, analytics, administration, developer tooling, and monitoring all in one platform. With Mongo or other NoSQL competitors, developers would have to piece together these functionalities with third-party options instead of native out of the box support. Developers can also create Spark jobs and see analytical data or personalize content in real time no matter how many users are viewing the experience. Other systems support Spark, however, they are usually deployed in a master to slave or parent to child relationship providing points of failure for both your users and your analytical operations. Furthermore, they tend to face challenges when an application needs to be global.