Horizontal contra la administración del almacenamiento de datos verticales

La mayoría de los administradores de bases de datos relacionales se han construido en un gestor de almacenamiento horizontal, que sitúa a todos los datos en una base de datos por fila (o registro) cuando se produce una transacción. Una tabla de base de datos se representa como una cadena de páginas de bases de datos que contienen una o más filas de datos.

Un gestor de almacenamiento horizontal proporciona soporte rápido procesamiento de transacciones en línea (OLTP), ya que la mayoría de las transacciones se realizan en un formato de registro - por ejemplo, la inserción de una entrada general libro de contabilidad o escribir un cheque. Sin embargo, cuando un usuario solicita un registro, la página de la base de datos que contiene los datos a menudo se trasladó a la memoria, que para aplicaciones de inteligencia de negocios es altamente ineficiente.

Varios productos de base de datos de especialidad han surgido en los años diseñados para ayudar y optimizar las aplicaciones de consulta centrada, como la inteligencia de negocios. Estos productos le permiten desarrollar más fácilmente los almacenes de datos interactivos. El objetivo de estas bases de datos de columna sabio es para aumentar la velocidad de las consultas de soporte de decisiones realizadas contra grandes cantidades de datos.

Cuando se pregunta a los administradores de bases de datos si alguna vez colocar un índice en una columna que contiene el código de una persona zona, el promedio de calificaciones de un estudiante, o el total de transacciones de los clientes, ellos responden con un rotundo, " n "! Suelen dar esta respuesta firme por razones basadas en la tecnología, tales como:

  • Nos índice basado sólo en caminos estándar, bien conocidos (como el nombre) a causa de la sobrecarga de los índices.

  • los cardinalidad, u ocurrencia única de datos, obligaría a la base de datos para llevar a cabo una mesa de exploración de todos modos.

Sin embargo, cuando se pregunta a los usuarios la información que necesitan para cumplir con sus responsabilidades de trabajo, responden a este tipo de requisitos:

  • Ver el número de personas por el código de área en mi territorio para que pueda gestionar más eficazmente mis promociones.

  • Identificar a los alumnos mejor clasificados en la clase de graduación, así que puedo arreglar las entrevistas correspondientes.

  • Averiguar qué clientes hacer negocios con mi empresa y gastar entre $ 100.000 y $ 500.000 al año.

Cada uno de estos tres requisitos caracteriza a una petición de usuario diferente, pero todos ellos realizan funciones similares: Son consultas de apoyo orientadas a las decisiones. Una necesidad de acceder a los datos maneja los requerimientos de información de los usuarios, pero los patrones de acceso de los usuarios no son compatibles con la mayoría de las estrategias de indexación RDBMS. En resumen, la tecnología RDBMS se interpone en el camino del éxito de las aplicaciones.

Una tabla de base de datos se representa como una cadena de páginas de bases de datos que contienen una o más filas de datos, como se muestra en esta figura. Un gestor de almacenamiento horizontal proporciona soporte rápido procesamiento de transacciones en línea (OLTP), ya que la mayoría de las transacciones se realizan en un formato de registro.

imagen0.jpg

Estas bases de datos relacionales ayudan actividad consulta utilizando índices. Los índices se construyen en la parte superior de las filas para simplificar y acelerar la recuperación de datos en los caminos comunes, como se muestra en la figura.

Soluciones de almacenamiento de datos, tales como inteligencia de negocios, no utilizan muchas de estas técnicas de indexación, ya que han sido diseñados para ayudar a las aplicaciones OLTP en la frecuente necesidad de encontrar y actualizar filas individuales dentro de las tablas de bases de datos.

Para apoyar adecuadamente consultas de los usuarios típicos que se encuentran en la inteligencia de negocios, se requieren otras técnicas de almacenamiento e indexación. Proveedores como Sybase y Vertica han construido los administradores de almacenamiento verticales. En lugar de almacenar los datos por fila, estos productos almacenan los datos por columnas - de ahí el nombre gestor de almacenamiento vertical o almacenamiento por columnas.

Este método de almacenamiento resuelve con eficacia el problema de las consultas del usuario en contra de grandes conjuntos de datos, ya que un usuario busca a menudo sólo unas pocas columnas, en comparación con el gran número de columnas gestionados en una fila por un gestor de almacenamiento horizontal. Con los datos almacenados como una serie de cambios de página, con cada página que contiene datos de la columna, el tiempo de procesamiento de consultas se reduce por un factor de 500 o más a 1.

Además, estos productos son compatibles con otras optimizaciones que ayudan en la velocidad de procesamiento de la consulta, incluyendo la compresión de datos, las operaciones de consulta paralelos, y múltiples técnicas de indexación por columna. El desafío en la implementación de estas tecnologías implica la estandarización. Por lo tanto, muchos departamentos de gestión de datos se niegan a aplicar esas tecnologías porque esas tecnologías requieren el trabajo de apoyo adicional.




» » » » Horizontal contra la administración del almacenamiento de datos verticales