Content Identifier Management for Database-Repository Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content management systems face inconsistencies between transactional databases and non-transactional data repositories, leading to resource inefficiencies and increased costs due to unreferenced content and storage waste.
Innovation Solution
A method is introduced that generates a set of content identifiers with an expiration time, associating them with metadata in a transactional database and content in a non-transactional repository, and uses a back-out procedure to remove unused identifiers and unreferenced content, ensuring consistency by deleting content not associated with metadata.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the content management system maintains consistency between metadata and content, then data integrity is improved, but resource efficiency deteriorates due to computationally expensive operations and multiple-phase persistence
Solution Approach 1:
The system generates content identifiers in advance and stores them in the transactional database before content is actually persisted to the non-transactional repository. This preliminary action ensures that metadata records exist beforehand, allowing the system to track and manage content references efficiently without requiring complex consistency checks during persistence operations.
Solution Approach 2:
The system implements a feedback mechanism where the transactional database maintains records of content identifiers and their association status. By continuously monitoring and updating the state of content references, the system can identify unreferenced content and trigger automatic deletion, ensuring consistency while optimizing resource usage based on actual reference patterns.
2Productivity
If the content management system accepts inconsistency between metadata and content, then resource efficiency is improved, but storage waste increases due to unreferenced content remaining in the repository
Solution Approach 1:
The system uses feedback from the transactional database to monitor content reference status. When content identifiers are generated and stored in metadata but the corresponding content is not persisted to the non-transactional repository, the system detects this inconsistency and automatically deletes the unreferenced content, preventing storage waste while maintaining resource efficiency.
Solution Approach 2:
The system implements a mechanism to discard unreferenced content from the non-transactional repository when it detects that content identifiers exist in the transactional database without corresponding content. This selective discarding recovers storage space that would otherwise be wasted on orphaned content while maintaining system efficiency.
3Reliability
If the content management system performs multiple-phase persistence operations, then consistency is improved, but device complexity increases due to additional managers and logging mechanisms
Solution Approach 1:
The system performs the preliminary action of generating and storing content identifiers in the transactional database before content persistence operations. This simplifies the overall system architecture by establishing a clear reference mechanism upfront, reducing the need for complex multi-phase persistence coordination and additional management layers.
Data Source
AI summary
The present disclosure relates to maintaining consistency in a content management system. A content management system generally includes a transactional database for storing content metadata and a non-transactional data repository for storing content. According to one embodiment, a content management system generates a set of content identifiers. The content management system receives a request to upload content to the content management system. Upon receiving the request, the content management system associates the content with a content identifier from the set of content identifiers and generates a name for the content from the content identifier. The content management system stores the content, with the generated name, in a non-transactional data repository and persists metadata related to the content in a transactional data store.


