Está en la página 1de 32

BASE DE DATOS

SGBD Open Source más


populares

Ing. Tito Fernando Ale Nieto


Qué veremos hoy

▪ Índice
o SGBD Open Source
• SQLite
• MySQL
• MariaDB
• PostgreSQL
o Cuándo usar cada una
o Consejos para desarrollo
SGBD
SGBD

SGB
D
Sistema Gestor de Base de Datos: Es un software que permite
la creación de bases de datos su interacción con los usuarios. Se
encarga de proporcionar acceso a los datos, persistencia y
capacidad de manipulación a los usuarios.

- Relacionales
- No relacionales (NoSQL)
SGBD

Sistemas relacionales
Aparecen a mediados de los 70.

- System R (IBM DB2)


- INGRES

La estandarización del lenguaje SQL se produjo en 1979 y fue


adoptado como lenguaje para el acceso a los datos en las bases
de datos relacionales.
SQLite
SQLite

La base de datos más usada en el mundo


SQLite es un sistema gestor de base de
datos escrito en C, que requiere recursos
mínimos para funcionar.

Su código ocupa menos de 300 KB, por lo que se encuentra


presente en multitud de software:

- Navegadores - Skype - PHP


- Aplicaciones móviles - iTunes - Python
- Televisiones - Dropbox
SQLite

Disponible "by default"


SQLite no necesita nada para funcionar. No es necesario instalar
programas adicionales, motores de base de datos, ni librerías
en muchos casos.

- Está disponible desde PHP 5.3


- Usa el sistema de archivos para almacenar la información
SQLite

SQLite
CLI
Es un cliente por línea de comandos para acceder a las bases de
datos SQLite. Está disponible en cualquier ordenador Mac.

$ sqlite3 nombre_archivo
create table usuarios (nombre varchar(100), edad smallint);
insert into usuarios values ('Miguel Angel', 45);
select * from usuarios;
.quit
SQLite

SQLite PHP
Existe un completo API para trabajar con SQLite en PHP. Con
soporte a funcionalidades bastante avanzadas para ser un SGBD
tan elemental.
MySQL
MySQL

MySQ
L
Es la base de datos open source
más popular.

la clave de su éxito es formar parte del stack LAMP. Con PHP es


un tándem muy usado y casi un estándar en la mayor parte de
los alojamientos web.

Uso correcto de MySQL:


https://www.youtube.com/watch?v=dvXC59PnJF4
MySQL

Evolución de MySQL
En 2005 Versión 4.1 MySQL introduce la integridad referencial *

En 2008 Sun Microsystems compró MySQL AB por 1.000 millones.

En 2009 Oracle compró a Sun Microsystems (Java, Solaris,


MySQL)

2010 Mysql presenta la versión 5.5. El motor de almacenamiento


de MySQL predeterminado pasa a ser InnoDB.
MySQL

Licencia de MySQL
MySQL tiene una licencia dual.

- Community: (GNU GPL) que obliga a que cualquier producto


derivado se realice bajo esta misma licencia.
- Enterprise: Licencia comercial.

Cualquier software que use MySQL y no pueda ser


publicado bajo licencia GNU GPL debe de adquirir una
licencia de MySQL para poder usar la base de datos.
MariaDB
MariaDB

MariaDB
MariaDB es un SGBD, fork de MySQL,
focalizado en servir de reemplazo
completo de MySQL.

Después de la compra por parte de Oracle los creadores de


MySQL decidieron continuar su camino de manera independiente.

- Mantener MariaDB con una licencia GNU General Public License.


- Asegurar compatibilidad con MySQL, comandos, API, Drivers
- Donde use MySQL puedo usar MariaDB
MariaDB

Empresas que usan MariaDB


La licencia de MariaDB ha provocado que muchas empresas que usaban
MySQL en diversas aplicaciones hayan migrado a MariaDB.

- Google
- Wikipedia
- BlaBlaCar
- Walmart
MariaDB

