jueves, 15 de marzo de 2007

Evolucón de la Base de Datos


Justificación

Este trabajo surge por iniciativa del Ing. Yhonny Paniagua, y se convierte ahora en una herramienta más para aquellas personas que desean conocer más acerca de la historia y evolución de las Bases de Datos.

Introducción

Las bases de datos se han constituido como una de las herramientas más ampliamente difundidas en la actual sociedad de la información, utilizadas como fuentes secundarias en cuanto recuperación y almacenamiento de información en todos los campos ha nivel científico, social, económico, político y cultural. A partir de este trabajo queremos llegar a presentar una panorámica histórica de las bases de datos sistematizadas y su evolución a través de las décadas, las cuales han sido utilizadas especialmente como fuentes de consulta y de producción de conocimiento por investigadores, científicos y académicos de todas las áreas, que han encontrado en estas, una herramienta importante para el desarrollo del conocimiento. De esta manera la Ciencia de la Información, ha desarrollado una producción científica importante a nivel mundial, la cual ha utilizado las bases de datos, como repositorio de almacenamiento y difusión de información. Por lo anterior haremos un énfasis en mostrar una vista histórica de las bases de datos y los principales distribuidores en nuestra área del saber, de tal manera que sirva como referente de consulta de estudiantes, profesores e interesados en el tema, que conozcan en contexto y el desarrollo de estás fuentes, para concienciar acerca de las herramientas que se encuentran disponibles para el uso y aportes que podemos hacer en nuestra área del saber.

Definición de base de datos

Una base de datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su uso posterior. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.

Breve historia de los sistemas de bases de datos

El uso de sistemas de bases de datos automatizadas, se desarrollo a partir de la necesidad de almacenar grandes cantidades de datos, para su posterior consulta, producidas por las nuevas industrias que creaban gran cantidad de información.
Herman Hollerit (1860-1929) fue denominado el primer ingeniero estadístico de la historia, ya que invento una computadora llamada “Máquina Automática Perforadora de Tarjetas”. Para hacer el censo de Estados Unidos en 1880 se tardaron 7 años para obtener resultados, pero Herman Hollerit en 1884 creo la máquina perforadora, con la cual, en el censo de 1890 dio resultados en 2 años y medio, donde se podía obtener datos importantes como número de nacimientos, población infantil y número de familias. La máquina usó sistemas mecánicos para procesar la información de las tarjetas y para tabular los resultados.

A diferencia con la maquina de Babbage, que utilizaba unas tarjetas similares, estas se centraban en dar instrucciones a la máquina. En el invento de Herman Hollerit, cada perforación en las tarjetas representaba un número y cada dos perforaciones una letra, cada tarjeta tenia capacidad para 80 variables. La máquina estaba compuesta por una perforadora automática y una lectora, la cual por medio de un sistema eléctrico leía los orificios de las tarjetas, esta tenía unas agujas que buscaban los orificios y al tocar el plano inferior de mercurio enviaba por medio del contacto eléctrico los datos a la unidad.

Década de 1950

En este lapso de tiempo se da origen a las cintas magnéticas, las cuales sirvieron para suplir las necesidades de información de las nuevas industrias. Por medio de este mecanismo se empezó a automatizar la información de las nóminas, como por ejemplo el aumento de salario. Consistía en leer una cinta o más y pasar los datos a otra, y también se podían pasar desde las tarjetas perforadas. Simulando un sistema de Backup, que consiste en hacer una copia de seguridad o copia de respaldo, para guardar en un medio extraíble la información importante. La nueva cinta a la que se transfiere la información pasa a ser una cinta maestra. Estas cintas solo se podían leer secuencial y ordenadamente.

Década de 1960

El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. No era necesario saber exactamente donde estaban los datos en los discos, ya que en milisegundos era recuperable la información. A diferencia de las cintas magnéticas, ya no era necesaria la secuencialidad, y este tipo de soporte empieza a ser ambiguo.
Los discos dieron inicio a las Bases de Datos, de red y jerárquicas, pues los programadores con su habilidad de manipulación de estructuras junto con las ventajas de los discos era posible guardar estructuras de datos como listas y árboles.

