Sitecore announced recently that they will be utilizing MongoDB as the backend store for the Sitecore Experience Database. This move brings a lot of power and flexibility to how data is collected and stored. Read on to find out more!
For developers, MongoDB is a great choice for this platform. Here’s why:
Sharding – Storing one logical database across many physical servers (nodes). These are typically cheap servers instead of a single “monster” which can handle the load.
Open Source – You can view the source, which is located at https://github.com/mongodb/mongo/tree/master.
Schema Free – For developers, the ability to quickly change the schema (data organization) without requiring massive scripts is a huge productivity boost.
Speed – MongoDB implements the Map / Reduce group of algorithms to fetch data stored across many nodes, asynchronously and blazingly fast. Google developed this method for their search engine (remember that old thing?) and shared the basic idea with everyone. (Their April Fools joke about it is nerd gold.)
Details on these 4 main selling points:
From a performance perspective, I’ve seen Sitecore Analytics buckle under the pressure of a few thousand visitors a day, to the point where it just had to be shut off. There were performance thresholds built specifically into how Sitecore updates this database, queueing up a thousand or so records at a time before attempting to write to the database. The performance of MongoDB with sharding is nearly instantaneous, allowing Sitecore to promise real-time updates with no queue.
From a security and reliability perspective, the Open Source nature of MongoDB allows many eyes to peer over and play around with the source code for bugs, performance optimizations, security holes, and other considerations.
When a new version of software comes out that also uses a database management system, the upgrade process will typically include SQL scripts to run in order to upgrade the software. In MongoDB, fields can be added or ignored (you could code to remove fields, but they can just be ignored as well) without update scripts, making for seamless transitions between versions. Although, typically, there may be some other type of transformation which needs to be done; Sitecore could provide an interface for that, or include it in an update package.
Map / Reduce is an advanced idea that keeps hardware cheap, provides failover, and can be done across all nodes simultaneously. This leads to faster report loading, but doesn’t necessarily help with the recording of the data. Additionally, data warehousing and aggregation can happen in the background leading to massive increases in speed.
How is the Sitecore utilization of MongoDB relevant to a marketer?
To bring a real example of MongoDB use to light, the co-founder of Appboy, Jon Hyman shared in this video how the use of MongoDB has helped them with marketing automation. As marketing automation for apps requires real-time data at massive scale. Hyman noted how they’ve been able to scale to meet their customer base with MongoDB.
MongoDB is picking up votes of confidence from the market as well. In a Bloomberg.com article it was noted that MongoDB is capitalizing on the popularity of its online database software, raising $150 million in an October venture-funding round that would make it the most valuable Internet startup in New York.
Overall, MongoDB CEO Max Schireson sums up the difference of MongoDB to other database types with this thought: “The volume and type of data and the consumer and developer expectations are so radically different than they were when the relational database was invented.” Which opens up the field of Big Data – from accumulation of data to analysis and use – can be rethought with the use of MongoDB.