Peer-Based Distributed Database Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed database systems face challenges in enhancing scalability and reliability, particularly in supporting multitenancy, where data replication and peer management can lead to inefficiencies and interference between client workloads.
Innovation Solution
A distributed database system that dynamically manages peer capacity and utilization by identifying and selecting a set of peers associated with each client, allowing direct connections and load balancing to ensure efficient data access and storage, while emulating a single-tenant environment for clients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is replicated between multiple servers in a distributed database system, then reliability is improved, but interference between client workloads increases
Solution Approach 1:
The system segments the distributed database into multiple independent peer groups, where each peer group serves a specific client. This segmentation isolates workloads from different clients, preventing interference while maintaining data replication within each peer group for reliability.
Solution Approach 2:
Each peer is configured with local quality characteristics by assigning specific clients to specific peer groups. This allows each peer to optimize its behavior and data replication strategy for its assigned client, reducing cross-client interference while maintaining reliability through replication within the peer group.
2Productivity
If multiple clients access the same distributed database system, then scalability is improved, but peer utilization efficiency decreases
Solution Approach 1:
Peers are designed with multi-functionality to serve multiple purposes: they can serve as primary peers for one client while simultaneously acting as secondary peers for other clients. This universal design improves peer utilization efficiency by ensuring that peers remain active and useful across different client operations, reducing resource waste while supporting system scalability.
3Stability of the object's composition
If a master-slave architecture is used, then data consistency is improved, but system scalability is limited
Solution Approach 1:
The system segments the database into multiple independent peer groups, each with its own primary-secondary relationships. This segmentation allows each segment to maintain data consistency through its own master-slave dynamics while the overall system achieves scalability by distributing these segmented peer groups across multiple servers without requiring a single centralized master.
4Loss of energy
If peers serve multiple clients, then resource utilization is improved, but multitenancy support becomes complex
Solution Approach 1:
The system applies local quality by configuring each peer with specific client assignments - each peer knows which clients it serves as a primary or secondary peer. This localized configuration simplifies multitenancy management by giving each peer a clear, specific role rather than requiring complex global coordination for multi-client support, while still achieving high resource utilization through peers serving multiple clients in defined roles.
Data Source
AI summary
A distributed database management system comprises a plurality of peers and maintains data on behalf of a plurality of clients. Upon receiving a request to access data, the distributed database management system identifies, from among the plurality of peers, a set of peers associated with the client issuing the request. The distributed database management system provides, to the client, a list of the set of identified peers. Access to data maintained by the distributed database system is based, at least in part, on connections between the client and the set of identified peers.


