domingo, 30 de agosto de 2020

¿QUE SON LOS GESTORES DE BASE DE DATOS (BAJO LICENCIA Y LIBRES)?




Un Sistema Gestor de Base de Datos (SGBD) o DataBase Managenent System (DBMS) es un sistema que permite la creación, gestión y administración de bases de datos, así como la elección y manejo de las estructuras necesarias para el almacenamiento y búsqueda de información del modo más eficiente posible.

En la actualidad, existen multitud de SGBD y pueden ser clasificados según la forma en que administran los datos en:


  • Relacionales (SQL)
  • No relacionales (NoSQL)

A lo largo de este post vamos a mostrar los principales sistemas gestores de bases de datos más usados de cada tipo.

SISTEMAS GESTORES DE BASES DE DATOS RELACIONALES (SQL)

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:

MySQL

Cómo recuperar la contraseña de ROOT en MySQL o MariaDB

 

 Es el sistema gestor de ba Es el sistema geses 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.

Se ofrece bajo la GNU GPL, aunque también es posible adquirir una licencia para empresas que quieran incorporarlo en productos privativos (Desde la compra por parte de Oracle se está orientando a este ámbito empresarial).

Las principales ventajas de este Sistema Gestor de Bases de datos son:

  • Facilidad de uso y gran rendimiento
  • Facilidad para instalar y configurar
  • Soporte multiplataforma
  • Soporte SSL

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.

MariaDB

MariaDB | Mancomún

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

SQLite - Wikipedia, la enciclopedia libre

 

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

Disponible PostgreSQL 12.0 » MuyLinux

 PostgreSQL es una de las opciones más interesantes en bases de datos relacionales open-source. Michael Stonebraker inició el proyecto bajo el nombre Post Ingres a mediados de los 80’s con la idea de solucionar problemas existentes en las bases de datos en esa época. MySQL fue por mucho tiempo el motor más popular; pero hoy es propiedad de Oracle y esto limita su evolución.

Es gratuito y libre, además de que hoy nos ofrece una gran cantidad de opciones avanzadas. De hecho, es considerado el motor de base de datos más avanzado en la actualidad. (Y Platzi tiene un Curso de PostgreSQL)

Una característica interesante de PostgreSQL es el control de concurrencias multiversión; o MVCC por sus siglas en inglés. Este método agrega una imagen del estado de la base de datos a cada transacción. Esto nos permite hacer transacciones eventualmente consistentes, ofreciéndonos grandes ventajas en el rendimiento.

En Postgres no se requiere usar bloqueos de lectura al realizar una transacción lo que nos brinda una mayor escalabilidad. También PostgreSQL tiene Hot-Standby. Este permite que los clientes hagan búsquedas (sólo de lectura) en los servidores mientras están en modo de recuperación o espera. Así podemos hacer tareas de mantenimiento o recuperación sin bloquear completamente el sistema.

PostgreSQL aporta mucha flexibilidad a nuestros proyectos. Por ejemplo, nos permite definir funciones personalizadas por medio de varios lenguajes.

 

Microsoft SQL Server

OrtizOL - Experiencias Construcción Software (xCSw): Cómo Instalar  Microsoft SQL Server 2014 Enterprise


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.

Su principal desventaja es el precio. Cuenta con un plan gratuito (Express) pero lo normal es la elección de alguno de los planes de pago disponibles (Standard, Developer, Enterprise o SQL Azure, la versión de SQL Server en la nube).

Oracle

Proveedores Globales de Software Reciben Beneficios con la Nube de Oracle |  ACIS

Tradicionamente, 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.

 

La principal desventaja, al igual que SQL Server, es el coste del software ya que, aunque cuenta con una versión gratuita (Express Edition o XE), sus principales opciones son de pago.

Las opciones de pago disponibles son:·          

1. Standard Edition (SE)
2. Standard Edition One (SE1)
3. Standard Edition 2 (SE2)
4. Personal Edition (PE)
5. Lite Edition (LE)
6. 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.

Para la administración de este tipo de bases de datos, actualmente los principales sistemas gestores de bases de datos (SGBD NoSQL) son:

MongoDB

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

Resultado de imagen para redis

Redis está basado en el almacenamiento clave-valor. Podríamos verlo como un vector enorme que almacena todo tipo de datos, desde cadenas, hashses, listas, etc.

El principal uso de este SGBD es para el almacenamiento en memoria caché y la administración de sesiones.

 

Las características principales son:

  • Atomicidad y persistencia
  • Gran velocidad
  • Simplicidad
  • Multiplataforma

 

Cassandra

Por qué Cassandra no es una base de datos cualquiera.

Al igual que Redis, Cassandra también utiliza almacenamiento clave-valor. Es un SGBD NoSQL distribuido y masivamente escalable.

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:

  • Multiplatform
  • Propio lenguaje de consultas (CQL)
  • Escalado lineal y horizontal
  • Es un SGBD distribuido
  • Utiliza una arquitectura peer-to-peer

Otros SGBD NoSQL

Otros Sistemas Gestores de bases de datos no relacionales muy utilizados son:


APLICACIONES PARA LA GESTIÓN DE PROYECTOS

   Las empresas trabajan en múltiples proyectos al mismo tiempo. Forman equipos de personal y los asignan a líderes experimentados que as...