Versiones de MariaDB
MariaDB ha aportado grandes avances al SGBD. Llegado un
momento abandonaron la secuencia de versiones de MySQL.

Wikipedia
MariaDB

Similitudes
- Se ejecutan en el mismo puerto
- El cliente se llama igual, se invoca igual
- Binarios iguales, incluso mysql_secure_installation
- Soporte SQL prácticamente idéntico
- Drivers de lenguajes compatibles: PHP, Python, Node...
MariaDB

Diferencias
- Motores de almacenamiento de MariaDB son más numerosos
- API's diversas

https://mariadb.com/kb/en/incompatibilities-and-feature-differences-between-mariadb-105-and-mysql-80/

Sin embargo, ambos motores de bases de datos se


retroalimentan, ya que características actuales de uno son
features futuras de otro motor, cuando se consideran
suficientemente estables y demandadas por la comunidad.
PostgreSQL
PostgreSQL

PostgreSQL
Es el SGBD open source más potente, no
solo por su funcionalidad, sino por su
resistencia y disponibilidad.

Su nombre viene de Post-Ingress, ya que sus creadores son los


creadores de la base de datos Ingress.
El proyecto actualmente tiene más de 20 años de desarrollo.
PostgreSQL

Características PostgreSQL

- Licencia única BSD sin límites.


- PostgreSQL es objeto-relacional capaz de manejar datos
complejos: IP, Polígonos, XML, JSON… extensible
- Existen distribuciones de PostgreSQL especializadas.
- Procedimientos almacenados en tu propio lenguaje
- Calendario de versiones definido a 5 años y soporte extra
ofrecido por terceras empresas.
- Herramientas para replicación, disponibilidad,
escalabilidad
MariaDB

Base de datos compleja


A nivel de desarrollo no nos debe de preocupar, ya que usa
estándares como SQL, por lo que el trabajo habitual se hacer de
manera muy similar.

A nivel de administración de la base de datos es donde requiere


mayor conocimiento para configurar y optimizar a las
necesidades de los proyectos.
Cuál elegir
Elección

Qué criterios

● Tamaño del proyecto y volumen


● Licencia
● Infraestructura
● Disponibilidad
● Escalabilidad
● Comunidad
Elección

Popularidad y comunidad

En el mundo

En España
Elección

Cuándo elegir SQLite

Es una base de datos "serverless", ligera, rápida.

Por sus características la usaremos cuando no tenemos


posibilidad de usar otra base de datos más avanzada y siempre
que tengamos pocas necesidades de volumen y funcionalidad.

- Alojamiento sin soporte a base de datos


- Aplicación móvil
- Etapa de desarrollo
Elección

Cuándo elegir MySQL

Hoy es una base de datos avanzada. Capaz de soportar un


elevado volumen. Es rápida y configurable.

- Alojamiento compartido
- Aplicaciones pequeñas, medianas y grandes
- No nos importa la licencia
- No es una aplicación de misión crítica
Elección

Cuándo elegir MariaDB

Es una base de datos pensada para reemplazar MySQL.

- Cuando es adecuado usar MySQL


- Nos importa la licencia
- Queremos usar motores de almacenamiento diferentes, no
soportados todavía por MySQL y que ofrezcan
características que necesitamos.
- Siempre que tengamos un servidor propio (VPS para
arriba)
Elección

Cuándo elegir PostgreSQL

Es una base de datos enfocada a un ambiente empresarial.

- Cuando requerimos:
- Flexibilidad
- Escalabilidad
- Rendimiento

- Tolerancia a fallos, aplicaciones de misión crítica


- Volumen grande y enorme de la información, Big Data.
- Su mejor cara la encontramos en aplicaciones exigentes
Elección

Abstracción de bases de datos


•En un desarrollo ideal es importante usar librerías de abstracción de base de
datos, como PDO en PHP o KNEX.JS para NodeJS.

•Nos aseguran que si necesitamos cambiar la base de datos en un futuro


podamos hacerlo sin cambiar el código de la aplicación.

También podría gustarte