Década de 1970

Edgar Frank Codd (23 de agosto de 1923 – 18 de abril de 2003), en un artículo "Un modelo relacional de datos para grandes bancos de datos compartidos" ("A Relational Model of Data for Large Shared Data Banks") en 1970, definió el modelo relacional y publicó una serie de reglas para la evaluación de administradores de sistemas de datos relacionales y así nacieron las bases de datos relacionales.
A partir de los aportes de Codd el multimillonario Larry Ellison desarrollo la base de datos Oracle, el cual es un sistema de administración de base de datos, que se destaca por sus transacciones, estabilidad, escalabilidad y multiplataforma.

Inicialmente no se uso el modelo relacional debido a que tenía inconvenientes por el rendimiento, ya que no podían ser competitivas con las bases de datos jerárquicas y de red. Ésta tendencia cambio por un proyecto de IBM el cual desarrolló técnicas para la construcción de un sistema de bases de datos relacionales eficientes, llamado System R.

Década de 1980

Las bases de datos relacionales con su sistema de tablas, filas y columnas, pudieron competir con las bases de datos jerárquicas y de red, ya que su nivel de programación era bajo y su uso muy sencillo.
En esta década el modelo relacional ha conseguido posicionarse del mercado de las bases de datos. Y también en este tiempo se iniciaron grandes investigaciones paralelas y distribuidas, como las bases de datos orientadas a objetos.

Principios década de los 90

Para la toma de decisiones se crea el lenguaje SQL, que es un lenguaje programado para consultas. El programa de alto nivel SQL es un lenguaje de consulta estructurado que analiza grandes cantidades de información el cual permite especificar diversos tipos de operaciones frente a la misma información, a diferencia de las bases de datos de los 80 que eran diseñadas para las aplicaciones de procesamiento de transacciones. Los grandes distribuidores de bases de datos incursionaron con la venta de bases de datos orientada a objetos.

Finales de la década de los 90

El boom de esta década fue la aparición de la WWW “Word Wide Web” ya que por éste medio se facilitaba la consulta de las bases de datos. Actualmente tienen una amplia capacidad de almacenamiento de información, también una de las ventajas es el servicio de siete días a la semana las veinticuatro horas del día, sin interrupciones a menos que haya planificaciones de mantenimiento de las plataformas o el software.

Siglo XXI

En la actualidad existe gran cantidad de alternativas en línea que permiten hacer búsquedas orientadas a necesidades especificas de los usuarios, una de las tendencias más amplias son las bases de datos que cumplan con el protocolo Open Archives Initiative – Protocol for Metadata Harvesting (OAI-PMH) los cuales permiten el almacenamiento de gran cantidad de artículos que permiten una mayor visibilidad y acceso en el ámbito científico y general.

Cuatro generaciones han manejado datos de computación: Sistema de Administración de Archivos, Sistemas de administración de Bases de Datos Jerárquicos, Sistemas de Administración de Bases de Datos por Relación, Sistemas de Administración Orientada a Objetos de Bases de Datos. Al principio los lenguajes y las instrucciones de ´máquina eren similares, lo que producía un modelo de programación orientada a procesos. En un principio los programas ejecutaban las tareas y nunca las escribían en un dispositivo de almacenamiento. Sin embargo, los programadores se dieron cuenta del valor de registrar los resultados. La grabación aumentó con la aparición del almacenamiento en discos magnéticos rotatorios.

Sistemas de Archivos

Con el tiempo la mayoría de los programas utilizaron este nuevo tipo de almacenamiento en disco. Pero los datos en el medio rotatorio eran difíciles de organizar y administrar. Entonces se crearon paquetes de programas para facilitar el manejo en disco, así nacieron los sistemas de administración de archivos.

