cms: All content tagged as cms in NoSQL databases and polyglot persistence
structr is a free, open-source CMS under the GPLv3, written in Java, based on the fantastic NoSQL graph database Neo4j.
By design, structr is modular, distributed and easy to use.
structr is not yet stable, so please be patient and look out for bugs and minor (or even major) pitfalls.
If my memory serves me right, Neo4j started as a library used internally for building content management systems.
Purists will probably say I’m generalizing a bit (as there are some differences between CMS, ECM, DMS, etc.), but more and more people in the market start to think that these would make good usage of NoSQL databases:
DMS of the future will need to adopt NoSQL :
- because new systems are build for Internet : highly available documents is required feature, imagine a place where everybody can really write simultaneously – no locks-in.
- If you request a specific document, you will get it and there is no difference here with RDBMS, noSQL is even more performant.
- The “eventually consistent” will not really change anything, when you need a global view of the data (stats for example) you will get it “consistent”.
- Backup of documents could be done easily – and you will fall in love with replication
- Sharding is your friend for large distributed database of documents
Interesting to check if the set of requirements of a CMS represent a good fit for NoSQL solutions:
- Richly structured content types
- Unstructured binary objects
- Relationships / references / associations
- The ability to evolve content models over time (what I call “schema evolution”)
- Branch / merge (in the Source Code Management (SCM) sense of the term)
- Snapshot based versioning
- ACID transactions
- Scalability to large content sets
- Geographic distribution
The only requirement that doesn’t seem to be satisfied by most of the NoSQL is “ACID transactions”. But in case this could be translated into atomic and durable operations, I think most of the NoSQL solution will pass this test too.
The guys from Outerthought, builders of the Daisy CMS, have been publishing a lot recently about their decision to build the next generation CMS (Lily) on top of HBase. Below are the slides of their presentation: “Learning Lessons: Building a CMS on top of NoSQL technologies” from Berlin Buzzwords
Another resource useful to understand the needs behind a CMS is ☞ OuterThoughts’ technology choices.