Find Jobs
Hire Freelancers

In-memory Result set caching - Java, Java Spring

$10-200 USD

Terminado
Publicado hace más de 6 años

$10-200 USD

Pagado a la entrega
We are working on reporting tool. the purpose of the tool is simply visualising the data from underlying database. Although the basic functionality work; the challenges we face is when the query is executed multiple times it's slows down the performance. (Please find attachment for the high level architecture) What we plan to achieve is below 1. A Query executed from frontend reporting layer; the query will be bring the results from underlying database (postgresql) 2. The query results should be cached in memory layer (should be a open source technology) 3. When the same query is executed again the data should be fetched from result set cache rather than getting data from database 4. If the underlying data changed in database than result set should purge and new data should be fetched from database and cached in-memory; meaning the data in cache should be consistant with database 5. Should be able to filter from query results. 6. The cached results should never exceed the memory. 7. There should be a time out for every cached query so that we can clear the cache periodically. 8. We need to have an option to either cache the query or not 9. Any suggestions or improvements are welcome; We don't prefer REDIS or Other commercial software for Caching. Usecase how it should: 1. USER1 runs the query for the first time from Application Layer (example select * from emp; (100 records)) 2. Application layer checks in caching layer if the query data exist; if not than goes to database and cache the data in caching layer and results sent to Application layer 3. USER2 runs a query (select * from emp where dept_no=10) returns 15 records This query should get the data from the cache rather than database : FILTERING 4. Database updates with new inserts now we have 18 records for dept 10 5. User3 runs the same query the data should be fetched from database replace the old cache with new caching data. 6. Once the data is in Cache any user running the same query should get data from Cache rather than database unless the underlying database records changes.
ID del proyecto: 15841068

Información sobre el proyecto

5 propuestas
Proyecto remoto
Activo hace 6 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
As the work involves some benchmarking and learning a new DB. It takes more time and effort than what I thought initialy. So, I'm updating the bid to $170.
$170 USD en 7 días
0,0 (0 comentarios)
0,0
0,0
5 freelancers están ofertando un promedio de $189 USD por este trabajo
Avatar del usuario
Hi, Thanks for giving detail requirement, it's pretty clear. I suggest to use in memory database such as hsqldb or mysql (using in memory table) for caching purpose. Things to do in this project : - Reconcile module, this module has responsibility to sync data. It will compare two data like you mentioned and ensure those data are sync. - Data Manager module, this module has responsibility to ensure the caching database is not full. Need detail scenario for this module. - Data Access module, this module has responsibility to serve query request. Please feel free to discuss more detail. Thank you. Best Regards, Dhian Wicaksana Putra
$200 USD en 21 días
5,0 (2 comentarios)
2,7
2,7
Avatar del usuario
A proposal has not yet been provided
$166 USD en 5 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
A proposal has not yet been provided
$188 USD en 7 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
We can look into the problem first and then provide the solution. I have almost 13 years of experience in design/develop java based services and we mostly deploy in Aws. We can have in memory data storage in java Map object for faster data returns or have Redis cluster for distributed caching.I’m not sure why Redis is not a requirement in this project but I’ll recommend it. If you don’t want to use Redis, then we have to manage all caching features by ourself in code and it may increase complexity and future maintenance. Let me know if you want to discuss further.
$222 USD en 5 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED KINGDOM
London, United Kingdom
5,0
10
Forma de pago verificada
Miembro desde may 31, 2017

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.