19 julio 2021

1.4 NUEVAS TECNOLOGÍAS Y APLICACIONES DE LOS SISTEMAS DE BASES DE DATOS


 

Las bases de datos activas (BDA) son extensiones de las bases de datos (BD), las cuales, además de tener un comportamiento pasivo (modificar ú obtener información solicitada por el usuario), reaccionan ante la presencia de uno o más eventos en la BD. El comportamiento activo de una BD puede modelarse con las reglas evento-condición-acción (reglas ECA). La mayoría de las BDA comerciales utilizan el esquema de reglas ECA y cada una de ellas proporciona al usuario una sintaxis de definición de reglas.

·         El evento (o eventos) que dispara la regla. Estos eventos pueden ser operaciones de consulta o actualización que se aplican explícitamente sobre la base de datos. También pueden ser eventos temporales (por ejemplo, que sea una determinada hora del día) u otro tipo de eventos externos (definidos por el usuario).

·         La condición que determina si la acción de la regla se debe ejecutar. Una vez que ocurre el evento disparador, se puede evaluar una condición (es opcional). Si no se especifica condición, la acción se ejecutará cuando suceda el evento. Si se especifica condición, la acción se ejecutará sólo si la condición se eval´ua a verdadero.

·         La acción a realizar puede ser una transacción sobre la base de datos o un programa externo que se ejecutará automáticamente.

·         Los eventos son sentencias SQL de manejo de datos (INSERT, DELETE, UPDATE).

·         La condición (que es opcional) es un predicado booleano expresado en SQL.

·         La acción es un secuencia de sentencias SQL, que pueden estar inmersas en un lenguaje de programación integrado en el producto que se esté utilizando (por ejemplo, PL/SQL en Oracle).

Sin embargo, el administrador de la BDA no puede llevar a cabo una simulación del comportamiento de la base de reglas ECA antes de su implementación en la BDA.Existen herramientas, tales como las redes de Petri, con las cuales puede llevarse acabo la representación de reglas ECA. Una base de reglas ECA es considerada como un sistema basado en eventos y es posible representarla con una red de Petri extendida, así como los eventos que las disparan.

En el modelo ECA una regla tiene tres componentes: (Gomez Lopez, M. C.,2021)

 

Casi todos los sistemas relacionales incorporan reglas activas simples denominadas disparadores (triggers), que están basados en el modelo ECA:

1.4.1 Base de datos orientada a objetos


Una Base de Datos Orientada a Objetos es una base de datos donde las entidades son las clases, los elementos de datos son objetos y las relaciones se mantienen por medio inclusión lógica.

Teniendo en cuenta este concepto, las base de datos orientada a objetos están diseñadas para el manejo de datos de un sistema que ha sido modelada, diseñada e implementada como un conjunto de objetos relacionados entre sí. (Gomez Lopez, M. C.,2021)


 




Una Base de Datos Espacial permite describir los objetos espaciales que la forman a través de tres características básicas: atributos, localización/ y topología. Los atributos representan características de los objetos que nos permiten saber qué es lo que son. La localización, representada por la geometría del objeto y su ubicación espacial de acuerdo a un sistema de referencia, permite saber dónde está el objeto y qué espacio ocupa. Por último, la topología definida por medio de las relaciones conceptuales y espaciales entre los objetos, permite mejorar la interpretación semántica del contexto y establecer ciertas jerarquías de elementos a través de sus relaciones.

Por otro lado, desde el punto de vista tecnológico, una Infraestructura de Datos Espaciales debe incluir datos y atributos geográficos, metadatos, métodos de búsqueda, de visualización y mecanismos para proporcionar acceso a los datos espaciales. (Gomez Lopez, M. C.,2021)

 

Computación GPU

Hace mucho tiempo, las tarjetas de video se construían para dibujar escenas elaboradas para los juegos de niños, pero ahora las llamadas unidades de procesamiento de gráficos están haciendo mucho procesamiento no gráfico. La búsqueda a través de datos es solo una de las mejores operaciones no gráficas que deben abordar. Y ¿por qué no? Abrirse paso entre las interminables pilas de datos buscando una pareja, es una operación inherentemente paralela hecha de muchos trabajos rudimentarios (probando la igualdad) repetidos millones de veces. Por lo tanto, es bastante sencillo pasar el trabajo a los miles de procesadores en el GPU.

