Desde que se
comenzó a usar el modelo de bases de datos relacionales, en 1970, ha ido
sufriendo una serie de transformaciones hasta convertirse, hoy en día, en el
modelo más utilizado para administrar bases de datos.
Este modelo se
basa fundamentalmente en establecer relaciones o vínculos entre los datos,
imaginando una tabla aparte por cada relación existente con sus propios
registros y atributos.
Los principales
Sistemas gestores de bases de datos relacionales (SGBD SQL) actualmente son:
Es el sistema
gestor de bases de datos relacional por excelencia.
Es un SGBD
multihilo y multiusuario utilizado en la gran parte de las páginas web
actuales. Además es el más usado en aplicaciones creadas como software libre.
La principal
desventaja es la escalabilidad, es decir, no trabaja de manera eficiente con
bases de datos muy grandes que superan un determinado tamaño.
Maria DB
Este SGBD es una derivación de MySQL que cuenta con la mayoría de características de este e incluye varias extensiones.
Nace a partir de la adquisición de MySQL por parte de Oracle para seguir la filosofía Open Source y tiene la ventaja de que es totalmente compatible con MySQL.
Entre las principales características de este Sistema Gestor de Bases de datos se encuentran:
- Aumento de motores de almacenamiento
- Gran escalabilidad
- Seguridad y rapidez en transacciones
- Extensiones y nuevas características relacionadas con su aplicación para Bases de datos NoSQL.
- No tiene desventajas muy aparentes salvo algunas pequeñas incompatibilidades en la migración de MariaDB y MySQL o pequeños atrasos en la liberación de versiones estables.
SQLite
Más que un Sistema Gestor de bases de datos como
tal, SQLite es una biblioteca escrita en C que implementa un SGBD y que permite
transacciones sin necesidad de un servidor ni configuraciones.
Es una biblioteca utilizada en multitud de aplicaciones actuales ya que
es open source y las consultas son muy eficientes.
Las principales características de SQLite son:
- El tamaño, al tratarse de una biblioteca, es mucho menor que cualquier SGBD
- Reúne los cuatro criterios ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) logrando gran estabilidad
- Gran portabilidad y rendimiento
- La gran desventaja de SQLite es la escalabilidad ya que no soporta bases de datos que sean muy grandes.
PostgreSQL
Este sistema gestor de base de datos relacional está orientado a objetos y es libre, publicado bajo la licencia BSD.
Sus principales características son:
- Control de Concurrencias multiversión (MVCC)
- Flexibilidad en cuanto a lenguajes de programación
- Multiplataforma
- Dispone de una herramienta (pgAdmin, https://www.pgadmin.org/) muy fácil e intuitiva para la administración de las bases de datos.
- Robustez, Eficiencia y Estabilidad.
La principal desventaja es la lentitud para la administración de bases de datos pequeñas ya que está optimizado para gestionar grandes volúmenes de datos.
Microsoft SQL Server
Es un sistema gestor de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.
Es un sistema propietario de Microsoft. Sus principales características son:
- Soporte exclusivo por parte de Microsoft.
- Escalabilidad, estabilidad y seguridad.
- Posibilidad de cancelar consultas.
- Potente entorno gráfico de administración que permite utilizar comandos DDL y DML.
- Aunque es nativo para Windows puede utilizarse desde hace ya un tiempo en otras plataformas como Linux o Docker.
Oracle
Tradicionalmente,
Oracle ha sido el SGBD por excelencia para el mundo empresarial, considerado
siempre como el más completo y robusto, destacando por:
- Soporte de transacciones.
- Estabilidad.
- Escalabilidad.
- Multiplataforma.
- Standard Edition (SE)
- Standard Edition One (SE1)
- Standard Edition 2 (SE2)
- Personal Edition (PE)
- Lite Edition (LE)
- Entreprise Edition (EE)
Sistemas Gestores de bases de datos No Relacionales (NoSQL)
Una base de datos no relacional (NoSQL) es aquella base de datos que:
- No requiere de estructuras de datos fijas como tablas
- No garantiza completamente las características ACID
- Escala muy bien horizontalmente.
- Se utilizan en entornos distribuidos que han de estar siempre disponibles y operativos y que gestionan un importante volumen de datos.
MongoDB
Estamos ante el Sistema Gestor de Bases de Datos no relacionales (SGBD NoSQL) más popular y utilizado actualmente.
MongoDB es un SBGD NoSQL orientado a ficheros que almacena la información en estructuras BSON con un esquema dinámico que permite su facilidad de integración.
Empresas como Google, Facebook, eBay, Cisco o Adobe utilizan MongoDB como Sistema Gestor de Bases de datos.
Las principales características de MongoDB son:
- Indexación y replicación
- Balanceo de carga
- Almacenamiento en ficheros
- Consultas ad hoc
- Escalabilidad horizontal
- Open Source
- Como desventaja principal, MongoDB no es un SGBD adecuado para realizar transacciones complejas.
Redis
- Atomicidad y persistencia
- Gran velocidad
- Simplicidad
- Multiplataforma
Cassandra
Al igual que Redis, Cassandra también utiliza almacenamiento clave-valor. Es un SGBD NoSQL distribuido y masivamente escalable.
cassandra Facebook, Twitter, Instagram, Spotify o Netflix utilizan Cassandra.
Dispone de un lenguaje propio para las consultas denominado CQL (Cassandra Query Languaje).
Las principales características de este SGBD NoSQL son:
- Multiplataforma
- Propio lenguaje de consultas (CQL)
- Escalado lineal y horizontal
- Es un SGBD distribuido
- Utiliza una arquitectura peer-to-peer
Otros Sistemas Gestores de bases de datos no relacionales muy utilizados son:
- Azure Cosmos DB
- RavenDB
- ObjectDB
- Apache CouchDB
- Neo4j
- Google BigTable
- Apache Hbase
- Amazon DynamoDB
0 Comentarios