Aunque estos primeros sistemas de archivos ayudaban al programador, los métodos para el acceso a datos todavía eran primitivos. El acceso aleatorio requería que la aplicación conociese la colocación física de los datos en el disco. El cálculo de esta única dirección requería algoritmos de dispersión (hashing). El desarrollo de un algoritmo de dispersión con una buena distribución uniforme resultó ser un recurso muy importante, en particular, si las diferentes unidades de disco necesitaban varios algoritmos. Esto impulsó la creación de la primera ayuda principal independientemente de la implantación: el archivo indexado. En lugar de solicitarle a una aplicación que proporcionara la localización exacta de una parte de los datos registrados, sólo se requería una clave simbólica. De este modo el sistema de archivos mejorado por la indexación era necesario para calcular y asignar la localización física de los datos. Entre los sistemas más utilizados estaban el ISAM (Siglas en inglés: método de acceso secuencial indexado) y el VSAM (Siglas en inglés: método de acceso secuencial virtual) que se ejecutaban en las primeras microcomputadoras (mainframe) de IBM.

Los primeros SABD

La demanda de una mayor capacidad de aplicaciones en computación seguía en aumento y los investigadores se dieron cuenta que incluso los sistemas de archivos indexados eran instrumentos rústicos. Las aplicaciones para procesamiento de pedidos tendían a imponer un modelo jerárquico en sus datos, que corresponde a la naturaleza jerárquica de un pedido con varios elementos de línea y a los productos descritos mediante estructuras de ensamble jerárquico. Estas presiones impulsaron la creación de los primeros sistemas construidos sobre sistemas de archivos, conocidos como sistemas de administración de las bases de datos (SABD). El SABD jerárquico más conocido era IMS (Siglas en inglés: sistema de administración de la información).

Los SABD se basaban en un modelo de datos independiente de cualquier aplicación particular. Esto permitió a los diseñadores de aplicaciones disponer de más tiempo para concentrarse en la arquitectura de su aplicación. El diseño de datos se convirtió en la actividad más importante, lo que provocó un cambio fundamental en el paradigma hacia un modelo de desarrollo orientado por datos. Esto llevó al desarrollo de grupos de aplicaciones relacionados entre sí en los sistemas empresariales, ejecutándose todos bajo un SABD común. A partir de este fenómeno surgieron otras necesidades, como disponer de varias aplicaciones que interactuaran simultáneamente con el SABD y crear aplicaciones de utilerías independientes para el manejo del SABD. Así nacieron los conceptos de control de concurrencia y la mayoría de las actividades conocidas como la administración de la base de datos: respaldo, recuperación, distribución de recursos, seguridad, etc.

Al crecer los sistemas construidos con base en los SABD, también crecieron los problemas, centrados en la reorganización y la navegación. La reorganización era el mayor de los problemas, el modelo conceptual y la implantación física estaban tan íntimamente asociados. Las relaciones jerárquicas y orientadas por los conjuntos se implantaban por lo general al colocar la dirección física de un registro en otro. Durante la reorganización era usual que las grandes bases de datos no estuviesen disponibles durante varios días.

El segundo problema, la navegación, se refiere a la forma en que las aplicaciones están restringidas por el SABD. Cualquier cambio o extensión del modelo invalidaba a muchas aplicaciones y la recopilación no podía resolver el problema. La aplicación debía volverse a escribirse para adecuarla al nuevo modelo.

Las actividades de mantenimiento comenzaron a dominar al nuevo desarrollo y el tiempo necesario para idear nuevas aplicaciones se volvió prohibitivo. Los sistemas actuaban como dinosaurios luchando en pantanos de alquitrán, cada movimiento los hundía más, hasta que desaparecían.

Las bases de datos por relación

Las BDR tenían algunas características importantes que resolvían muchos de los problemas mencionados. El modelo por relación no se basaba en el paradigma particular para la estructuración de los datos, sino en ciertos fundamentos matemáticos. El modelo resultante podía expresar una expresión no redundante de los datos y en conjunto de operadores fijos a partir de los cuales se podían obtener de manera formal. El modelo por relación se podía representar mediante una estructura tabular sencilla y ofrecía un útil formato visual para el despliegue de la información contenida en la base de datos.

Todo el proceso pasaba a un nivel mayor al centrarse las cuestiones importantes en los principios centrales del modelo empresarial. Las BDR representaban los primeros sistemas que proporcionaban una interfaz de aplicación en la cual, se eliminaban del proceso los aspectos de la implantación. Se había logrado uno de los objetivos principales de la tecnología de las bases de datos: Los datos eran independientes del proceso.

