There are new CMS solutions coming out all the time, and they always tout the latest technology they’re using that will bring enormous benefits to its users. Many developers, for example, now believe that a NoSQL-based CMS is the best way forward. For example, popular SaaS-only, headless CMSs are built on top of a NoSQL database like MongoDB or Apache Cassandra. But really, can a NoSQL CMS truly be considered innovative?
NoSQL does bring some advantages over a traditional SQL database, but still has many of the same drawbacks as well. Let’s take a closer look at why a NoSQL CMS may be a bit better, but still not enough for today’s digital landscape. We’ll also cover how CrafterCMS goes beyond any database-driven solution as well, whether SQL or NoSQL.
What is NoSQL?
NoSQL — Not only SQL — databases aren’t new, but they’ve been gaining a lot of traction lately. A NoSQL database is non-relational and can mean data storage using a variety of structures such as key-value, graph, or document. A NoSQL-based CMS makes the way users structure content highly flexible and that could provide a better content authoring experience with document-oriented storage.
The Benefits of NoSQL
NoSQL has seen widespread adoption for modern applications, and this includes many new CMS solutions on the market. There are some advantages to a NoSQL CMS for digital marketers, such as structured content and document-oriented storage.
Advantage #1: Flexibly Structured Content
Flexible content that’s stored with metadata can make development easier and omnichannel digital marketing more straightforward. Flexibly structured content can be repurposed for different channels and touchpoints more easily, while still being managed from a centralized location. NoSQL enables highly flexible data storage, so companies can define the content types that closely meet their business requirements. This is a significant advantage over most relational databases.
Advantage #2: Convenient Document Storage
NoSQL technologies like MongoDB provide document-oriented storage as well. In most cases, this means better performance than relational databases that are made up of a strict set of tables and records. That’s because retrieving a particular record often requires one or more joins of these tables, which is an expensive task from a performance perspective. In addition, when editing content that’s stored across many tables, each table has to be locked for editing to avoid multiple changes at once. Document-oriented storage solves these challenges because everything related to a piece of content is stored together as a single document.
Going Beyond NoSQL
While NoSQL solutions may have some advantages over the traditional SQL-based CMSs, in the end they still rely on a database. Importantly, this architecture limits the scalability, global distribution, content storage, and DevOps integration capabilities of the platform.
In contrast, the CrafterCMS approach solves all these issues and more that arise from any database — SQL, NoSQL, or whatever.
CrafterCMS leverages a Git-based, distributed content repository architecture rather than a database. This eliminates potential bottlenecks when scaling for high traffic demands because databases are typically the most challenging aspect of any elastic infrastructure. In addition, each server running Crafter Engine indexes and caches content locally for better performance. This is made possible by CrafterCMS’s shared nothing architecture. Without a database — and without any persistence requirements — Crafter Engine is stateless and can be deployed with the elasticity of a serverless service like AWS Lambda.
With a database-driven CMS — even if it’s based on NoSQL — the global distribution of content becomes challenging. If the database is centralized in one geographic location, then the performance for end-users suffers. But if there are databases across many regions, then it becomes difficult to keep the different versions in sync. CrafterCMS avoids this issue with Git. The Crafter Deployer uses regularly scheduled Git pulls to retrieve content from the authoring tier to manage the synchronization with content in the authoring repository. Once automated workflows are set up, there’s no manual work necessary to keep content up-to-date across Crafter instances.
CrafterCMS stores structured content in a Git repository. This is a highly flexible document-oriented approach — utilizing XML files — that fuels an omnichannel marketing strategy. Marketers are free to model content to create the taxonomy that meets their business requirements. Meanwhile, Git brings a streamlined versioning system for content, code and configuration as well. It’s also possible to quickly rollback to previous versions of your site, and spin up new environments with any version of a project’s content. By leveraging Git — a developer favorite — everything is backed up and versioned for streamlined content management.
Databases can severely limit the DevOps process for CMS solutions. Whether the database is SQL or NoSQL, moving content between environments usually requires a dump and load (or sync) of data. That means software development and content creation/publishing comes to a halt while bringing content back to the lower environments or pushing new code to production. CrafterCMS, however, avoids this problem with it’s unique support of a DevContentOps® process that enables true “code forward, content back” for seamlessly moving content, code, and configuration among environments without any bottlenecks or downtime.
Choose An Innovation-First CMS
A CMS solution built around a particular technology trend isn’t true innovation. An innovation-first CMS — like CrafterCMS — provides a foundation to continually support the latest tools, frameworks, and libraries that enable digital agility and adaptability. That’s how Crafter has quickly added support for GraphQL, containerization, serverless deployments, and other key features that continually modernize an organization’s tech stack.
Don’t get caught up in the latest marketing attempts by software vendors — whether it’s a NoSQL CMS or GraphQL CMS — and choose a solution that continues to bring new capabilities to market and enables users to innovate themselves. CrafterCMS is an innovation-first CMS, not a CMS based on any one single “innovative” technology.