¿La mejor manera de acelerar el acceso a los datos a dos almacenes de datos?

9

Me estoy embarcando en un proyecto de inteligencia empresarial que requerirá abstraer el acceso a dos almacenes de datos existentes. Necesito diseñar una arquitectura de aplicación para permitir que la inteligencia de negocios de autoservicio una los datos y proporcione una vista única sobre los dos almacenes existentes. Se me ocurrió algo como esto:

ingrese la descripción de la imagen aquí

Estoy luchando con la pieza de virtualización / almacenamiento en caché y me pregunto si hay algún patrón de diseño empresarial para resolver mi problema. ¿Una arquitectura como esta funcionaría para abstraer esquemas de estrellas en almacenes de datos? Estoy viendo productos como Red Hat JBoss Data Virtualization y Red Hat JBoss Data Grid (entre otros).

Actualmente no estamos utilizando Hibernate y mi comprensión de Data Grids es que son almacenes de valores clave o almacenes de objetos y, por lo tanto, no son adecuados para almacenar en caché un modelo relacional. También debo mencionar que estamos interesados ​​en usar productos de proveedores para la parte del Panel de autoservicio, pero podemos terminar haciendo una construcción personalizada en esta área si los proveedores no pueden ofrecernos todo lo que queremos.

Mark Allison
fuente
2
Acabo de encontrar este libro, lo que podría ser bueno para mí amazon.com/Data-Virtualization-Business-Intelligence-Systems/dp/...
Marca Allison
2
No estoy seguro de que haya proporcionado suficiente información sobre su proyecto para asesorar sobre arquitectura.
Vladislav Rastrusny
¿Por qué los datos relacionales no se pueden almacenar en caché en un almacén de valores clave como {key: pk, value: the_rest_of_the_row}? Probablemente también desee almacenar en caché los metadatos de las tablas.
9000
2
¿Cuál es el problema con el enfoque clásico?
NoChance

Respuestas:

1

No hay una gran cantidad de detalles sobre lo que está tratando de lograr aquí, pero por lo que ha descrito, parece que podría hacer con una despensa de datos para abstraer los repositorios principales y exponer un subconjunto mínimo de datos a servicio de la aplicación.

Incluso si pudiera diseñar una capa de aplicación decente, es probable que tenga problemas de rendimiento debido a la carga en una (o ambas) bases de datos del repositorio. El beneficio del enfoque de mercado es que el DB con el que habla la aplicación es altamente eficiente. Las actualizaciones se llevan a cabo en las bases de datos del repositorio detrás de escena y se envían a través de cualquier base que considere conveniente.

Un beneficio adicional que también solo debe tener en cuenta un proveedor de base de datos en su capa de aplicación.

Robbie Dee
fuente