SlideShare a Scribd company logo
Miguel Angel Alvarez
ANÁLISIS
SGBD Open Source más populares
@midesweb
@EscuelaIT
Qué veremos hoy
▪ Índice
o SGBD Open Source
• SQLite
• MySQL
• MariaDB
• PostgreSQL
o Cuándo usar cada una
o Consejos para desarrollo
SGBD
SGBD
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
SGBD
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.
Sistemas relacionales
SQLite
SQLite
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:
La base de datos más usada en el mundo
- Navegadores
- Aplicaciones móviles
- Televisiones
- Skype
- iTunes
- Dropbox
- PHP
- Python
SQLite
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
Disponible "by default"
SQLite
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 CLI
SQLite
Existe un completo API para trabajar con SQLite en PHP. Con
soporte a funcionalidades bastante avanzadas para ser un SGBD
tan elemental.
SQLite PHP
MySQL
MySQL
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
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.
Evolución de MySQL
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.
Licencia de MySQL
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 es un SGBD, fork de MySQL,
focalizado en servir de reemplazo
completo de MySQL.
MariaDB
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
La licencia de MariaDB ha provocado que muchas empresas que
usaban MySQL en diversas aplicaciones hayan migrado a MariaDB.
- Google
- Wikipedia
- BlaBlaCar
- Walmart
MariaDB
Empresas que usan MariaDB
MariaDB ha aportado grandes avances al SGBD. Llegado un
momento abandonaron la secuencia de versiones de MySQL.
MariaDB
Versiones de MariaDB
Wikipedia
- 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
Similitudes
- 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/
MariaDB
Diferencias
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
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.
Base de datos compleja
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.
Gracias
Miguel Angel Alvarez
insight@insightcreativos.com
649 76 76 31
@midesweb

More Related Content

What's hot

What's hot (20)

Mapa Conceptual de los Servidor Apache y IIS.
Mapa Conceptual de los Servidor Apache y IIS.Mapa Conceptual de los Servidor Apache y IIS.
Mapa Conceptual de los Servidor Apache y IIS.
 
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_unoWeb matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
Web matrix 2_desarrollo_web_gratis_simple_abierto_todo_en_uno
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
 
Semana 6 Navegación y parámetros Sprint Boot
Semana 6   Navegación y parámetros Sprint BootSemana 6   Navegación y parámetros Sprint Boot
Semana 6 Navegación y parámetros Sprint Boot
 
Servidor web
Servidor webServidor web
Servidor web
 
La mejor presentacion EVER (servidores web)
La mejor presentacion EVER (servidores web)La mejor presentacion EVER (servidores web)
La mejor presentacion EVER (servidores web)
 
Typo3: El CMS que vino del frío
Typo3: El CMS que vino del fríoTypo3: El CMS que vino del frío
Typo3: El CMS que vino del frío
 
14. servidor my sql.
14. servidor my sql.14. servidor my sql.
14. servidor my sql.
 
Servidores web
Servidores webServidores web
Servidores web
 
Presentación1
Presentación1Presentación1
Presentación1
 
Cuadro comparativo 2
Cuadro comparativo 2Cuadro comparativo 2
Cuadro comparativo 2
 
Gestores de contenido
Gestores de contenidoGestores de contenido
Gestores de contenido
 
Tabla comparativa servidores web
Tabla comparativa servidores webTabla comparativa servidores web
Tabla comparativa servidores web
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Cuadro comparativo de apache y iis
Cuadro comparativo de apache y iisCuadro comparativo de apache y iis
Cuadro comparativo de apache y iis
 
Tendencia actual en la búsqueda de perfiles de software libre- OpenExpo Day 2015
Tendencia actual en la búsqueda de perfiles de software libre- OpenExpo Day 2015Tendencia actual en la búsqueda de perfiles de software libre- OpenExpo Day 2015
Tendencia actual en la búsqueda de perfiles de software libre- OpenExpo Day 2015
 
Introducción Base de datos mysql
Introducción Base de datos mysqlIntroducción Base de datos mysql
Introducción Base de datos mysql
 
Mysql
MysqlMysql
Mysql
 
Webinar: Introducción a VUE.js
Webinar: Introducción a VUE.jsWebinar: Introducción a VUE.js
Webinar: Introducción a VUE.js
 
