Do you want to switch to Platzi in English?
4

¿Que tipos de base de datos existes actualmente?

r_636522_RqpS7.jpg

En la actualidad existes una serie de tipos de bases de datos, las cuales están enfocadas a resolver diferentes aspectos de la gestión de la información que contengan.

A continuación se listan los diferentes tipos y sus características generales, así como algunas de las bases de datos mas representativas de cada grupo:

Bases de datos relacionales (RDBMS)
Los sistemas de gestión de bases de datos relacionales (RDBMS) son compatibles con el modelo de datos relacional (= orientado a tablas). El esquema de una tabla (= esquema de relación) se define por el nombre de la tabla y un número fijo de atributos con tipos de datos fijos. Un registro (= entidad) corresponde a una fila en la tabla y consta de los valores de cada atributo. Por lo tanto, una relación consiste en un conjunto de registros uniformes.

Los esquemas de tabla se generan por normalización en el proceso de modelado de datos.

Ciertas operaciones básicas se definen en las relaciones:

operaciones de conjuntos clásicos (unión, intersección y diferencia)
Selección (selección de un subconjunto de registros de acuerdo con ciertos criterios de filtro para los valores de los atributos)
Proyección (seleccionando un subconjunto de atributos / columnas de la tabla)
Unión: conjunción especial de varias tablas como combinación del producto cartesiano con selección y proyección.

Estas operaciones básicas, así como las operaciones para la creación, modificación y eliminación de esquemas de tablas, operaciones para controlar transacciones y administración de usuarios se realizan por medio de lenguajes de bases de datos, siendo SQL un estándar bien establecido para tales idiomas.

Los primeros sistemas de gestión de bases de datos relacionales aparecieron en el mercado a principios de los años ochenta y, desde entonces, han sido el tipo de SGBD más utilizado .

A lo largo de los años, muchos RDBMS se han ampliado con conceptos MOSQL, como tipos de datos definidos por el usuario, atributos atómicos, herencia y jerarquías, por lo que a veces se los denomina DBMS relacionales de objetos.****

Ejemplos importantes

  • Oráculo

  • MySQL

  • Microsoft SQL Server

  • PostgreSQL

  • DB2

Historias llave-Valor
Las historias de llave valor son probablemente la forma más simple de sistemas de administración de bases de datos . Solo pueden almacenar pares de claves y valores, así como también recuperar valores cuando se conoce una clave.

Estos sistemas simples normalmente no son adecuados para aplicaciones complejas. Por otro lado, es exactamente esta simplicidad lo que hace que tales sistemas sean atractivos en ciertas circunstancias. Por ejemplo, los almacenes de llave-valor por su eficiencia en recursos a menudo se aplican en sistemas integrados o como bases de datos en proceso de alto rendimiento.

Formularios avanzados
Una forma extendida de almacenar la llave-valor puede ser ordenar las claves, y de este modo permite consultas de rango así como también un procesamiento ordenado de claves.

Muchos sistemas proporcionan extensiones adicionales para que podamos ver una transición bastante uniforme.

Ejemplos importantes

  • Redis

  • Amazon DynamoDB

  • Memcached

  • Microsoft Azure Cosmos DB

  • Hazelcast

Almacen de documentos
Almacén de documentos, también llamadas sistemas de bases de datos orientadas a documentos, se caracterizan por su organización de datos sin esquema.

Eso significa:

Los registros no necesitan tener una estructura uniforme, es decir, diferentes registros pueden tener columnas diferentes.
Los tipos de valores de las columnas individuales pueden ser diferentes para cada registro.
Las columnas pueden tener más de un valor (matrices).
Los registros pueden tener una estructura anidada.
El almacén de documentos a menudo usan notaciones internas, que se pueden procesar directamente en aplicaciones, principalmente JSON. Los documentos JSON, por supuesto, también se pueden almacenar como texto puro en almacenes de llave-valor o sistemas de bases de datos relacionales . Sin embargo, eso requeriría un procesamiento del lado del cliente de las estructuras, lo que seria una desventaja en comparación a las bases de datos de almacenamiento de documetos.

Ejemplos importantes

  • MongoDB

  • Amazon DynamoDB

  • Couchbase

  • CouchDB

  • Microsoft Azure Cosmos DB

Bases de datos gráficas
Las bases de datos gráficas, también llamado DBMS orientado a gráficos o base de datos de gráficos, representa datos en estructuras de gráficos como nodos y vertices, que son relaciones entre nodos. Permiten un procesamiento sencillo de los datos en esa forma y un cálculo simple de las propiedades específicas del gráfico, como el número de pasos necesarios para pasar de un nodo a otro nodo.

Los SGBD gráficos generalmente no proporcionan índices en todos los nodos; en estos casos, no es posible el acceso directo a los nodos en función de los valores de los atributos.

Ejemplos importantes

  • Neo4j

  • Microsoft Azure Cosmos DB

  • Datastax Enterprise

  • OrientDB

  • ArangoDB