Las mayores victorias no están en responder cada consulta (que obviamente son mucho más rápidas), sino en el trabajo de preparación, porque hay poca necesidad de pre procesamiento. Muchas bases de datos ahorran tiempo manteniendo un índice, que es efectivamente un resultado precalculado de cada búsqueda posible. Si este índice es destruido o dañado, reconstruirlo puede tardar horas, días o incluso meses. Sin embargo, si los datos pueden caber dentro de la memoria del GPU, por lo general podrá seguir sin el índice. Si los datos están cambiando rápidamente y la mayor parte del índice no se utiliza nunca, saltarse el pre procesamiento puede ser muy eficaz.

Revise MapD,Kineta, Brytlyt y otros para ver si es que sus datos y búsquedas pueden ser acelerados.

 






Memoria no volátil (NVRAM)


Los programadores novatos hace cincuenta años la tenían fácil. No tenían que hacer malabares con los datos entre la RAM y el disco con protocolos elaborados para asegurar la consistencia. Eso se debe a que la memoria en ese entonces tenía núcleo de hierro, y no se borraba cuando se apagaba la energía. Esos buenos tiempos podrían regresar pronto, porque los fabricantes de chips están discutiendo para reemplazar la RAM con NVRAM o memoria no volátil.

Este es un gran cambio de juego para los programadores de bases de datos, porque uno de sus mayores desafíos (e incluso su mayor razón para vivir) está desapareciendo. Algunos sugieren que las bases de datos pueden ser mucho más rápidas, porque la semántica de las transacciones puede ser más sencilla. Otros tienen la idea de construir el registro de recuperación después de que los datos sean escritos en los medios, no antes.

Nadie sabe qué pasará. ¿La gente seguirá una base de datos, aunque no necesiten un registro permanente o la búsqueda y la indexación los hará volver? Todos los algoritmos y arquitecturas tienen que ser repensadas. Sabremos la mejor manera de usar NVRAM en una década aproximadamente.

 



Amplíe SQL

Cuando el movimiento de NoSQL comenzó, una de las principales características era la capacidad de dispersar el almacenamiento de sus datos a través de múltiples nodos. Las bases de datos NoSQL como Cassandra y MongoDB hicieron parecer que conseguir todas las lindas características del almacenamiento de gran escala significaba abandonar el cómodo mundo de SQL.

En la realidad no necesita haber una compensación. Aunque los primeros experimentos de bases de datos de gran escala eran fáciles de crear porque dejaban atrás todo el bagaje de SQL, no hay razón por la cual éste no pueda funcionar bien en múltiples máquinas operando a gran escala. De hecho, empresas como Oracle han venido haciéndolo por años.

Las nuevas bases de datos a gran escala le permiten usar todo su conocimiento y conveniencia de SQL con un conjunto de datos distribuidos en un gran clúster. CockroachDB, por ejemplo, ofrece un motor de consulta SQL estándar que tiene acceso a los datos replicados en múltiples nodos, todos con garantías de ACID. Sí, pagará por algunos de estos apoyos para la coherencia de los datos, pero tal vez menos de lo que esperaba.

Si la coherencia garantizada es importante para su trabajo, empiece revisando CockroachDB, Google Cloud Spanner, Clustrix, Azure SQL, y NuoDB.

 





Bases de datos geoespaciales

Las bases de datos tradicionales están hechas para conjuntos de datos unidimensionales, no las dos coordenadas dimensionales de la geografía. Puede falsificarlo y usar una base de datos estándar para realizar tareas básicas con coordenadas geográficas. Si pega la latitud y longitud en columnas separadas, no es difícil buscar las filas que caen dentro de un cuadro definido por un rango de latitudes y longitudes. Sin embargo, una vez que quiera ir más allá, las consultas SQL estándar no serán efectivas.

Las bases de datos geoespaciales añaden algunas funciones adicionales que hacen que la búsqueda, clasificación e intersección sean mucho más fáciles en el espacio bidimensional. Los índices espaciales, por ejemplo, usualmente funcionan añadiendo una cuadrícula encima del espacio de coordenadas para hacer que sea mucho más rápido buscar las filas adyacentes en mundos bidimensionales y tridimensionales.

Estos índices hacen posible escribir consultas con operaciones como “contener”, “superponer”, e incluso “tocar” con conjuntos definidos por polígonos. Todo esto hace que el razonamiento sobre el mundo real sea mucho más eficiente.

Revise Neo4j Spatial, GeoMesa,  MapD, y  PostGIS en busca de algunos buenos lugares para comenzar.





Bases de datos gráficas

