Willie Wheeler describing the challenges of a configuration management database:
My experience has been that the data persistence layer is the one that’s most challenging to change. Besides the actual schema changes, we have to write data migration scripts, we have to make corresponding changes to our integration test data scripts, we have to make sure Hibernate’s eager- and lazy-loading are doing the right things, sometimes we have to change the domain object APIs and associated Hibernate queries, etc. Certainly doable, but there’s generally a good deal of planning, discussion and testing involved.
Then the benefits of using Neo4j and Spring Data for building it:
- There are many entities and relationships.
- We need schema agility to experiment with different CMDB approaches.
- We need schema agility to accommodate continuing innovations in infrastructure.
- We need schema flexibility to accommodate the needs of different organizations.
- But we still need structure.
- A schemaless backend makes zero-downtime deployments easier.
- We want to support intuitive querying.
Solving the same problem, Puppet is using CouchDB for configuration management.
Original title and link: Neo4j and Spring Data for Configuration Management Database ( ©myNoSQL)