Servidor apache zavaleta mata rene
Servidor apache zavaleta mata reneServidor apache zavaleta mata rene
Servidor apache zavaleta mata rene
 

Similar to SGBD open source mas populares

Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
Jazmin Glez.
 
Dbms más utilizados
Dbms más utilizadosDbms más utilizados
Dbms más utilizados
jro1007
 
Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)
Henry Cumbicus Rivera
 
Sfd 2013 pentaho
Sfd 2013 pentahoSfd 2013 pentaho
Sfd 2013 pentaho
Finger Cash
 
Motores de bases de datos
Motores de bases de datosMotores de bases de datos
Motores de bases de datos
still01
 

Similar to SGBD open source mas populares (20)

Servidor MySQL
Servidor MySQLServidor MySQL
Servidor MySQL
 
Servidor HTTP
Servidor HTTPServidor HTTP
Servidor HTTP
 
Servidor mysql
Servidor mysqlServidor mysql
Servidor mysql
 
Servidor mysql
Servidor mysqlServidor mysql
Servidor mysql
 
My sql
My sqlMy sql
My sql
 
Centro Regional Universitario de Panamá Oeste
Centro Regional Universitario de Panamá OesteCentro Regional Universitario de Panamá Oeste
Centro Regional Universitario de Panamá Oeste
 
My SQL
My SQL My SQL
My SQL
 
Centro regional universitario de panamá oeste
Centro regional universitario de panamá oesteCentro regional universitario de panamá oeste
Centro regional universitario de panamá oeste
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
motor de base de datos
motor de base de datosmotor de base de datos
motor de base de datos
 
Dbms más utilizados
Dbms más utilizadosDbms más utilizados
Dbms más utilizados
 
My sql clase_1
My sql clase_1My sql clase_1
My sql clase_1
 
Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)
 
Sfd 2013 pentaho
Sfd 2013 pentahoSfd 2013 pentaho
Sfd 2013 pentaho
 
Comparativa SGBDR
Comparativa SGBDRComparativa SGBDR
Comparativa SGBDR
 
Tecnologicas web 2.0
Tecnologicas web 2.0Tecnologicas web 2.0
Tecnologicas web 2.0
 
Tarea bases de datos asp.net
Tarea bases de datos asp.netTarea bases de datos asp.net
Tarea bases de datos asp.net
 
Los sistemas gestores de bases de datos actuales
Los sistemas gestores de bases de datos actualesLos sistemas gestores de bases de datos actuales
Los sistemas gestores de bases de datos actuales
 
Mysql
MysqlMysql
Mysql
 
Motores de bases de datos
Motores de bases de datosMotores de bases de datos
Motores de bases de datos
 

More from Arsys

More from Arsys (20)

Whitepaper Arsys - Cómo reducir el consumo energético de un data center
Whitepaper Arsys - Cómo reducir el consumo energético de un data centerWhitepaper Arsys - Cómo reducir el consumo energético de un data center
Whitepaper Arsys - Cómo reducir el consumo energético de un data center
 
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
Whitepaper: La importancia del Delegado de Protección de Datos en una empresa...
 
Contenedores y protección de datos empresariales | Whitepaper
Contenedores y protección de datos empresariales | WhitepaperContenedores y protección de datos empresariales | Whitepaper
Contenedores y protección de datos empresariales | Whitepaper
 
Cómo elegir un software CRM adecuado a las necesidades de la organización
Cómo elegir un software CRM adecuado a las necesidades de la organizaciónCómo elegir un software CRM adecuado a las necesidades de la organización
Cómo elegir un software CRM adecuado a las necesidades de la organización
 
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
Webinar - eCommerce: ¿Cómo puedo vender en Amazon?
 
Webinar - Primeros pasos con plesk
Webinar - Primeros pasos con pleskWebinar - Primeros pasos con plesk
Webinar - Primeros pasos con plesk
 
Webinar- Requisitos legales para crear una Tienda Online
Webinar- Requisitos legales para crear una Tienda OnlineWebinar- Requisitos legales para crear una Tienda Online
Webinar- Requisitos legales para crear una Tienda Online
 
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
Whitepaper - ¿Cómo elegir entre VPS, Servidor Cloud o Servidor dedicado?
 
Whitepaper - Cómo implementar el teletrabajo seguro en la empresa
Whitepaper - Cómo implementar el teletrabajo seguro en la empresaWhitepaper - Cómo implementar el teletrabajo seguro en la empresa
Whitepaper - Cómo implementar el teletrabajo seguro en la empresa
 
