El documento compara cuatro sistemas de gestión de bases de datos: MySQL, MongoDB, Oracle y Firebase. MySQL es de código abierto y gratuito pero tiene limitaciones de seguridad, mientras que MongoDB es adecuado para proyectos individuales pero carece de joins en consultas. Oracle es el motor más utilizado pero también el más costoso, y Firebase proporciona una plataforma gratuita y escalable pero depende de Google Cloud.
1. VENTAJAS DESVENTAJAS CARACTERISTICAS FUNCIONES
MYSQL
✓ MySQL es de distribución
libre y gratuita, podemos
descargarlo del sitio web
oficial de MySQL sin ningún
costo.
✓ MySQL es Open Source, es
decir que su código fuente
puede ser obtenido y
modificado por cualquier
desarrollador de software.
✓ Es veloz al realizar
operaciones, y garantiza un
buen rendimiento de las
aplicaciones.
✓ Es multiplataforma, es decir
que soporta sistemas
operáticos como Linux,
Solaris, Windows, etc.
✓ Limitaciones de seguridad:
MySQL puede tener algunas
limitaciones de seguridad,
especialmente si no se
configura adecuadamente.
✓ Varias de las utilidades de
MySQL no están
documentadas.
✓ No es del todo intuitivo, en
comparación con otros
programas.
✓ No maneja de manera tan
eficiente una base de datos
con un tamaño muy grande.
✓ Arquitectura Cliente y
Servidor: MySQL utiliza un
modelo cliente-servidor para
una comunicación eficiente,
donde los clientes interactúan
con la base de datos a través
de un sistema de registro.
✓ Compatibilidad con SQL:
MySQL es compatible con el
estándar SQL, permitiendo
una migración fluida desde
otros sistemas de bases de
datos y facilitando el uso para
quienes conocen SQL.
✓ Vistas: Desde MySQL 5.0, se
pueden crear vistas
personalizadas, útiles para
simplificar consultas en bases
de datos grandes.
✓ Procedimientos almacenados:
MySQL mejora la eficiencia
mediante procedimientos
almacenados, scripts que se
ejecutan en la base de datos
para realizar tareas específicas
✓ Funciones de cadenas: operan en
tipos de datos de cadena
✓ Funciones numéricas : opere en
tipos de datos numéricos
✓ Funciones de fecha : operan en
tipos de datos de fecha
✓ Funciones agregadas : opere en
todos los tipos de datos anteriores
y produzca conjuntos de
resultados resumidos.
✓ Otras funciones : MySQL
también admite otros tipos de
funciones incorporadas, pero
limitaremos nuestra lección a las
funciones nombradas
anteriormente únicamente.
2. MONGODB
✓ Ideal para recursos
limitados: MongoDB es
adecuado para entornos con
pocos recursos de
computación, ya que puede
funcionar en cualquier
servidor o PC, siendo
suficiente para proyectos
individuales.
✓ Bajo costo: Al ser de código
abierto, MongoDB no tiene
costos de licencia. El soporte
es lo único por lo que se
paga, si es necesario.
✓ Documentación extensa: La
documentación de
MongoDB es extensa y
detallada, destacando sobre
otras bases de datos NoSQL
en términos de calidad y
amplitud.
✓ Compatibilidad con
JavaScript: MongoDB se
integra perfectamente con
JavaScript, lo que beneficia a
los desarrolladores de
aplicaciones en este
lenguaje, permitiéndoles
aprovechar sus funciones y
operadores de manera
efectiva.
✓ Limitaciones en
transacciones complejas:
MongoDB no es apropiado
para aplicaciones con
transacciones complejas; en
estos casos, las bases de
datos relacionales son más
adecuadas.
✓ Tecnología emergente:
Aunque está ampliamente
adoptado, MongoDB sigue
siendo una tecnología
relativamente joven en
desarrollo.
✓ Ausencia de Joins en
consultas: Una de las
desventajas notables de
MongoDB es la carencia de
Joins en consultas, lo que
impide la combinación de
diferentes tablas en una
consulta. En cambio,
MongoDB utiliza enfoques
alternativos para este tipo de
operaciones.
✓ Consultas ad hoc. Soporta la
búsqueda por campos,
consultas de rangos y
expresiones regulares.
✓ Indexación. Cualquier campo
que se encuentre en
documento de MongoDB
puede ser indexado, al igual
que es posible hacer índices
secundarios.
✓ Replicación. MongoDB
soporta el tipo de replicación
primario-secundario. Cada
grupo primario y secundario
se califica como réplica set.
✓ Balanceo de carga. Permite
escalar tanto de forma
horizontal usando el concepto
shard.
La función principal de MongoDB
radica en su capacidad de guardar los
datos como documentos y los
almacena en BSON sin necesidad de
un esquema. Además, sus funciones
se caracterizan por la escalabilidad y
flexibilidad.
Por otra parte, sus funciones constan
de herramientas de automatización,
monitorización y respaldo, lo que
permite la escalabilidad horizontal
con seguridad integral.
3. ORACLE
✓ Líder global: Oracle es el
motor objeto-relacional más
usado mundialmente.
✓ Flexibilidad en plataformas:
Se adapta desde PCs a
supercomputadoras.
✓ Funcionalidad completa:
Ofrece diseño avanzado con
PL/SQL, integridad
referencial y activos como
triggers y procedimientos
almacenados.
✓ Optimización eficiente:
Permite particiones,
replicación y gestión
distribuida en algunas
versiones.
✓ Compatibilidad amplia:
Funciona en diversos
sistemas operativos.
✓ Versiones y evolución de
Oracle: Oracle ha lanzado
versiones recientes como
11g, 10g, 9g y 8g. Hubo
varias versiones desde la
original 8, con correcciones
hasta la estabilidad en la
8.0.3. Las dificultades se
atribuyen a cambios en el
almacenamiento por
introducción de extensiones
orientadas a objetos.
✓ Desafíos de costos y ajustes:
Oracle enfrenta críticas por
su elevado precio, incluso las
licencias de Personal Oracle.
La necesidad de
configuración precisa es
crucial; una mala
configuración puede resultar
en un rendimiento
inadecuado y lentitud.
✓ Costo de información y
recursos técnicos: El acceso
a información valiosa
también es costoso, y hasta
hace poco, había pocos
recursos técnicos más allá de
la instalación y
administración de Oracle.
✓ Modelo relacional: los
usuarios visualizan los datos
en tablas con el formato
filas/columnas.
✓ Herramienta de
administración gráfica
intuitiva y cómoda de utilizar.
✓ Control de acceso: tecnologías
avanzadas para vigilar la
entrada a los datos.
✓ Protección de datos: seguridad
completa en el entorno de
producción y de pruebas y
gestión de copias de
seguridad.
✓ Lenguaje de diseño de bases
de datos muy completo
(PL/SQL): permite
implementar diseños
"activos", que se pueden
adaptar a las necesidades
cambiantes de negocio.
✓ Alta disponibilidad:
escalabilidad, protección y
alto rendimiento para la
actividad empresarial.
✓ Gestión de usuarios: agilidad
en los trámites, reducción de
costes y seguridad en el
control de las personas que
acceden a las aplicaciones y a
los sistemas.
✓ Capacítese en los cursos de
Java o Database con nuestras
certificaciones Oracle.
✓ Gestión de bases de datos: Oracle
proporciona una plataforma
completa para almacenar,
organizar y recuperar datos de
manera eficiente y segura,
gestionando la estructura y el
acceso a la información.
✓ Lenguaje PL/SQL: PL/SQL es un
lenguaje de programación propio
de Oracle que permite la creación
de procesos y consultas
complejas directamente en la
base de datos, mejorando el
rendimiento y la seguridad.
✓ Integridad referencial: Oracle
asegura la coherencia y precisión
de los datos mediante
restricciones de integridad
referencial, que mantienen las
relaciones entre tablas y evitan
inconsistencias.
✓ Triggers y procedimientos
almacenados: Los triggers y
procedimientos almacenados
permiten automatizar acciones y
procesos dentro de la base de
datos, desencadenando respuestas
a eventos específicos o
ejecutando tareas predefinidas.
4. FIREBASE
✓ Inicio gratuito y escalable:
Firebase ofrece la mayoría
de sus módulos de forma
gratuita y adaptable a
cualquier tamaño. A medida
que una app crece en éxito,
se puede gestionar
fácilmente su ampliación y
capacidades.
✓ Multiplataforma: Disponible
en Android, iOS y web,
Firebase es compatible con
las principales plataformas
móviles y tecnologías
emergentes como Node,
Flutter y Unity.
✓ Gestión de usuarios y
crecimiento: Facilita el
manejo de usuarios y
estimula el crecimiento a
través de notificaciones e
invitaciones.
✓ Sencillez y agilidad:
Firebase proporciona un
SDK con APIs intuitivas,
liberando a los
desarrolladores de
preocuparse por la
infraestructura y
permitiéndoles enfocarse en
solucionar problemas de los
usuarios.
✓ No es open source: Firebase
carece de opciones de código
abierto, limitando la
posibilidad de adaptaciones
por parte de los
desarrolladores.
✓ Estructura NoSQL: Firebase
ofrece Firestore y Realtime
Database, ambas con
estructuras NoSQL, lo que
puede dificultar consultas
complejas en ocasiones.
✓ Costos potenciales: Aunque
muchos servicios son
gratuitos, algunos pueden
generar costos una vez que
se superen los límites, lo que
requiere planificación para
evitar gastos inesperados.
✓ Limitación en proveedor:
Firebase solo se ejecuta en
Google Cloud, excluyendo
otras opciones como AWS o
Azure.
✓ Curva de aprendizaje:
Aunque cuenta con
documentación y ejemplos,
aprender a utilizar Firebase
demanda tiempo para
integrar sus módulos en
aplicaciones de manera
efectiva.
Algunas de las características
destacadas de la plataforma
Google Firebase incluyen bases
de datos, autenticación, mensajes
push, análisis, almacenamiento de
archivos y mucho más.
Dado que los servicios están
alojados en la nube, los
desarrolladores pueden realizar un
escalado bajo demanda sin
problemas. Firebase se encuentra
actualmente entre las principales
plataformas de desarrollo de
aplicaciones en las que confían los
desarrolladores de todo el mundo.
Firebase dispone de diferentes
funcionalidades, que se pueden
dividir básicamente en 3 grupos:
Desarrollo (Develop), Crecimiento
(Grow) y Monetización (Earn), a los
que hay que sumar la Analítica
(Analytics).
✓ El grupo de funciones
"Desarrollo" en Firebase abarca
servicios esenciales para la
creación de proyectos de
aplicaciones móviles y web. Al
delegar ciertas actividades a
Firebase, agiliza el proceso de
desarrollo. Además, ofrece
herramientas para optimizar
diferentes aspectos y garantizar
la calidad deseada en el resultado
final.
✓ El bloque de "Crecimiento" en
Firebase se centra en el
crecimiento de la aplicación,
abarcando la administración de
usuarios existentes y
proporcionando herramientas
para atraer nuevas audiencias.
✓ En Firebase, la "Monetización"
constituye la tercera área clave.
Aquí, la generación de ingresos
está vinculada a la inserción de
publicidad en las aplicaciones.
Esto permite que los usuarios
reciban anuncios pertinentes
según la segmentación de la
campaña.