My problem:
I need to implement a cache that stores RDBMS (I'm using Microsoft SQL Server) tables to the In-Memory of the caching server.
What RDBMS tables provides:
It allows me to query tables with any columns and returns the filtered records alone.
What I tried:
I implemented a Redis Caching server(used Python Programming Language) and stored the data of the RDBMS tables as below:
Syntax:
{table-name}:{primary-key}:{$attribute_name/column-name} = $value
Row-1:
employee:1:first_name = "John"
employee:1:last_name = "Doe"
employee:1:address = "New York"
Row-2:
employee:2:first_name = "Benjamin"
employee:2:last_name = "Button"
employee:2:address = "Chicago"
Row-3:
employee:3:first_name = "Mycroft"
employee:3:last_name = "Holmes"
employee:3:address = "London"
My question:
Is it a best idea to implement Redis (or) anyother key/value store to use it caching RDBMS with querying ?
My main concern is, I need to query the data and return the results from the caching server (which gets complicated in key/value store to query the data)
Kindly suggest whether it is feasible to perform the key/value pair. It is general discussion.
My Main Concern is:
I need to Query Data with WHERE, GROUP BY, ORDER BY, JOINS, AGGREGATE FUNCTIONS where some of them are not found in Redis I hope.
Kindly suggest me that there is any other ORM for (Redis Cache)/ any other caching technique for storing & retrieving RDBMS table records.
I tried with SQLite DB as cache and it works. But, I'm looking for more optimized caching technique to retrieve records faster.
Cache size required is : 50 GB (with all the tables).
Kindly suggest if SQLite is feasible for my scenario or any other caching technique we could go for, in this scenario.