Series de tiempo DBMS
Un DBMS de Series Temporales es un sistema de administración de bases de datos que está optimizado para manejar datos de series de tiempo: cada entrada está asociada con una marca de tiempo.

Por ejemplo, los datos de series de tiempo pueden ser producidos por sensores, medidores inteligentes o RFID en el llamado Internet of Things, o pueden representar los tickers de acciones de un sistema de comercio de acciones de alta frecuencia.

Series de tiempo DBMS está diseñado para recopilar, almacenar y consultar de manera eficiente varias series de tiempo con altos volúmenes de transacciones. Si bien los datos de series de tiempo se pueden gestionar con otras categorías de DBMS (desde almacenes de llave-valor hasta sistemas relacionales ), los desafíos específicos a menudo requieren sistemas especializados.
Por ejemplo, una consulta como ‘SELECT SENSOR1_CPU_FREQUENCY / SENSOR2_HEAT’ une dos series de tiempo en función de las áreas de tiempo superpuestas para cada una de ellas y genera una sola serie de tiempo compuesta.

Ejemplos importantes

  • InfluxDB

  • Kdb +

  • RRDtool

  • Grafito

  • OpenTSDB

Almacenamiento RDF
El Resource Description Framework (RDF) es una metodología para la descripción de la información, desarrollada originalmente para describir los metadatos de los recursos de TI. Hoy se usa mucho más generalmente, a menudo en conexión con la web sematic, pero también en otras aplicaciones.

El modelo RDF representa la información de triples en forma de objeto-predicado-objeto.

Los sistemas de administración de bases de datos , que pueden almacenar y procesar dichos triples, se llaman almacenes RDF o almacenes triples.

Los almacenes RDF se pueden ver como una subclase de gráficos DBMS , interpretando el predicado como una conexión entre el sujeto y el objeto en la notación anterior. Sin embargo, los almacenes RDF ofrecen métodos específicos que van más allá de los del DBMS gráficos general. Por ejemplo, SPARQL, un lenguaje de consulta similar a SQL para datos RDF, es compatible con la mayoría de los almacenes RDF.

Ejemplos importantes

  • MarkLogic

  • Jena

  • Virtuoso

  • Amazon Neptune

  • AllegroGraph

DBMS orientado a objetos
Los sistemas de administración de bases de datos orientados a objetos (a menudo denominados bases de datos de objetos) se desarrollaron en la década de 1980 motivados por el uso común de lenguajes de programación orientados a objetos. El objetivo era poder simplemente almacenar los objetos en una base de datos de una manera que corresponda a su representación en un lenguaje de programación, sin la necesidad de conversión o descomposición. Además, las relaciones entre los objetos, por ejemplo, la herencia también deben mantenerse en la base de datos.

Por lo tanto, un DBMS orientado a objetos sigue un modelo de datos orientado a objetos con clases (el esquema de objetos), propiedades y métodos. Un objeto siempre se administra como un todo. Esto significa, por ejemplo, que la inserción de un objeto, que en un sistema relacional probablemente se almacenaría en múltiples tablas, se realizará automáticamente como una transacción atómica, sin ninguna acción por parte del programa de aplicación. La lectura de un objeto también se puede realizar como una operación única y sin combinaciones complejas.

Las bases de datos de objetos a menudo usan sus propios lenguajes de consulta similares a SQL para la manipulación de objetos.

En los últimos años, los sistemas clásicos de administración de bases de datos relacionales se han ampliado con algunas características orientadas a objetos, como los tipos de datos definidos por el usuario y los atributos estructurados. Algunas de estas extensiones incluso se estandarizaron en SQL.

Este hecho y las características, herramientas y arquitecturas cómodas que ahora se proporcionan para el almacenamiento de objetos en bases de datos relacionales (como Hibernate o JPA), dificultan el uso generalizado de sistemas orientados a objetos.

Ejemplos importantes

  • Caché

  • Db4o

  • ObjectStore

  • Versant Object Database

  • Matisse

Los motores de búsqueda
Los motores de búsqueda son sistemas de administración de bases de datos NoSQL dedicados a la búsqueda de contenido de datos. Además de la optimización general para este tipo de aplicación, la especialización consiste típicamente en ofrecer las siguientes características:

Soporte para expresiones de búsqueda complejas
Búsqueda de texto completo
Stemming (reduciendo las palabras inflexionadas a su raíz)
Clasificación y agrupamiento de resultados de búsqueda
Búsqueda geoespacial
Búsqueda distribuida para alta escalabilidad

Ejemplos importantes

  • Elasticsearch

  • Splunk

  • Solr

  • MarkLogic

  • Esfinge

almacenamiento de columna ampliada
El almacenamiento de columna ampliada, también llamadas tiendas de discos extensibles, almacenan datos en registros con la capacidad de mantener un gran número de columnas dinámicas. Como los nombres de las columnas y las claves de registro no son fijos, y dado que un registro puede tener miles de millones de columnas, el almacenamiento de columna ampliada pueden verse como almacenes bidimensionales de llave-clave .