Este modelo define tres tipos de datos: la tabla (relación), la hilera (n-ada o n-uplo) y la columna (atributo). El modelo especifica tres modelos de las tablas: seleccionar, proyectar y unir. Proyectar especifica un subconjunto de las columnas definidas en una tabla. Regresa una nueva tabla que contiene todas las hileras originales junto con aquellas que corresponden a los valores de la columna especificados por la proyección. El operador unir combina dos tablas para producir una tabla única. Esta tabla representa el producto cartesiano de todas las tablas que conforman la unión. Así, un operador booleano compara una columna de la tabla original y el resultado de la unión es una nueva tabla que contiene aquellas hileras para las que el operador booleano regresa el valor de verdadero.

Otra razón más la constituyen los modernos ambientes de desarrollo de aplicaciones originados por la BDR, sobre todo para los lenguajes de cuarta generación, estos se caracterizan por un lenguaje con operadores de una base de datos ya integrados y tal vez el formato de informe. Esto simplifica el proceso de desarrollo de aplicaciones y reduce el tiempo necesario para terminar una nueva aplicación.

Base de datos activas

La base de datos por relación clásica era pasiva. Solo almacenaba datos de manera independiente a los procesos. El concepto de base de datos activa fue evolucionando hasta una parte que realizara ciertas acciones de manera automática cuando se intentase leer o actualizar los datos. El sistema de administración cambió de modo que aplicara controles de seguridad, controles de integridad o cálculos automáticos. Esto se hizo en Sibase, y era de utilidad paras una base de datos en un sistema de cliente-despachador, donde los clientes eran desconocidos.

Base con conocimiento

El mundo de la inteligencia artificial produjo otra forma de base de datos activa. Se deseaba que almacenara conocimiento. El conocimiento se consideraba activo, mientras que los datos eran pasivos. Este poderoso concepto se aplicó exitosamente a ciertos problemas altamente complejos.

Base de datos orientada a objetos

Las bases de datos orientadas a objetos surgieron en un principio para soportar la programación orientada a objetos. Los programadores de Smalltalk y C++ necesitaban almacenar datos persistentes, datos que permanecen después de terminado un proceso. Las BDOO se volvieron importantes para ciertos tipos de aplicaciones con datos complejos: CAD (Diseño apoyado por computadora) y CAE (Ingeniería apoyada por computadora). También para el manejo de los BLOB (Objetos binarios de gran tamaño: imágenes, sonido, video y texto sin formato).

Las BDOO representan el siguiente paso en la evolución de las bases de datos, para soportar el análisis, diseño y programación OO. Las BDOO permiten el desarrollo y mantenimiento de aplicaciones complejas con un costo significativamente menor. Permiten que el mismo modelo conceptual se aplique al análisis, diseño, programación, definición y acceso a la base de datos. Esto reduce el problema del operador de traducción entre los diferentes modelos a través de todo el ciclo de vida.

Las BDOO un rendimiento mucho mejor de la máquina que las bases de datos por relación, para aplicaciones o clases con estructuras complejas de datos.

Algo de importancia es que las bases de dato OO constarán de colecciones de datos activas y no pasivas.

Data mining