Whitepaper - Guía Básica del Cloud Computing
Whitepaper - Guía Básica del Cloud ComputingWhitepaper - Guía Básica del Cloud Computing
Whitepaper - Guía Básica del Cloud Computing
 
Webinar – Introducción a Google Analytics
Webinar – Introducción a Google AnalyticsWebinar – Introducción a Google Analytics
Webinar – Introducción a Google Analytics
 
Guia automatizar herramientas-grc
Guia automatizar herramientas-grcGuia automatizar herramientas-grc
Guia automatizar herramientas-grc
 
Whitepaper - Cómo crear un menú desplegable en WordPress
Whitepaper - Cómo crear un menú desplegable en WordPress Whitepaper - Cómo crear un menú desplegable en WordPress
Whitepaper - Cómo crear un menú desplegable en WordPress
 
La conversión de dominios internacionalizados: Punycode
La conversión de dominios internacionalizados: PunycodeLa conversión de dominios internacionalizados: Punycode
La conversión de dominios internacionalizados: Punycode
 
Cómo configurar un home office totalmente productivo
Cómo configurar un home office totalmente productivoCómo configurar un home office totalmente productivo
Cómo configurar un home office totalmente productivo
 
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyectoWhitepaper - Elige el servicio de hosting más indicado para tu proyecto
Whitepaper - Elige el servicio de hosting más indicado para tu proyecto
 
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPSWebinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
Webinar –Qué servidor elegir para tu proyecto, Cloud, Dedicados o VPS
 
Webinar - Instalar VMware en un servidor dedicado
Webinar - Instalar VMware en un servidor dedicadoWebinar - Instalar VMware en un servidor dedicado
Webinar - Instalar VMware en un servidor dedicado
 
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
Whitepaper - Como mejorar el Business Intelligence de la empresa a través de ...
 
Webinar –Introducción al eCommerce II
Webinar –Introducción al  eCommerce IIWebinar –Introducción al  eCommerce II
Webinar –Introducción al eCommerce II
 

Recently uploaded

editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
ssusere34b451
 

Recently uploaded (20)

proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 

SGBD open source mas populares

  • 1. Miguel Angel Alvarez ANÁLISIS SGBD Open Source más populares @midesweb @EscuelaIT
  • 2. Qué veremos hoy ▪ Índice o SGBD Open Source • SQLite • MySQL • MariaDB • PostgreSQL o Cuándo usar cada una o Consejos para desarrollo
  • 4. SGBD 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
  • 5. SGBD 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. Sistemas relacionales
  • 7. SQLite 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: La base de datos más usada en el mundo - Navegadores - Aplicaciones móviles - Televisiones - Skype - iTunes - Dropbox - PHP - Python
  • 8. SQLite 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 Disponible "by default"
  • 9. SQLite 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 CLI
  • 10. SQLite Existe un completo API para trabajar con SQLite en PHP. Con soporte a funcionalidades bastante avanzadas para ser un SGBD tan elemental. SQLite PHP
  • 11. MySQL
  • 12. MySQL 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
  • 13. 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. Evolución de MySQL
  • 14. 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. Licencia de MySQL 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.
  • 16. MariaDB MariaDB es un SGBD, fork de MySQL, focalizado en servir de reemplazo completo de MySQL. MariaDB 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
  • 17. La licencia de MariaDB ha provocado que muchas empresas que usaban MySQL en diversas aplicaciones hayan migrado a MariaDB. - Google - Wikipedia - BlaBlaCar - Walmart MariaDB Empresas que usan MariaDB
  • 18. MariaDB ha aportado grandes avances al SGBD. Llegado un momento abandonaron la secuencia de versiones de MySQL. MariaDB Versiones de MariaDB Wikipedia
  • 19. - 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 Similitudes
  • 20. - 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/ MariaDB Diferencias 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.
  • 22. 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.
  • 23. 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
  • 24. MariaDB 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. Base de datos compleja
  • 26. Elección Qué criterios ● Tamaño del proyecto y volumen ● Licencia ● Infraestructura ● Disponibilidad ● Escalabilidad ● Comunidad
  • 28. 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
  • 29. 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
  • 30. 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)
  • 31. 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
  • 32. 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.