![]() |
Creado por marko Delgado
hace casi 9 años
|
|
Marco Antonio Gama Delgado Características y tipos de bases de datos Durante las décadas de los 60 y 70 surge el concepto de las bases de datos; sin embargo, el objetivo principal siempre ha sido la administración óptima de la información y el uso que se le puede dar a la misma. Hoy, las necesidades de las empresas han cambiado y la necesidad de interactuar con diversas fuentes de información ha desafiado a las bases de datos. Lo anterior ha provocado que los volúmenes de información sean mayores, su formato muy diverso lo que incrementa así los tiempos de respuesta para analizar la información y tomar decisiones. 0 Comentarios: Jorge Daniel Anguiano Morales, Consultor Certificado IM DB2 para LUW, IBM México 30-06-2014 Tabla de contenidos Desarrolle y despliegue su próxima app en Bluemix, la plataforma cloud de IBM. Comience suprueba gratuita Existe mucha información acerca de las bases de datos, por lo tanto el objetivo de este artículo no es hacerlo un experto en el tema sino solo ser una guía de los conceptos que se manejan actualmente, conocer brevemente las características de las bases de datos y las soluciones que existen hoy en día. ¿Qué es una base de datos? De una manera simple, es un contenedor que permite almacenar la información de forma ordenada con diferentes propósitos y usos. Por ejemplo, en una base de datos se puede almacenar información de diferentes departamentos (Ventas, Recursos Humanos, Inventarios, entre otros). El almacenamiento de la información por sí sola no tiene un valor, pero si combinamos o relacionamos la información con diferentes departamentos nos puede dar valor. Por ejemplo, combinar la información de las ventas del mes de junio del 2014 para el producto ‘X’ en la zona norte nos da un indicativo del comportamiento de las ventas en un periodo de tiempo. Volver arriba Tipos de bases de datos Existen muchas empresas con diferentes giros y dependiendo del giro será el tipo de procesamiento que se le dará a la información, esto determinará el tipo de base de datos a utilizar. Existen diferentes tipos de bases de datos pero las más comunes son las OLTP y OLAP. Las bases de datos de tipo OLTP (On Line Transaction Processing) también son llamadas bases de datos dinámicas lo que significa que la información se modifica en tiempo real, es decir, se insertan, se eliminan, se modifican y se consultan datos en línea durante la operación del sistema. Un ejemplo es el sistema de un supermercado donde se van registrando cada uno de los artículos que el cliente está comprando y a su vez el sistema va actualizando el Inventario. Figura 1. Las bases de datos de tipo OLAP (On Line Analytical Processing) también son llamadas bases de datos estáticas lo que significa que la información en tiempo real no es afectada, es decir, no se insertan, no se eliminan y tampoco se modifican datos; solo se realizan consultas sobre los datos ya existentes para el análisis y toma de decisiones. Este tipo de bases de datos son implementadas en Business Intelligence para mejorar el desempeño de las consultas con grandes volúmenes de información. Figura 2. La necesidad de implementar un tipo u otro dependerá del giro y necesidades de cada empresa. Es muy importante identificar el tipo de base de datos que se requiere antes de implementar un manejador de base de datos. Por ejemplo podemos citar al manejador de base de datos “DB2 10.5 with BLU Acceleration”, la cual proporciona una solución para la parte transaccional y para la parte de analíticos. http://www-01.ibm.com/software/data/db2/linux-unix-windows/db2-blu-acceleration/ Volver arriba Tipo de información que se puede almacenar Cuando surgen las bases de datos el tipo de información que se podía almacenar era de tipo estructurada. La información es almacenada en un objeto llamado “Tabla” la cual nos permite organizar la información. Por ejemplo, la tabla de “Empleados” contiene información relacionada al #Empleado, Nombre, Apellido, #Seguro Social, etc. Cada uno de estos elementos en una base de datos recibe el nombre de “Campo” y el conjunto de estos elementos recibe el nombre de “Registro” (También llamado Columna y Renglón, Hilera o Fila). Figura 3. Los tipos de datos que se pueden almacenar son diversos, pero los más comunes son de tipo Numérico, Decimales y tipo Texto. Conforme han evolucionado las bases de datos se han expandido los tipos de datos que pueden almacenar. Por mencionar algunos tipos están los CLOB (Character Large Object) y BLOB (Binary Large Object). Los CLOB son utilizados para almacenar documentos y los BLOB para almacenar una imagen o video. Otro tipo de dato relevante hoy en día es el tipo de dato XML. Este es un tipo de dato jerárquico porque parte de un nodo inicial o raíz, y a su vez puede tener ‘n’ niveles y subniveles. Muchos manejadores de bases de datos puede manipular este tipo de dato; sin embargo, no de forma nativa como lo hace DB2, es decir, el documento es almacenado como un CLOB. La desventaja de almacenarlo como un CLOB implica dividir el documento y guardarlo en diferentes áreas (como si fuera un rompecabezas), y para consultarlo se debe armar para mostrar su información (lo cual implica problemas de desempeño). Una ventaja competitiva que tiene DB2 es que los documentos XML se almacenan de forma nativa, es decir, el documento se almacena dentro de la base de datos, lo que permite consultar la información de forma directa y con mucho mejor desempeño. Incluso se pueden crear índices a nivel documento XML para consultar un nodo en específico, y así acceder más rápido a la información. Otra ventaja es la compresión de documento XML lo cual incrementa el ahorro en almacenamiento. Figura 4. Existen otras bases de datos que permiten almacenar diferentes tipos de documento, como por ejemplo: Cloudant, el cual se vera más adelante. Con la evolución en las tecnologías de la información y las nuevas necesidades en el manejo de la información nace el concepto Big Data. Existen diferentes definiciones, pero la más sencilla es el manejo de grandes volúmenes de información que vienen de diferentes fuentes de datos (Estructurados, No estructurados, XML, HTML, etc.) de una manera rápida sin afectar la disponibilidad de la información y operación de los sistemas. Las consultas hechas en Big Data ayudan al análisis y a la toma de decisiones. http://www.ibm.com/developerworks/ssa/local/im/que-es-big-data/ Otra de las ventajas competitivas que tiene las bases de datos como DB2 e Informix es que permite hacer la explotación de la información que viene de diferentes fuentes permitiendo así la integración con otros sistemas y lenguajes que utilizan sentencias SQL y NoSQL. https://www.ibm.com/developerworks/ssa/library/bd-datos-sql-y-nosql-en-db2/ Volver arriba Información a través del tiempo Cuando se crea una base de datos y se inicia su operación el volumen de la información es mínima y el desempeño de la aplicación y base de datos es óptima. Sin embargo conforme pasa el tiempo el volumen de información incrementa y en consecuencia surgen los siguientes problemas: Problemas de espacio en disco. Incrementos de costo en almacenamiento y procesamiento. Problemas de desempeño en las consultas. Fallas en el aplicativo afectando la disponibilidad de los datos. Problemas con la base de datos y la pérdida de información. De los problemas anteriores surge la necesidad de hacer mejoras a las bases de datos y/o crear arquitecturas para dar soluciones a los problemas anteriores. Se han implementado varias soluciones a nivel Software y Hardware. Uno de los principales problemas a solucionar es la disponibilidad y la pérdida de la información. En DB2 existen dos soluciones, la primera evita perder la información en caso de desastres, contingencia, etc. y la segunda evita que la disponibilidad de la información se vea afectada, es decir, la información estará disponible 24x7 (En todo momento). Estas soluciones son: HADR (High Availability and Disaster Recovery) – Alta disponibilidad PureScale – Disponibilidad continua Volver arriba ¿Qué es HADR? Sus siglas en inglés significan High Availability Disaster Recovery. Es una característica de replicación de datos que brinda una solución de Alta Disponibilidad cuando surge una falla parcial o total en uno de los servidores principales. Es una solución que soporta un Servidor como Primario y hasta tres Servidores como Secundarios. Si el servidor primario falla, uno de los servidores secundarios tomará el control y pasará a ser ahora el servidor primario. La replicación de la información se hace a través de los archivos log de transacciones. Ventajas Minimiza el impacto de interrupciones planeada y no planeadas. Permite la actualización del software sin interrumpir la operación. Para el aplicativo es transparente, no se requiere modificar la aplicación. No se requiere Hardware especializado. Fácil administración y configuración. Figura 5. Volver arriba ¿Qué es PureScale? Es una arquitectura basada en Clúster. Un Clúster es un conjunto de varios ordenadores unidos por una red de alta velocidad, de tal forma que es visto como un solo computador más potente. Es una característica de DB2 que reduce el riesgo y los costos del crecimiento del negocio al proporcionar capacidad extrema, disponibilidad continua y transparente para el aplicativo. Capacidad extrema significa que puede crecer su sistema como sea necesario. Ventajas Evitar riesgos y costos en cambios a la aplicación. Diseñado para sistemas que requieren de disponibilidad continua (24x7). Si uno o varios miembros fallan la transacción y operación del sistema continua. Utiliza la misma arquitectura del indiscutible estándar de Oro, los Sistemas Z. Agregar o quitar miembros de una manera fácil. No se requiere tunear la infraestructura de la base de datos. Balanceo automático de cargas de trabajo. Construido y disponible en Power Systems y servidores System x. El núcleo del sistema es una arquitectura de disco compartido. Figura 6. La implementación de HADR o PureScale dependerá de las necesidades y capacidades de cada empresa. Otras soluciones han sido implementadas a nivel base de datos para hacer frente a los problemas de performance. DB2 ofrece una gran variedad de alternativas para hacer frente a los problemas de performance. DPF (Database Partition Feature). Particionamiento de bases de datos. Table Partitioning. Particionamiento de tablas. MDC (Multi-Dimension Clustering). Convertir tablas en múltiples dimensiones. Para tener un mejor entendimiento del tema de particionamiento se hace la analogía de la frase “divide y vencerás”. Es el mismo principio utilizado en estas características de DB2. Una de las ventajas de estas características es que se hace un aprovechamiento del poder de múltiples procesadores en múltiples nodos físicos. Los datos que son consultados o modificados son descompuestos automáticamente y ejecutados en cada una de las particiones. El uso de esta característica es transparente para el usuario que ejecuta sentencias SQL. Ventajas Menores Entradas/Salidas a disco. Se centra en un subconjunto de datos. Porciones pequeñas dividida en más procesadores. Disponibilidad de datos más rápido. Mejor administración. Mantenimiento fácil para pequeñas porciones de datos. Volver arriba ¿Qué es DPF (Data Partitioning Feature)? Es una característica de DB2, la cual permite hacer el particionamiento de base de datos. Con esta característica se mejora el desempeño y la escalabilidad de grandes bases de datos. Cuando existen grandes volúmenes de información en una base de datos, esta es una de las soluciones a implementar. Cada partición de base de datos tiene su propio conjunto de recursos informáticos incluyendo CPU, Memoria y unidades de almacenamiento. En un ambiente DPF los registros de cada tabla son distribuidos en las diferentes particiones (DB2 utiliza un algoritmo para determinar en qué partición deberá estar la información). DPF es una característica de escalabilidad. Figura 7. DPF acepta diferentes configuraciones: Discos compartidos. Discos dedicados. Permite el uso de particiones lógicas y físicas. Los comandos para la administración de la base de datos son ejecutados en cada una de las particiones de forma automática y transparente. Es transparente para el aplicativo. Figura 8. Volver arriba ¿Qué es Table Partitioning? Es el mismo concepto que DPF solo que esto aplica para tablas dentro de una base de datos, es decir, es el particionamiento de los datos de una tabla en un subconjunto de datos. En la mayoría de los casos las bases de datos conservan información de muchos años atrás (históricos) lo que provoca que al ejecutar consultas sobre esa tabla el desempeño se vea afectado y el consumo de los recursos sea mucho mayor. Por ejemplo, si se ejecuta una consulta sobre un millón de registros tardará más que si se realiza sobre 100,000 registros. Supongamos que tenemos la tabla de Ventas la cual contiene 10 millones de registros correspondiente a las ventas de 10 años (2004, 2005...2014). Si consultamos información del año 2005 probablemente el tiempo de espera para mostrar la información será alto. En cambio si se hace un particionamiento de las ventas por año, al consultar la información del año 2005 el manejador de la base de datos solo consultará sobre un millón de registros y no sobre los 10 millones de registros. Dicho de otra manera el motor de la base de datos consultará solo la partición donde se encentran las ventas del año 2005. Figura 9. Ventajas Incrementa el desempeño de las consultas. Mejor optimización para los costos de almacenamiento. Rápida creación y/o eliminación de particionamiento de datos. No afecta la disponibilidad de los datos al agregar o quitar particiones. Incrementa el tamaño de las tablas. Las tablas están limitadas en almacenar un monto máximo de datos, utilizando Table Partitioning podemos incrementar el tamaño de la tabla mediante el uso de diferentes particiones. Volver arriba ¿Qué es MDC (Multi-Dimension Clustering)? Proporciona un método elegante para permitir que los datos de una tabla puedan ser agrupados físicamente en varias dimensiones simultáneamente de una manera flexible y automática. Esto puede mejorar mucho el desempeño de las consultas. Ventajas Reduce el gasto de mantenimiento en los datos tales como reorganizaciones y mantenimiento de índices durante la creación, eliminación y actualización de datos. Pensado inicialmente para Data Warehouse y bases de datos con grandes volúmenes de información, pero también puede ser utilizado en bases de datos de tipo OLTP. En ambientes Data Warehouse normalmente las consultas se hacen sobre grandes volúmenes de información lo que conlleva a tener problemas en los tiempos de respuesta. Las consultas que se realizan siempre van relacionadas con fechas, cálculos, productos, regiones, tipos, áreas geográficas, etc. Por ejemplo, si nuestras consultas de Ventas siempre son por “Fecha”, “Tipo de producto” y “Forma de pago” entonces podemos hacer el uso de MDC para la tabla de Ventas para poder tener un mejor desempeño durante las consultas. Cuando nosotros realicemos una consulta filtrando por “Fecha del producto” el manejador de la base de datos utilizará solo una dimensión (un segmento de datos). Si en nuestra consulta utilizamos los filtros por “Fecha de venta” y “Tipo de producto” entonces el manejador de la base de datos utilizará dos dimensiones (dos Segmentos de datos) y así sucesivamente. Similar a DPF el motor de la base de datos consultará segmentos específicos de datos incrementando el desempeño en las consultas. Figura 10. Es importante mencionar que podemos hacer una combinación de todas estas características para enfrentar a los problemas que nos enfrentamos cuando hacemos consultas sobre grandes volúmenes de información. Hoy en día ya existen otras optimizaciones que se han hecho al motor de DB2, el cual se podrá ver más adelante. El segundo punto importante son los problemas comunes a los que se enfrentan las bases de datos y las empresas, el incremento de los volúmenes de información. Del lado de las bases de datos implica problemas de desempeño al hacer consultas sobre grandes volúmenes de información y del lado de la compañía implica incrementos en los costos de almacenamiento. De aquí surge la necesidad de implementar nuevos mecanismos para reducir los tiempos y costos, y es aquí donde surge el tema de la compresión de datos. Volver arriba ¿Qué es la Compresión de datos? Es básicamente la reducción del volumen de información utilizando la menor cantidad posible de espacio. Hay muchas técnicas y algoritmos que se han implementando en las bases de datos, sin embargo una ventaja competitiva de DB2 es que adicionalmente incluye la compresión de los distintos tipos de objetos. Compresión de registros. Compresión de tablas. Compresión de Índices. Compresión de tablas temporales. Compresión de objetos e imágenes. Compresión de documentos XML. Compresión de Log de transacciones. Compresión de backup. En este tema se ha avanzado mucho pero DB2 tiene el liderazgo. Ahora con el nuevo concepto de bases de datos en memoria y con almacenamiento por columnas se puede lograr mayores tasas de compresión, mejores a las que ya se venían obteniendo en versiones previas. http://www.ibm.com/developerworks/ssa/data/library/DB2BLU/ Ventajas Reduce los costos de almacenamiento. Incrementa el performance en las consultas. Reduce la Entrada/Salida al disco. Reducción de costos de energía. Trabajar con datos en memoria y con datos comprimidos. En la siguiente figura se muestra un ejemplo de cómo se realiza la compresión con base a patrones de repetición. Para la compresión de datos se utiliza un diccionario donde se almacenará un digito en hexadecimal que representará los datos que se repiten. Estos dígitos en hexadecimal reemplazarán a los datos en la tabla. Figura 11. Uno de los costos más altos y relevantes es cuando consultamos información con acceso a discos. Dependiendo de las características del disco será la velocidad con que los datos serán recuperados por la base de datos y devueltos al usuario final. Al comprimir datos se reducen las Entradas/Salidas al disco, debido a que con menos acceso al disco se obtendrán mayores volúmenes de información. Existen diferentes tipos de discos, los discos duros o también llamados discos rígidos que son discos de almacenamiento de datos no volátil que emplean un sistema de grabación magnética para almacenar datos digitales; y los discos de estado sólido conocidos como SSD (Solid State Disk) que es un dispositivo de almacenamiento de datos que puede estar construido con memoria volátil y no volátil. Estos discos son muy rápidos y consumen menos energía y la tendencia indica que en un futuro sustituirán a los discos duros. Su principal inconveniente es que son caros. Volver arriba ¿Qué es un Data Warehouse? Es un almacén de datos que es utilizado para explotar grandes volúmenes de información (entre ellos información histórica) para efectos de análisis que ayuden a la toma de decisiones en las grandes empresas. Las bases de datos orientadas a Data Warehouse no contienen datos actuales, es decir, no es una base de datos transaccional OLTP, es un tipo de base de datos OLAP. Se ha mencionado que las bases de datos tienen muchos retos y uno de ellos es que no se puede utilizar la misma base de datos para transacciones y para efectos de análisis. Esto no se puede realizar por las limitantes que se pueden tener con el Hardware, Software, Memoria, dispositivos de almacenamiento, procesadores, etc. Debido a lo anterior se debe especificar qué tipo de base de datos debemos utilizar (OLTP u OLAP). Con las nuevas necesidades y el avance tecnológico se han modificado las bases de datos y también se han creado nuevas arquitecturas de solución (DB2 10.5 with BLU Acceleration, Informix, PureData for Analytics entre otros). Las empresas cuando toman la decisión de crear un Data Warehouse deben realizar un profundo análisis de la información que desean analizar y conocer cuales serán los datos a migrar. Los datos que alimentan a un Data Warehouse pueden venir de diferentes fuentes e incluso de diferentes proveedores de bases de datos. Para hacer la integración de la información se requieren de herramientas que nos permitan hacer la concentración de la información en el Data Warehouse. Las herramientas son variadas y existen diferentes proveedores, estas son conocidas como herramientas ETL. Volver arriba ¿Qué es un ETL? Sus siglas en inglés significan Extract Transform Load. Extract es el proceso de extraer la información que puede venir de diferentes fuentes de datos o bases de datos de distintos proveedores. Por ejemplo, consolidar los presupuestos de México y Canadá, cuya información está almacenada en una base de datos Informix y MySQL respectivamente. A través de una conexión vía ODBC puede hacer la extracción de la información para concentrarla en el Data Warehouse. Transform es el proceso de transformar los datos que se están extrayendo antes de ser almacenados en el Data Warehouse. Tomando el ejemplo anterior, la transformación sería hacer los cálculos de los presupuestos de México y Canadá por año, mes y región. Por último, el Load es el proceso de la carga de los datos ya transformados hacia el Data Warehouse. En el ejemplo anterior estamos almacenando los presupuestos ya calculados de las regiones México y Canadá por año, mes y región. Figura 12. Una herramienta que ayuda en este tipo de actividades es el producto de IBM InfoSphere DataStage. http://www-03.ibm.com/software/products/en/ibminfodata/ Volver arriba ¿Qué es un Data Mart? Es simplemente un subconjunto de datos de un Data Warehouse para un área específica. En un Data Warehouse se tiene la información concentrada de una empresa y de todos los departamentos. Los Data Mart nos permiten hacer una separación de los datos para funciones específicas, usuarios específicos y áreas específicas. La información que alimenta a un Data Mart también pueden provenir de una base datos transaccional. Esta es una de las nuevas características del producto DB2 10.5 with BLU Acceleration. La administración simple de DB2 10.5 with BLU Acceleration permite generar Data Mart de una forma rápida para ser capaz de reaccionar a los requerimientos del negocio. DB2 también permite la ejecución de reportes analíticos en tiempo real para ayudar a la toma de decisiones. Figura 13. http://www-01.ibm.com/software/data/db2/linux-unix-windows/db2-blu-acceleration/ Volver arriba ¿Qué modelo de datos se utiliza en un Data Warehouse o Data Mart? El modelo de datos que se utiliza en una base de datos de tipo OLTP es un modelo relacional donde existe una relación de datos de cero a uno, de uno a uno y de uno a muchos. Para relacionar y explotar la información en un modelo relacional se requiere de la creación de índices primarios y compuestos que en un ambiente Data Warehouse no es viable por el volumen de información que se utiliza. Los bases de datos para Data Warehouse o Data Mart manejan muchos volúmenes de información y dependiendo del diseño de cada una de estas, los datos ya estarán calculados o precalculados lo que permite que los tiempos de respuestas sean mucho mejor. Uno de los modelos comúnmente utilizados es el modelo Star Schema o un esquema en estrella. Un esquema en estrella es aquel que tiene una tabla de hechos también llamada Fact Table y alrededor sus dimensiones. Las dimensiones están relacionadas a la tabla de hechos a través de una llave primaria. Este tipo de esquema es ideal para bases de datos de tipo OLAP y Data Mart por su simplicidad y la velocidad para hacer análisis. DB2 tiene muchas optimizaciones internas para hacer el uso de este tipo de esquemas. Por ejemplo ha implementado el uso del nuevo método Zigzag. Figura 14. Volver arriba Informix Warehouse Accelerator - IWA Sus siglas en inglés son Informix Warehouse Accelerator el cual es un optimizador de cargas de trabajo que permite la integración en los procesos operacionales para conducir estrategias ganadoras. Acelera las consultas con tiempos de respuestas sin precedentes. El IWA es una tecnología de vanguardia para mejorar el performance y ofrece las siguientes capacidades: Compresión extrema necesaria porque la memoria RAM es el factor limitante. Base de datos por renglón para cargas de datos transaccionales (OLTP) y por Columna para accesar a datos vía el acelerador para OLAP. Tercera generación de bases de datos en memoria. Evita la Entrada/Salida al disco debido a que la compresión permite tener los datos residentes en memoria. Frecuencia de particionamiento. Habilitado para el acceso efectivo de los datos comprimidos. Paralelismo masivo. Todos los procesadores son utilizados en las consultas. Evaluación de predicados con datos comprimidos lo que incrementa el desempeño en las consultas. Actualización automática a nivel de partición lo cual permite refrescar en los Data Mart solo los datos que han cambiado. Soporte para datos de series de tiempos. Se pueden analizar en memoria los datos que vienen de censores inteligentes, medidas, localización GPS, u otros dispositivos en tiempo real. Figura 15. Volver arriba ¿Qué son los PureSystem? Son una nueva clase de sistemas integrados expertos que están diseñados, prefabricados, configurados y optimizados para ejecutar cargas de trabajo muy complejas y especificas. Las ventajas que ofrecen este tipo de sistemas son: Construido con base a la colección de conocimientos colectivos de miles de implementaciones, mejores practicas, experiencia de socios de negocios y proveedores. Integrados por diseño. Todos los componentes de Hardware y Software están perfectamente integrados y sincronizados para las cargas de trabajo que va a ejecutar. Proporciona una perfecta sincronía entre el Hardware y Software ya que vienen previamente diseñados, integrados, configurados. Al instalarlo y conectarlo a la red usted tiene un sistema listo para operar. Se obtiene valor en cuestión de días ya que la experiencia de los expertos está incorporada junto con la integración de los sistemas. Familia de los PureSystem Existen tres familias de PureSystem los cuales están diseñados para dar solución a los problemas que enfrentan los diferentes tipos de cargas de trabajo, cambiando la economía y la experiencia de las tecnologías de la información. PureFlex: Estos sistemas proporcionan servicios de infraestructura y permiten construir su propia aplicación o entornos de infraestructura en un entorno escalable, de alta disponibilidad y fácil de mantener. Si hay solo una plataforma y desea construir cualquier aplicación independientemente de los sistemas que tenga, PureFlex es la solución. PureApplications: Esta basado en los mismos principios de PureFlex y proporciona servicios de plataforma. Se integra todo el Software y las herramientas que se necesitan para construir una plataforma de aplicaciones altamente escalable. El objetivo es ofrecer una plataforma de aplicaciones tipo Web. Si usted tiene aplicaciones Web o aplicaciones que utilizan memoria y tienen interacción con la base de datos entonces PureApplications es la solución. PureData: Por ultimo, estos sistemas son desarrollados para ofrecer servicios de datos a las aplicaciones independientemente de que se trate de aplicaciones transaccionales como punto de venta o CRM, o sistemas de análisis como perdida de clientes y/o administración de campañas. Para datos específicos, aplicaciones OLTP, aplicaciones y sistemas de análisis profundo entonces PureData es la solución. Cuando hablamos de los sistemas PureData tenemos diferentes dispositivos PureData, porque sus aplicaciones de datos, el acceso a los tipos de datos y las transacciones son muy diferentes. Y es aquí donde se ofrecen nuevos dispositivos. Figura 16. Sistemas PureData para Hadoop Este dispositivo está optimizado para almacenar, catalogar, analizar y transformar grandes volúmenes de información en muchos formatos diferentes. También se puede utilizar para mantener mayores datos relacionados que se acceden con menor frecuencia desde un Data Warehouse, por lo tanto mantiene un fácil acceso sin ocupar espacio y recursos en el Data Warehouse. Optimizado también para el analizar archivos en línea. http://www-01.ibm.com/software/data/puredata/hadoop/ Sistemas PureData para transacciones Este dispositivo está diseñado para el comercio electrónico, comercio Web transaccional. Como por ejemplo, las aplicaciones puntos de venta donde se escanea un código y a través de ese él se determina su precio. También conocido como servicios de cluster de bases de datos optimizado para el rendimiento y escalabilidad transaccional. http://www-01.ibm.com/software/data/puredata/transactions/ Sistemas PureData para analíticos Este dispositivo tiene una optimización diferente debido a que hay una interacción con la base de datos, con la memoria, y optimiza de forma diferente las cargas de trabajo para análisis y Data Warehouse. Esto es para aplicaciones como el análisis de clientes, análisis predictivo, alta velocidad de análisis en datos (petabyte) con la máxima simplicidad. Esto está desarrollado con la Tecnología de Netezza. El sistema N200x sigue ofreciendo: Mismas optimizaciones para grandes volúmenes de datos. Ninguna administración táctil. Más de 150 funciones analíticas optimizadas. Rendimiento optimizado de análisis de Big Data. Administración sencilla para un despliegue rápido y fácil. Tres veces más rápido que el modelo N1001. 50% más de capacidad de datos por rac. Esto ayuda a optimizar la eficiencia del Data Center sin incrementar la potencia o los requisitos de refrigeración. http://www-01.ibm.com/software/data/puredata/analytics/ Sistemas PureData para análisis de operaciones Este dispositivo da una solución como mezcla de la información de lo que usted tiene, lo que usted sabe y los análisis, pero usted tiene búsquedas puntuales. Por ejemplo, si usted esta buscando la detección de un fraude en tiempo real en el que está haciendo profundas exploraciones a muchos datos e identifica que puede haber problema en algunos registros, usted luego realiza una búsqueda puntual a esos registros. Está optimizado para equilibrar el alto rendimiento para el análisis de datos y optimizado para equilibrar el rendimiento operativo en tiempo real. http://www-01.ibm.com/software/data/puredata/operationalanalytics/ Cuando se tiene un número de consultas puntuales de tipo transaccional se debe inclinar hacia los sistemas PureData para Análisis de Operaciones. Si necesita consultas muy complejas de alta velocidad entonces se debe inclinar por PureData para Analíticos (Este es el sistema basado en Netezza). Volver arriba La tendencia – Bases de datos en Memoria Como hemos visto, conforme pasa el tiempo las necesidades del negocio cambian y crecen, por lo tanto se han agregado nuevas características a las bases de datos para hacer frente a los problemas de alta disponibilidad, desempeño, seguridad, ahorros en almacenamiento, etc. Uno de los recursos más costoso es el almacenamiento de la información y hoy con el nuevo concepto de Big Data la necesidad de manejar grandes volúmenes de información se ha incrementado. El acceso a disco es el acceso más lento para obtener la información. Actualmente el costo de la memoria ha disminuido y la tendencia es hacer un mejor uso de la misma porque se ha demostrado que el área principal de una base de datos para obtener un mejor desempeño es la memoria, al tener los datos en memoria, el acceso a la información se realiza de una manera más rápida. Las bases de datos cuando buscan la información en el disco para después subirla a memoria genera cuellos de botella, esto dependerá también del tipo de disco que se tenga. En la sección previa se comentó que el uso de discos de estado sólido SSD es también la tendencia, pero por el momento son muy costosos y no es una solución viable para muchas empresas. Para hacer frente al mejor uso de la memoria y entregar mejores resultados en bases de datos OLAP, en DB2 e Informix se han agregado nuevas características que permiten no solo tener los datos en memoria sino que también permite obtener mayores tasas de compresión de datos, lo cual permite manipular mayores volúmenes de información. La tendencia es tener más datos en memoria de manera comprimida, con lo anterior se reduce el acceso a disco y se incrementa el desempeño para el análisis de la información. http://www-01.ibm.com/common/ssi/cgi-bin/ssialias Volver arriba Tipos de OLAP ROLAP Sus siglas en inglés significan Relational OLAP. En ROLAP los datos son almacenados en un Star Schema con tablas de Hechos y Dimensiones. Las consultas SQL analíticas tienen un gran número de Joins, Scan y enormes cantidades de datos agregados. Por ejemplo DB2 Cube Views y Cognos Framework Manager with Relational Datasource. Figura 17. MOLAP Sus siglas en inglés significan Multidimentional OLAP. Es la descripción de un servidor OLAP que almacena el cubo completo OLAP en memoria. Normalmente las agregaciones son precalculas y almacenadas en memoria. Esto trae como resultado respuestas muy rápidas a consultas de datos y permite una alta concurrencia en ejecución de consultas. Ejemplo Cognos Power Cubes, Cognos TM1 y Essbase. Figura 18. HOLAP Sus siglas en inglés significan Hybrid OLAP. Como sus siglas lo indican es una combinación de ROLAP Y MOLAP. Combina muchas de las características de ROLAP Y MOLAP donde no existe límite del tamaño de datos como ROLAP y proporciona todas las capacidades para obtener detalles de la información, con una alta concurrencia y alto rendimiento para los datos solicitados. Si los datos solicitados están en cache no se realiza la consulta en la base de datos, de lo contrario la consulta se ejecutará en la base de datos. Ejemplos Cognos 10.1.1 DMR y Cognos Dynamic Cubes. Figura 19. Volver arriba ¿Qué es IBM BLU Acceleration for Cloud? Es una solución de Data Warehouse y Análisis en la Nube. El concepto de Nube de una manera simple son los servicios informáticos que se ofrecen a través de Internet. Una de las ventajas de estas arquitecturas es que las empresas ya no requieren de una infraestructura propia y permite a los usuarios accesar a las aplicaciones desde cualquier punto donde se encuentren. Para los programadores permite el rápido desarrollo de aplicaciones. http://bluforcloud.com/ Volver arriba ¿Qué es Cloudant? Es una base de datos de como servicio (DBaaS) la cual permite centrarse en el desarrollo rápido de aplicaciones en Internet y aplicaciones móviles en lugar de preocuparse por la expansión y gestión de la base de datos por su cuenta. Tiene alta disponibilidad, es duradera y contiene amplias funciones. El almacén de datos se construye para la escalabilidad y está optimizada para lecturas y escritura de datos simultáneas. Maneja también una amplía variedad de tipos de datos estructurados y no estructurados entre ellos JSON, textos completos y geoespacial. Figura 20. https://cloudant.com/ La base de datos Cloudant es la primera plataforma de gestión de datos para aprovechar la disponibilidad, escalabilidad, y el alcance de la Nube para crear una red de distribución global de datos (DDN) que permita a las aplicaciones estar disponibles para los usuarios donde quiera que se encuentre. Figura 21. Volver arriba ¿Qué es JSON? Sus nomenclaturas en inglés significan JavaScript Object Notation, el cual es un formato ligero para el intercambio de datos. JSON está basado en un subconjunto del lenguaje de programación JavaScript. Su simplicidad ha hecho que su uso se esté ampliando, algo similar al manejo de datos tipo XML donde es fácil de implementar, de leer y de utilizar. También es independiente del lenguaje de programación ya que muchos lenguajes tienen características para mapear con JSON. Se emplea en ambientes donde el flujo de los datos es de vital importancia como por ejemplo Google, Yahoo, etc. que atienden a millones de usuarios. JSON está soportado en DB2 10.5 e Informix 12.1 con el cual se permite guardar, consultar y actualizar documentos. Combina datos desde otros sistemas con datos tradicionales en la misma base de datos, como por ejemplo las aplicaciones Web o móviles. JSON da el poder a los programadores de reducir la dependencia de las tecnologías de la información, es decir, no se necesitan crear esquemas y tampoco tablas. Ejemplo de un simple documento: { "nombre" :"Daniel", "apellido" :"Anguiano", "edad" : "40", "direccion": { "calle" :"Prados 100", "ciudad :"Mexico", "cp" :"52034" }, "telefono" : [ { "tipo" :"celular", "numero" :"5564239823" } { "tipo" :"trabajo", "numero" :"5553706234" } ] } La importancia de JSON es que ayuda a habilitar la nueva era de aplicaciones móviles, sociales y Nube convirtiéndose así en uno de los lenguajes para la Web. Solo soporta seis tipos de valores y son: Cadena (String) Numérico Booleano Valores especiales como el valor “nulo” Objetos Arreglos No soporta estructuras de datos cíclicos, es decir, utilizar un conjunto de acciones que se pueden ejecutar una o varias veces (Para “For 1 to 10…” , Mientras “While v_cont 100…”, Repetir “Repeat … ” ). Volver arriba Internet de las cosas (IoT) Hoy, el mundo esta híper conectado con diferentes fuentes de información (redes sociales, unidades móviles, censores y todo lo que está a nuestro alrededor) lo que está provocando estar en contacto con mucha información. Todo este mundo de información hace el Internet de cosas creando nuevas oportunidades en muchas áreas. El objetivo no es almacenar grandes volúmenes de información sino actuar sobre la misma a través del análisis de una forma rápida para el aprovechamiento de la misma. El objetivo es darle valor a la información para ofrecer lo que quiere el consumidor, para identificar fraudes, optimizar reabastecimiento de inventarios, etc. El Internet esta accesible 24x7 los 365 días del año y la información está ahí como una oportunidad de hacer negocio. Este mundo de información no puede ser explotada por cualquier manejador de base de datos lo cual hace complicado el manejo y análisis de este mundo de información. Las razones son las siguientes: Los datos son generados de diferentes sistemas, con formatos complejos, diferentes fuentes y tipos de datos, estructurados, no estructurados y vienen de diferentes contextos. Son difíciles de analizar por el volumen de información, requieren más procesamiento, modelado de datos, análisis complejo de textos y correlación de datos a través de los distintos. Usted necesita ser capaz de visualizar la información para actuar sobre ella. Se requieren sofisticados algoritmos de búsqueda para tomar decisiones. Volver arriba IBM Informix – Base de datos inteligente para IoT IBM Informix es una base de datos inteligente para resolver los problemas de IoT. Sus características únicas le permiten que funcione en dispositivos periféricos y también en la Nube. En la Nube, Informix tiene la escalabilidad y el rendimiento para servir como plataforma de análisis avanzados que consolidan la información de millones de dispositivos. También tiene la capacidad de proporcionar inteligencia local: Consolidación de datos locales, análisis y toma de decisiones locales, tiene el almacenamiento en cache si es necesario, el control y la replica a la nube para copias de seguridad y recuperación. Donde quiera implementarlo obtendrá facilidad de uso, estabilidad y un conjunto de características que la convierten en la solución de base de datos “Simplemente Potente” para Internet. Figura 22. Volver arriba Conclusión El tema de bases de datos es muy amplio de explorar y difícil de seleccionar cuál es la mejor arquitectura a utilizar. Normalmente se separan las bases de datos para operaciones Transaccionales y para Analíticos. Es necesario hacer un buen análisis del tipo de operación que se va a ejecutar en la base de datos para poder elegir la arquitectura más adecuada y así realizar un buen uso de las capacidades de las bases de datos para obtener los mejores resultados. Para las compañías es difícil mantener un equilibrio entre invertir en Hardware y Software. Ya hemos visto diferentes tipos de soluciones que se adaptan a los distintos giros de empresas. La compresión de datos, el manejo de grandes volúmenes de información (Estructurados y No Estructurados), datos en memoria, lenguajes de programación que utilizan sentencias SQL y NoSQL, sistemas híbridos (Transaccionales y Analíticos), reducción de costos de almacenamiento y los tiempos mínimos de respuesta para obtener un resultado han sido los motivos para el desarrollo de nuevas arquitecturas a nivel Software y Hardware.
¿Quieres crear tus propios Apuntes gratis con GoConqr? Más información.