Aunque desde un punto de vista académico el término data mining es una etapa dentro de un proceso mayor llamado extracción de conocimiento en bases de datos (Knowledge Discovery in Databases o KDD) en el entorno comercial, así como en este trabajo, ambos términos se usan de manera indistinta. Lo que en verdad hace el data mining es reunir las ventajas de varias áreas como la Estadística, la Inteligencia Artificial, la Computación Gráfica, las Bases de Datos y el Procesamiento Masivo, principalmente usando como materia prima las bases de datos. Una definición tradicional es la siguiente: "Un proceso no trivial de identificación válida, novedosa, potencialmente útil y entendible de patrones comprensibles que se encuentran ocultos en los datos" (Fayyad y otros, 1996). Desde nuestro punto de vista, lo definimos como "la integración de un conjunto de áreas que tienen como propósito la identificación de un conocimiento obtenido a partir de las bases de datos que aporten un sesgo hacia la toma de decisión" (Molina y otros, 2001).
La idea de data mining no es nueva. Ya desde los años sesenta los estadísticos manejaban términos como data fishing, data mining o data archaeology con la idea de encontrar correlaciones sin una hipótesis previa en bases de datos con ruido. A principios de los años ochenta, Rakesh Agrawal, Gio Wiederhold, Robert Blum y Gregory Piatetsky-Shapiro, entre otros, empezaron a consolidar los términos de data mining y KDD.[3] A finales de los años ochenta sólo existían un par de empresas dedicadas a esta tecnología; en 2002 existen más de 100 empresas en el mundo que ofrecen alrededor de 300 soluciones. Las listas de discusión sobre este tema las forman investigadores de más de ochenta países. Esta tecnología ha sido un buen punto de encuentro entre personas pertenecientes al ámbito académico y al de los negocios.El data mining es una tecnología compuesta por etapas que integra varias áreas y que no se debe confundir con un gran software. Durante el desarrollo de un proyecto de este tipo se usan diferentes aplicaciones software en cada etapa que pueden ser estadísticas, de visualización de datos o de inteligencia artificial, principalmente. Actualmente existen aplicaciones o herramientas comerciales de data mining muy poderosas que contienen un sinfín de utilerías que facilitan el desarrollo de un proyecto. Sin embargo, casi siempre acaban complementándose con otra herramienta.

¿Cómo Trabaja el Data Mining?

¿Cuán exactamente es capaz Data Mining de decirle cosas importantes que usted desconoce o que van a pasar? La técnica usada para realizar estas hazañas en Data Mining se llama Modelado. Modelado es simplemente el acto de construir un modelo en una situación donde usted conoce la respuesta y luego la aplica en otra situación de la cual desconoce la respuesta. Por ejemplo, si busca un galeón español hundido en los mares lo primero que podría hacer es investigar otros tesoros españoles que ya fueron encontrados en el pasado. Notaría que esos barcos frecuentemente fueron encontrados fuera de las costas de Bermuda y que hay ciertas características respecto de las corrientes oceánicas y ciertas rutas que probablemente tomara el capitán del barco en esa época. Usted nota esas similitudes y arma un modelo que incluye las características comunes a todos los sitios de estos tesoros hundidos. Con estos modelos en mano sale a buscar el tesoro donde el modelo indica que en el pasado hubo más probabilidad de darse una situación similar. Con un poco de esperanza, si tiene un buen modelo, probablemente encontrará el tesoro.

Este acto de construcción de un modelo es algo que la gente ha estado haciendo desde hace mucho tiempo, seguramente desde antes del auge de las computadoras y de la tecnología de Data Mining. Lo que ocurre en las computadoras, no es muy diferente de la manera en que la gente construye modelos. Las computadoras son cargadas con mucha información acerca de una variedad de situaciones donde una respuesta es conocida y luego el software de Data Mining en la computadora debe correr a través de los datos y distinguir las características de los datos que llevarán al modelo. Una vez que el modelo se construyó, puede ser usado en situaciones similares donde usted no conoce la respuesta.

Si alguien le dice que tiene un modelo que puede predecir el uso de los clientes, ¿Cómo puede saber si es realmente un buen modelo? La primera cosa que puede probar es pedirle que aplique el modelo a su base de clientes - donde usted ya conoce la respuesta. Con Data Mining, la mejor manera para realizar esto es dejando de lado ciertos datos para aislarlos del proceso de Data Mining. Una vez que el proceso está completo, los resultados pueden ser testeados contra los datos excluidos para confirmar la validez del modelo. Si el modelo funciona, las observaciones deben mantenerse para los datos excluidos.

Data warehouse