Las tablas son un buen repositorio para muchas estructuras de datos, pero no hacen un muy buen trabajo al momento de modelar una gran estructura de datos emergentes que ha impulsado los últimos diez años de evolución de la Internet: la red. A medida que el llamado “gráfico social” explota, estamos llenando nuestra computadora con más y más nodos con enlaces entre ellos, y las conexiones entre estos son a menudo más importantes que los datos en ellos. De hecho, almacenar y recuperar un enlace entre un par de nodos es fácil de hacer en una base de datos relacional clásica, pero las consultas más complicadas se hacen imposibles. ¿Bob está a dos o tres pasos de Chris en la red de amistad? ¿Mary está saliendo con el ex de una de sus amigas?

Las bases de datos gráficas hacen que consultas como estas sean más fáciles de ejecutar. No hay una búsqueda sin fin de tablas porque la consulta sabe cómo buscar en el barrio especificado por los enlaces. Herramientas como Neo4J, OrientDB, y  DataStax son solo algunas de las pocas opciones que pueden ser contadas con los dedos de las manos y de los pies. Estas tienen sus propios lenguajes de consulta también.





Bases de datos en la nube

Uno de los principales cambios radica en la forma en la que compramos el software de base de datos. En el pasado, comprábamos nuestras propias máquinas y firmábamos acuerdos de licencia para ejecutar el software en ellas. Ahora las empresas de nube están ofreciendo servicios que almacenan blobs de datos en algún lugar que no podemos ni ver ni tocar. Lo único que nos dicen es que los datos van a estar ahí para cuando los queramos.

Las ventajas son evidentes. No hay necesidad de mantener el servidor que la sostiene ni de preocuparse por la concesión de licencias, la configuración o instalación de parches. Otro se ocupa de todo ese quebradero de cabeza. La solución es más barata también -especialmente si no tiene una tonelada de datos que almacenar. Los servicios generalmente cobran por byte.

Sin embargo, los peligros, si es que hay alguno, están en las sombras. ¿Alguien más tiene acceso a los datos? ¿El servidor está protegido de las sobretensiones eléctricas, las tormentas o las inundaciones? ¿Los datos tienen una copia de seguridad en una ubicación externa confiable? Necesita confiar totalmente en el proveedor de nube.

Los principales proveedores de servicios en la nube, tales como Google, Microsoft, y Amazon ofrecen una larga lista de servicios de bases de datos. Actualmente, Oracle, MongoDB, y DataStax también hacen que sus bases de datos estén disponibles en la nube.




Inteligencia Artificial (AI)

Algunos dicen que la inteligencia artificial es solo un término para la última generación de investigación que está saliendo de los laboratorios y yendo a producción. Si es así, hay una serie de nuevos productos y soluciones adornados con palabras de moda, tales como “aprendizaje automático”, “redes neuronales” o “aprendizaje profundo”. Pueden no parecer una base de datos, pero las llena de datos y les hace preguntas. ¿Por qué no? La buena noticia de las soluciones de inteligencia artificial es que no tiene que saber lo que está buscando. Puede simplemente agitar su mano y pedir algo nebuloso como la “más interesante” o “más cercana”. No hay necesidad de la clave correcta, el número de referencia infernal que los del servicio al cliente siempre le piden que escriba.

La mala noticia es que no sabrá si obtuvo la respuesta correcta, debido a que no especificó con precisión la pregunta. ¿Esa publicación en el blog es realmente la más interesante? El más grande secreto del éxito de Google es que no hay una respuesta correcta absoluta. Si está en el estadio, nadie se puede quejar.

La lista de las herramientas de aprendizaje automático es demasiado larga. Siempre puede preguntarle a su motor de búsqueda favorito por la AI “más interesante”, o consultar nuestros artículos sobre el tema.




Blockchain

La palabra blockchain puede estar enredada con unas complicadas economía y política de Bitcoin, pero debajo de toda esa charla sobre el dinero, hay un almacén de datos distribuidos sumamente estable y práctico. Todos tienen la oportunidad de actualizar los datos y todos llegan a compartir la respuesta. La gran emoción es el hecho de que todos compartan las mismas respuestas. Es perfecto para los negocios que son frenemies.

Algunos desarrolladores llevan esto aún más lejos y hablan sobre los “contratos inteligentes”, que es otra manera de decir que los bits en la base de datos son lo suficientemente confiables como para que la gente base las cuestiones legales, tales como la propiedad, sobre ellos. Eso no lo puede hacer con una base de datos regular, que puede ser modificada por cualquiera con privilegios administrativos.

Sin embargo, hay puntos débiles. Cada usuario debe mantener una clave de cifrado, porque todas las transacciones deben ser firmadas de manera digital. Si la pierde o se la olvida, los datos en esas filas serán congelados para siempre; y si le roban la clave, no se sabe. El blockchain no es perfecto, pero es mucho más confiable que el modelo estándar.


No hay comentarios.:

Publicar un comentario