Client-Side Database Logic for Scalable Distributed Queries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face challenges with server redeployment and client entity performance degradation due to centralized logic, complexity in management, and lack of fine-grained control over queries, leading to inefficiencies and performance issues.
Innovation Solution
A distributed data storage system with a thin, high-performance database server and client-side logic implementation, utilizing a database logic compiler (DBLC) to compile data schemes and enable optimizations, allowing dynamic shard ID assignment and flexible query execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all database logic (indexing, querying, schema enforcement) is centralized on the server, then the server can provide comprehensive database operations, but the server becomes heavy and complex requiring frequent redeployment
Solution Approach 1:
The patent extracts database logic from the centralized server and places it in client-side database entities. Each entity contains its own logic for indexing, querying, and schema enforcement, eliminating the need for a heavy monolithic server while maintaining comprehensive database operations at the client level.
Solution Approach 2:
The patent segments the database system into independent client-side entities, each handling its own data and logic. This segmentation distributes the computational burden from a single server to multiple client entities, reducing server complexity while preserving full database functionality.
2Ease of operation
If client entities are thin with minimal logic, then the server can maintain all database operations, but client entities cannot control queries or update entries independently
Solution Approach 1:
The patent enables client entities to be self-sufficient by embedding database logic directly within each entity. Each entity can independently control its queries, update its own entries, and manage its indexing without requiring server intervention, achieving fine-grained control while keeping client logic manageable through code generation.
3Adaptability or versatility
If new features are added to the server, then the database functionality is enhanced, but the server must be redeployed and clients may need updates
Solution Approach 1:
The patent uses code generation to pre-compile database logic into client entities during development. When new features are needed, the logic is generated and distributed to clients without requiring server redeployment, eliminating downtime and update coordination issues.
4Ease of manufacture
If multiple client entities use the same code path, then the system is simple to implement, but performance deteriorates with substantial numbers of clients
Solution Approach 1:
The patent generates customized code for each client entity based on its specific data model and requirements. This allows each entity to have optimized logic tailored to its needs rather than using a generic code path, improving performance while maintaining ease of implementation through automated code generation.
Data Source
AI summary
A distributed data storage system is provided. The system comprises: a database server adapted to store key values associated with a plurality of data types; and a plurality of client platforms, each adapted to store data of at least one data type and to store indexing information, and wherein each of the plurality of client platforms is configured to implement compilation of its respective data scheme by a database logic compiler (DBLC) into an object relational mapping (ORM), to enable obtaining a static part of that respective client platform.