En el contexto de la Informática, un almacén de datos (del inglés data warehouse) es una colección de datos orientadas a un dominio, integrado, no volátil y varía en el tiempo que ayuda a la toma de decisiones de la empresa u organización.
Se trata, sobre todo, de un expediente de una empresa más allá de la información transaccional y operacional, almacenado en una base de datos diseñada para favorecer análisis y la divulgación eficientes de datos (especialmente OLAP). El almacenamiento de los datos no debe usarse con datos de uso actual. Los almacenes de los datos contienen a menudo grandes cantidades de información que se subdividen a veces en unidades lógicas más pequeñas, llamadas los centros comerciales, dependientes de los datos.
Generalmente, dos ideas básicas dirigen la creación de un almacén de los datos:
·Integración de los datos de bases de datos distribuidas y diferentemente estructuradas, que facilita una descripción global y un análisis comprensivo en el almacén de los datos.
·Separación de los datos usados en operaciones diarias de los datos usados en el almacén de los datos para los propósitos de la divulgación, de la ayuda en la toma de decisiones, para el análisis y para controlar.
Periódicamente, se importan los datos de sistemas del planeamiento del recurso de la empresa (ERP) y de otros sistemas de software relacionados al negocio en el almacén de los datos para la transformación posterior. Es práctica común normalizar los datos antes de combinarlos en el almacén de datos, esta fase se suele realizar con una herramienta extracción, transformación y carga (ETL). Dicha aplicación lee los datos primarios (a menudo bases de datos OLT de un negocio), realiza el proceso cualitativo o la filtración (incluyendo, si se juzga necesario, desnormalización) y escribe en el almacén.
Función de un Almacén de Datos.

Un Almacén de Datos debe entregar la información correcta a la gente indicada en el momento adecuado en el formato correcto. El Almacén de Datos da respuesta a las necesidades de usuarios conocedores, utilizando Sistemas de Soporte de Decisiones (DSS), Sistemas de información ejecutiva (EIS) o herramientas para hacer consulta o informes. Los usuarios finales fácilmente pueden hacer consultas sobre sus Almacenes de Datos sin tocar o afectar la operación del sistema.
El ambiente de un Data Warehouse queda definido por la suma de los diferentes DataMarts integrados, no sólo a nivel físico sino también a nivel lógico.

Cubos De Información (DataMarts)

Un DataMart es una vista lógica de los datos en bruto de sus datos provistos por el sistema de operaciones/finanzas hacia el Data warehouse con la adición de nuevas dimensiones o información calculada. Se les llama DataMart, porque representan un conjunto de datos relacionados con un tema en particular como Ventas, Operaciones, Recursos Humanos, etc., y están a disposición de los "clientes" a quienes les pueden interesar. Esta información puede accesarse por el Ejecutivo (Dueño) mediante "Tablas Dinámicas" de MS-Excel o programas personalizados. Las Tablas Dinámicas le permiten manipular las vistas (cruces, filtrados, organización) de la información con mucha facilidad. Los cubos de información (DataMarts) se producen con mucha rapidez. A ellos se les aplican las reglas de seguridad de acceso necesarias La información estratégica está clasificada en: Dimensiones y Variables. El análisis está basado en las dimensiones y por lo tanto es llamado: Análisis multidimensional. Llevando estos conceptos a un DW: Un Data Warehouse es una colección de datos que está formada por Dimensiones y Variables, entendiendo como Dimensiones a aquellos elementos que participan en el análisis y Variables a los valores que se desean analizar.

Dimensiones

Son atributos relativos a las variables. Son las perspectivas de análisis de las variables. (Forman parte de la Dimensión Table – Tabla de Dimensiones)

Variables

También llamadas “indicadores de gestión”, son los datos que están siendo analizados. Forman parte de la Fact Table (Tabla de Hecho.) Más formalmente, las variables representan algún aspecto cuantificable o medible de los objetos o eventos a analizar. Normalmente, las variables son representadas por valores detallados y numéricos para cada instancia del objeto o evento medido. En forma contraria, las dimensiones son atributos relativos a las variables, y son utilizadas para ordenar, agrupar o abreviar los valores de las mismas. Las dimensiones poseen una granularidad menor, tomando como valores un conjunto de elementos menor que el de las variables.

Conclusión

Nuestra capacidad para almacenar datos ha crecido en los últimos años a velocidades exponenciales. En contrapartida, nuestra capacidad para procesarlos y utilizarlos no ha ido a la par. Por este motivo es que surgen nuevas técnicas y tecnologías, como lo son el data mining y el data Warehouse.

Fuente: Análisis y Estructuras de Bases de Datos
James Martin - James J. Odell