Las
opciones de hardware que considera cuando diseña y construye un data warehouse
afectará directamente al rendimiento que el data warehouse proporciona. Por lo
tanto, es muy importante identificar el hardware adecuado en una etapa temprana
en el proceso de diseño. Sin embargo, las cargas de trabajo del data warehouse
difieren significativamente de las cargas de trabajo de los sistemas transaccionales,
y no siempre es obvio que el mejor enfoque de diseño de hardware, podría serlo
para cualquier situación dada.
Se
describe las características de las cargas de trabajo data warehouse típicas, y
se explica cómo se puede utilizar arquitecturas de referencia y los appliances de
data warehouse para asegurarse de que construye el sistema adecuado para su
organización.
Para
construir un data warehouse que cumpla con los requisitos de su organización,
es importante que comprenda las características de las cargas de trabajo data
warehouse típicas, cómo afecta el hardware al rendimiento del data warehouse, y
qué opciones tiene disponibles para implementar una solución data warehouse.
Las Cargas de Trabajo del Data Warehouse
Un
data warehouse puede contener millones de filas de datos, y aumentará en tamaño
con cada carga de datos. Una consulta data warehouse típica implica
seleccionar, resumir, agrupar y filtrar filas para retornar un rango de datos
que podría consistir en un gran subconjunto de filas de la base de datos. Por
ejemplo, un analista de negocios podría emitir una consulta que retorne un
resumen de las ventas para un producto en particular entre dos fechas
definidas. Dependiendo de las fechas que el analista elija, la consulta podría
requerir que Microsoft SQL Server acceda a cientos de miles o incluso millones
de filas. Esto es muy diferente a la forma en que una base de datos de procesamiento
transaccional en línea (OLTP) es utilizada generalmente. Con bases de datos
OLTP, la mayoría de las actividades implica la adición de nuevas filas, y la
actualización o eliminación de filas existentes. Los usuarios usualmente trabajan
con datos en las bases de datos OLTP, de unas pocas filas a la vez; por lo
tanto, los administradores deben optimizar la base de datos para la
recuperación de un pequeño número de filas, como de la creación de índices nonclustered.
Las
diferentes características de las consultas data warehouse requieren un enfoque
diferente para la configuración de hardware y software que para las bases de
datos OLTP. En general, debe optimizar los data warehouses para la actividad de
entrada/salida (E/S) de disco secuencial, que consiste en leer filas del disco
en el orden en que se solicitan. Por ejemplo, si la mayoría de consultas
solicitan datos para rangos de fechas, entonces puede almacenar los datos en
orden cronológico, lo que permite que la fecha sea leída desde el disco como
una secuencia. También debe tener los siguientes puntos en mente cuando
considera las cargas de trabajo data warehouse.
- Las consultas típicamente escanean un gran número de filas. El escaneo en lugar de la búsqueda para recuperar filas es más eficiente cuando está implicado un gran número de filas, particularmente cuando las filas se almacenan secuencialmente en el disco. Por ejemplo, en una tabla de hechos que almacena las filas ordenadas por fecha, es posible procesar consultas por rangos de fecha por acceder a los datos secuencialmente.
- Los data warehouses contienen datos relativamente estáticos. El contenido de un data warehouse normalmente permanece estático entre cada carga masiva de datos, ya que los usuarios rara vez realizan operaciones de actualización o eliminación. En consecuencia, la fragmentación de la base de datos es minimizada y los datos permanecen en el mismo orden secuencial en el disco, lo que mejora el rendimiento del escaneado.
- Los índices nonclustered pueden disminuir el rendimiento. Aunque los índices nonclustered pueden acelerar las consultas que retornan un pequeño número de filas, para consultas que retornan conjuntos de datos grandes los índices nunclustered pueden reducir los tiempos de respuesta, debido a las exploraciones de E/S aleatorias derivadas de su uso. Además, los índices nunclustered requieren mantenimiento y deben ser reconstruidos cada vez que se cargan los datos, que agrega considerable sobrecarga de gestión y procesamiento, y que puede ser problemático cuando se tienen ventanas de procesamiento muy estrechas disponibles.
- El particionado puede mejorar los tiempos de respuesta de las consultas. El particionado permite un procesamiento más rápido de los datos, ya que reduce la contención y puede reducir el número de filas incluidas en una exploración de tabla. El uso de particiones también simplifica la gestión de conjuntos de datos en la data warehouse y ayuda a minimizar la fragmentación.
Arquitectura del Sistema Data Warehouse
Mientras
que puede instalar el software de base de datos en prácticamente cualquier
hardware de computadora y usarlo como un data warehouse; obtendrá resultados óptimos
y eficientes utilizando una arquitectura de sistema que esté optimizada para
cargas de trabajo data warehouse.
La
elección de los componentes adecuados para su data warehouse no es sólo acerca
de comprar la solución de almacenamiento más rápida o de más memoria posible.
Para construir una solución data warehouse efectiva, debe balancear estos
componentes juntos, para que un solo componente no se convierta en un cuello de
botella en el sistema y ralentice el rendimiento global. Además, debe balancear
la especificación de hardware para su data warehouse sobre el coste de los
componentes. La sobre especificación de la configuración de hardware para su data
warehouse puede resultar en hardware costosos, infrautilizados que excede los
requerimientos para la carga de trabajo de su data warehouse.
Software
Las
datas warehouses SQL Server se deberían basar en la edición Datacenter o
Enterprise de Windows Server y SQL Server 2012 (o 2014) Enterprise Edition.
Estas ediciones de software permiten a su sistema data warehouse aprovechar al
máximo los recursos del hardware, como memoria y almacenamiento, así como las
capacidades de nivel empresarial tales como el clustering de servidores de alta
disponibilidad.
Dependiendo
del hardware de servidor y de almacenamiento específico utilizado, también
puede beneficiarse del software de gestión específico del vendor de hardware
para ayudar a configurar, supervisar y operar el hardware del data warehouse.
Hardware de Servidor
Un
data warehouse requiere un hardware de servidor adecuado para gestionar su
carga de trabajo. En la mayoría de los escenarios de la empresa, una data
warehouse se implementa como uno o más nodos de servidor en un rack, e incluye
los siguientes recursos de hardware:
- Procesadores. El número de núcleos de procesador y la velocidad del procesador pueden ser factores limitantes donde la capacidad de procesamiento total no es lo suficientemente grande como para manejar el rendimiento de los otros componentes en el sistema. Sin embargo, la adición de más o más rápidos procesadores sólo mejorará el rendimiento si los otros componentes del sistema pueden pasar datos desde y hacia los procesadores a velocidades lo suficientemente rápidos.
- Memoria. La memoria ayuda al rendimiento de varias maneras, por ejemplo, al permitir que las consultas de SQL Server sean respondidas desde la caché, o por habilitar las operaciones joins y sort para que sean realizadas más eficientemente. Cuando no hay suficiente memoria presente, las operaciones join y sort pueden utilizar el espacio de disco, lo que reduce la capacidad de disco disponible y provoca la fragmentación.
Mientras
que es posible alojar una data warehouse en el disco duro interno en un
servidor de base de datos; en escenarios empresariales es más común utilizar un
subsistema de almacenamiento dedicado que incluye:
Arreglos de disco. Cada enclosure en un sistema data warehouse contiene varios discos duros, generalmente configurados como arreglos RAID 10. El número y la velocidad de los discos en un arreglo de almacenamiento puede afectar al rendimiento del data warehouse. Puede elegir entre una serie de factores de forma de disco dependiendo de sus requerimientos de capacidad de almacenamiento, tamaño físico y el rendimiento de lectura/escritura. Algunos factores de forma de disco a considerar incluyen:
- Serial Attached SCSI (SAS) – unidades de discos magnéticos en factores de forma grande (LFF) o factor de forma pequeña (SFF). Los discos SAS ofrecen grandes capacidades de almacenamiento y suficiente rendimiento de lectura/escritura para las cargas de trabajo del data warehouse.
- Unidad de estado sólido (SSD) - un dispositivo de almacenamiento que utiliza memoria de estado sólido en lugar de un disco giratorio. La falta de piezas móviles hace a las SSDs robustas y reduce el tiempo de acceso al leer los datos; incrementando el rendimiento general. Además, los SSDs típicamente suelen requerir menos energía que los discos mecánicos. Sin embargo, el coste por gigabyte de los SSDs es normalmente mayor que el de los discos SAS.
Networking
Cuando
implementa networking para un sistema data warehouse, debe considerar dos
conexiones de red.
- Conectividad de almacenamiento. El servidor data warehouse esta típicamente conectado al subsistema de almacenamiento a través de una conexión de red. En la mayoría de los sistemas data warehouse empresariales, un conmutador de canal de fibra es utilizada para proporcionar conectividad de alta velocidad entre un adaptador de bus de host (HBA) sobre el servidor y los enclosures de almacenamiento.
- Conectividad de red externa. Además de la conexión interna entre el servidor data warehouse y su subsistema de almacenamiento, debe considerar cómo conectará el data warehouse a una red externa para que las aplicaciones de cliente puedan conectar y utilizar el data warehouse. El tipo de conectividad de red utilizado para el acceso del cliente al data warehouse depende de la topología de red de sus organizaciones de redes de área local (LAN), pero debe usar una tecnología de red que proporcione el ancho de banda y el rendimiento adecuado para los volúmenes de datos que serán cargadas en el data warehouse por el proceso de extracción, de transformación y de carga (ETL), y recuperadas por las aplicaciones del cliente.
Para
construir una data warehouse que cumpla con las demandas de reportes y análisis
de datos de su organización requiere una planificación cuidadosa. Un data
warehouse no es simplemente una versión modificada de una base de datos
transaccional. Las consideraciones de diseño para los data warehouses son muy
diferentes a las de los sistemas OLTP. Cuando decide cómo abordar la
construcción de un data warehouse, debe tener en cuenta varios factores,
incluyendo el presupuesto disponible, la fecha de entrega prevista para la
solución completa, y si su organización tiene personas que tienen las
habilidades adecuadas y la experiencia para diseñar y construir un data
warehouse.
Solución Hecha a Medida
Las
soluciones hechas a medida generalmente toman la mayor cantidad de tiempo para
completarse. También requieren de la organización para diseñar, evaluar,
ensamblar y probar todo en las instalaciones. Por lo tanto, la organización
debe tener personas empleadas con las habilidades necesarias, o contratarlas.
Aunque el costo aparente de una solución hecha a medida podría ser menor que
para las soluciones de arquitectura de referencia o las basadas en appliances,
los tiempos de desarrollo prolongados y la contratación de personas
cualificadas pueden aumentar significativamente estos costos. Por otra parte,
existe el riesgo de que a pesar de la planificación y las pruebas que realice,
un sistema de construcción propia podría no ser capaz de satisfacer las
demandas que se plantearon. Esto es particularmente un riesgo cuando los
individuos involucrados tienen experiencia limitada con las implementaciones data
warehouse y conocimientos limitados de la arquitectura data warehouse.
Arquitecturas de Referencia
El
propósito de las arquitecturas de referencia data warehouse es minimizar el riesgo
de fracaso, reducir los costos y acelerar el tiempo de entrega de la solución.
Una arquitectura de referencia es esencialmente un blueprint que le permite
crear un data warehouse basado en un diseño probado y verificado, reduciendo el
tiempo de diseño y el nivel de conocimiento y experiencia que una organización
requiere. Microsoft Fast Track Data Warehouse es un conjunto de arquitecturas
de referencia que están basadas en la plataforma SQL Server. Las arquitecturas
de referencia Fast Track utilizan una gama de configuraciones de hardware
dedicado, que están diseñados para adaptarse a muchas necesidades diferentes,
permitiendo a las empresas a tener su data warehouse en ejecución rápidamente y
de manera rentable.
1 comentarios:
Un tercer post sobre DWH, espero sea de utilidad.
Publicar un comentario