NoSQL Proxy Caching and Index Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing NoSQL data center architecture faces bottlenecks such as connection scatter-gather, limited operating data set, data serialization and deserialization overhead, secondary index conversion, management of compression and encryption protocols, and inefficient scaling, which hinder efficient deployment and performance in handling millions of transactions.
Innovation Solution
A NoSQL proxy is introduced between application servers and NoSQL data servers, equipped with a packet processor, proxy finite state machine, hybrid memory management, and data access command processing units to manage data access, translate indexes, and handle data formats, enabling efficient scaling and high throughput by caching data, reducing network connections, and optimizing data access operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If application servers directly connect to NoSQL data servers, then data access is straightforward, but connection management becomes complex and scaling is limited
Solution Approach 1:
A proxy server is introduced as an intermediary between application servers and NoSQL data servers. The proxy manages connections, caching, and data access operations, allowing application servers to interact with the proxy using simple key-value operations while the proxy handles the complexity of connecting to and managing multiple NoSQL data servers.
2Speed
If all data is kept in NoSQL data servers, then data storage capacity is sufficient, but data access latency increases due to network trips
Solution Approach 1:
The proxy server performs preliminary actions by caching frequently accessed data locally in memory before it is needed by application servers. When data is accessed, the proxy first checks its local cache, retrieving data from memory rather than requiring a network trip to the NoSQL data server, thus reducing access latency.
3Ease of operation
If NoSQL data servers handle all data format conversions, then data access is simple for applications, but processing overhead increases
Solution Approach 1:
The patent extracts the data format conversion function from the NoSQL data server and places it in the proxy server. The proxy converts application data formats (e.g., JSON) to the internal format used by NoSQL data servers (e.g., BSON), allowing applications to interact using simple formats while the proxy handles the conversion overhead, improving overall system throughput.
4Speed
If secondary indexes are converted to primary indexes at the NoSQL server, then data retrieval is efficient, but index conversion overhead reduces throughput
Solution Approach 1:
The proxy server performs preliminary index conversion by converting secondary indexes to primary indexes before forwarding data access commands to the NoSQL data server. This preliminary action allows the NoSQL server to retrieve data efficiently using primary indexes while the proxy handles the conversion overhead, thereby improving overall transaction throughput.
Data Source
AI summary
A database proxy includes a computing device and a hardware-accelerated database proxy module. The computing device includes one or more processors, memory, a first bus interface, and a network interface coupling the database proxy to one or more networks. The database proxy module includes a second bus interface coupled to the first bus interface via one or more buses, and a request processor. The database proxy is configured to receive a database read request from a client via the one or more networks and the network interface; forward the database read request to the request processor using the one or more buses; process, using the request processor, the database read request; and return results of the database read request to the client. In some embodiments, the computing device or the database proxy module further includes a flash memory interface for accessing one or more flash memory devices.


