Database Node Hierarchy Traversal via Local Memory Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for navigating through hierarchies of nodes in databases, especially in NoSQL databases and those distributed across multiple servers, are inefficient due to the lack of support for stored procedures and increased complexity in large distributed systems.
Innovation Solution
The method involves storing contiguous subsections of nodes in separate pages and loading these pages into local memory, allowing for efficient traversal of nodes by accessing them directly from local memory rather than repeatedly accessing the database server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If stored procedures are used to navigate through nodes in a database, then the efficiency of traversing paths is improved, but this approach is unavailable or impractical for non-relational databases and distributed systems
Solution Approach 1:
The patent creates a copy of the node hierarchy in memory by loading pages containing node subsections into local memory. This allows the system to traverse nodes efficiently without requiring stored procedures, working around the limitation of non-relational and distributed databases while maintaining high traversal productivity.
Solution Approach 2:
The patent divides the node hierarchy into separate pages, each containing contiguous subsections of nodes. This segmentation allows selective loading of only the necessary pages into local memory, enabling efficient traversal in distributed systems where the entire database cannot be loaded into memory.
2Device complexity
If separate accesses to the server are made for each node in the path, then database simplicity is maintained, but delays increase and computing resources are consumed
Solution Approach 1:
The patent performs preliminary action by loading pages containing node subsections into local memory before traversal begins. This pre-loading eliminates the need for sequential server accesses during traversal, significantly reducing traversal time while maintaining simple database structure.
Solution Approach 2:
The patent introduces local memory as an intermediary between the database server and the node traversal process. By caching node data in local memory, the system reduces direct server accesses and network communication overhead, thereby reducing traversal time without complicating the database structure.
3Speed
If the entire node hierarchy is loaded into memory, then traversal speed is improved, but memory requirements increase significantly
Solution Approach 1:
The patent segments the node hierarchy into discrete pages, each containing a manageable subsection of nodes. This allows the system to load only the necessary pages into local memory during traversal, achieving fast traversal speed while controlling memory consumption to handle large hierarchies.
Solution Approach 2:
The patent applies partial action by loading only the necessary pages into local memory rather than the entire hierarchy. This selective loading approach provides sufficient speed improvement for traversal while avoiding excessive memory consumption that would result from loading all nodes.
Data Source
AI summary
The disclosed computer-implemented method for navigating through a hierarchy of nodes stored in a database may include (1) receiving a request to access a database that stores a set of nodes organized in a hierarchy, wherein the hierarchy is divided into contiguous subsections and each subsection is stored in a separate page and (2) in response to the request, traversing a path through the hierarchy of nodes by (a) identifying an initial node in the path and looking up an initial page that contains the initial node, (b) loading the page from the database into local memory, the page including the initial node in the path and one or more subsequent nodes in the path, and (c) navigating to the one or more subsequent nodes in the path by accessing the page loaded into local memory instead of accessing the database. Additional methods, systems, and computer-readable media are also disclosed.