Las tiendas de columnas anchas comparten la característica de estar libres de esquemas con almacenes de documentos , sin embargo, la implementación es muy diferente.

El almacenamiento de columna ampliada no se deben confundir con el almacenamiento orientado a columnas en algunos sistemas relacionales . Este es un concepto interno para mejorar el rendimiento de un RDBMS para cargas de trabajo OLAP y almacena los datos de una tabla no registrada después del registro, sino columna por columna.

Ejemplos importantes

  • Cassandra

  • HBase

  • Microsoft Azure Cosmos DB

DBMS multivalor
Las bases de datos multivalor son sistemas de administración de bases de datos que, al igual que los sistemas relacionales , almacenan datos en tablas. Sin embargo, aparte de los RDBMS, pueden asignar más de un valor al atributo de un registro. Como esto contradice la primera forma normal, estos sistemas a veces se llaman sistemas NF2 (forma no primera normal).

Algunos sistemas relacionales se han ampliado para incluir características que permiten el modelado de atributos multivalentes (por ejemplo, matrices de valores). Sin embargo, estas características se deben utilizar en RDBMS solo en casos especiales, mientras que forman la base para el modelado de datos en DBMS de valores múltiples, sobre todo porque estos sistemas no están optimizados para combinaciones.

Ejemplos importantes

  • Adabas

  • UniData, UniVerse

  • jBASE

DBMS XML nativo
Los DBMS XML nativos (a veces abreviado como NXD) son sistemas de administración de bases de datos , cuyo modelo de datos interno corresponde a documentos XML.

En contraste con los DBMS habilitados para XML, que usan, por ejemplo, un modelo de datos relacionales y solo son capaces de almacenar datos como documentos XML, los DBMS nativos XML usan toda la potencia de XML. Pueden representar datos jerárquicos, comprenden declaraciones de PCDATA incorporadas en elementos XML y admiten lenguajes de consulta específicos de XML, como XPath, XQuery o XSLT.

Los XML nativos DBMS no necesariamente almacenan datos como documentos XML, sino que pueden usar otros formatos para una mejor eficacia.

Ejemplos importantes

  • MarkLogic

  • Oracle Berkeley DB

  • Virtuoso

Almacenamiento de contenido
Las bases de almacenamiento de contenido, también llamadas repositorios de contenido, son sistemas de administración de bases de datos especializados en la administración de contenido digital, como texto, imágenes o videos, incluidos sus metadatos.

Además del almacenamiento y las consultas, que normalmente utilizan SQL o XPath, las funciones que generalmente se admiten son búsqueda de texto completo, control de versiones, contenido estructurado jerárquicamente y control de acceso.

La API de repositorio de contenido para Java (JCR) es una API estándar para implementaciones basadas en Java de almacenamiento de contenido.

Ejemplos importantes

  • Jackrabbit

  • ModeShape

Almacenamiento de eventos
El almacenamiento de eventos son sistemas de administración de bases de datos que implementan el concepto de abastecimiento de eventos. Persisten todos los eventos que cambian el estado de un objeto junto con una marca de tiempo, creando así series de tiempo para objetos individuales. El estado actual de un objeto se puede inferir reproduciendo todos los eventos para ese objeto desde el tiempo 0 hasta la hora actual.

En contraste, los otros tipos de DBMS almacenan el estado actual de un objeto (y pierden el historial, si no se modela explícitamente).

Como ejemplo, para un objeto de carrito de la compra, cada inserción de un producto (nombre del producto, cantidad, precio) se mantendría como un nuevo evento.

Las operaciones admitidas en el almacenamiento de eventos son la adición de nuevos eventos y la consulta de series temporales de eventos para objetos. No se admiten modificaciones o eliminaciones de eventos ya existentes. Eso simplifica el mantenimiento de la coherencia en los sistemas distribuidos.

Debido a razones de rendimiento, muchos almacenamiento de eventos tienen conceptos para guardar instantáneas (estados de los objetos en un momento específico).

  • Ejemplos importantes

  • Event Store

  • NEventStore

DBMS navrgacion
El término DBMS de navegacion describe una clase de sistemas de gestión de bases de datos , que permiten el acceso a conjuntos de datos solo a través de registros vinculados. Tales sistemas se desarrollaron en la década de 1960. Fueron los primeros sistemas establecidos capaces de administrar grandes cantidades de datos. Dependiendo de la flexibilidad de los enlaces, se agrupan en DBMS jerárquico y DBMS de red.

Los sistemas más populares son IMS de IBM e IDMS de Computer Associates, que incluso hoy en día se utilizan ocasionalmente.

Escribe tu comentario
+ 2
2
7Puntos

Hola @gustavozunigagoni muy buen aporte de información, pero sugiero que también agregaras la BD MariaDB.

Saludos.