# data[].attributes.attachment_link.description
Compara MySQL y Oracle Database. ¿No consigues decidirte? Busca las características que necesitas en un software y lee opiniones, valoraciones, y especificaciones de cada uno. Ayúdate con la lista de precios, capturas de pantalla y vídeos.

# data[].attributes.headline
Ventajas y desventajas Oracle DB vs MySQL

# data[].attributes.subject
Ventajas y desventajas Oracle DB vs MySQL

# data[].attributes.body
ORACLE DB: http://oraclebddepn.blogspot.com/2013/05/ventajas-y-desventajas.html?m=1

MYSQL:
https://hostingpedia.net/mysql.html

La principal ventaja de MySQL contra Oracle es en el factor económicomico.

Y la venta principal de Oracle contra MySQL es que, este segundo, al ser software libre, no tiene documentada correctamente todas sus funcionalidades. Sin embargo OracleDB tiene muchas más funcionalidades documentadas ofecialmemte con manuales muy intuitivos.

Conclusión: Si lo que queremos es empezar en el tratamiento de BBDD o realizar pequeños proyectos MySQL es nuestro SGBD, sin embargo, si lo que buscamos es una gestión profesional y completa, deberemos asumir los costos de Oracle DB.

# data[].attributes.attachment_link.readable_text
Hoy en día las bases de datos NoSQL o no-relacionales se han puesto de moda, sobretodo porque ofrecen flexibilidad y alta performance en comparación con las bases de datos relacionales. ¿Pero estas bases de datos son mejores que las relacionales? ¿Conviene usarlas siempre o en determinados casos?

En este versus despejamos esas dudas: te mostramos las ventajas y desventajas de MySQL vs MongoDB, y en qué momentos es conveniente usar una u otra.

Bases de datos NoSQL

Las bases de datos no relacionales surgen de la necesidad de tener sistemas de bases de datos altamente disponibles, distribuidos y escalables horizontalmente.

Estos tienen la particularidad de que no poseen un esquema definido sino que cada documento puede tener distintos datos, sin importar cantidad o tipo de datos.

Positivo: si necesitas un campo más en un registro en específico no es necesario remodelar toda la tabla solo por un par.

Negativo: la salida de datos será variable, por lo que si necesitas una salida más estructurada no es conveniente el uso de bases de datos NoSQL.

Al ser no relacionales no poseen relaciones, por lo que nos podemos olvidar de esos engorrosos joins que enlentecen nuestras consultas. Si hay maneras de agregar relaciones en el caso de que sean necesarias pero la idea en este tipo de base de datos es tener las menos posibles.

Positivo: Mejor performance, consultas más rápidas. Suelen ser pocas colecciones y cada una tiene un propósito.

Negativo: cuando editamos datos hay que hacerlo en todas las colecciones en las que se encuentran.

Las bases de datos no relacionales permiten el escalado horizontal de forma sencilla y poseen una mejor performance a nivel de miles de consultas de lectura y escritura.

Bases de Datos SQL

Los datos SQL se manejan con un esquema bien definido y rígido, por lo que todos los datos de una misma tabla tienen la misma estructura cantidad de campos y tipo de dato.

Positivo: nos permite manejar mejor la salida de datos y tener una estructura compleja mejor organizada.

Negativo: agregar nuevos campos requiere modificar la tabla y junto con ella todos los registros existentes en la misma. La mayoría de las veces la solución no cubre las necesidades del proyecto y es necesario editar el esquema repetidamente.

Permite relaciones entre tablas añadiendo el identificador de una tabla como clave foránea en la otra tabla o generando una nueva tabla para guardar la relación entre ambas tablas.

Positivo: este tipo de relaciones suelen ser más robusta.

Negativo: las relaciones enlentecen las tablas ya que consultas que impliquen los datos de varias tablas deben realizarse mediante joins.

Las bases de datos relacionales permiten el escalado de manera vertical en un mismo servidor, se pueden escalar de manera horizontal pero significa una gran cantidad de horas de trabajo. Tienen mejor desempeño en el manejo de datos para uso estadistico y analitico.

Datos
Datos estructurados guardados en tablas

Datos no estructurados guardados en formato BSON - binary JSON

Transacciones
Soporta transacciones ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad)

Teorema CAP (Consistencia, Disponibilidad y Tolerancia al particionado)

Auto Elasticidad
Requiere downtimes en algunos casos

Automático, no requiere interrupción

MySQL vs MongoDB: Principales Diferencias

Ahora que ya hemos visto las principales diferencias entre una base de datos relacional y una no relacional nos podemos adentrar en este versus de MySQL y MongoDB. Aún quedan algunas diferencias propias de estas tecnologías por comparar, que nos ayudarán a decidir cuándo es mejor usar una u otra.

Tabla comparativa, en esta tabla se destacan algunas de las diferencias entre ambos

Características de MongoDB

Los datos guardados con MongoDB son de fácil lectura para los usuarios, como ya mencionamos se guarda en formato JSON por lo cual a modo de ejemplo quedan de la siguiente manera:

{
    A/c number: 1234567891
    Nombre: "Juan"
    Apellido: "Perez"
    Telefono: "(+1)45878931"
    Direccion: [ {
         Calle: "calle 20"
         Ciudad: "Montevideo"
         CodigoPostal: 20001
    } ]
}

Nótese que en los documentos en lugar de crear relaciones con otra tabla se puede especificar de forma anidada más datos, como es el caso de la dirección en el ejemplo. Los documentos nos permiten almacenar toda la información que queramos, lo cual a veces puede ocasionar problemas en la consistencia de los datos.

MongoDB utiliza un lenguaje de consultas no estructurado por lo que realizamos las consultas especificando el nombre del documento con las propiedades que queremos filtrar. Este tipo de consultas permite una amplia variedad de operadores, los puedes consultar desde su sitio oficial.

Como vemos en la tabla comparativa MongoDB en el teorema CAP se inclina a CP (Consistencia y Tolerancia a particiones) esto significa que todos los clientes acceden a una vista consistente de la base de datos. Lo cual implica que los usuarios de un nodo deben esperar a que los otros nodos se sincronizen para poder ser visibles y editables, en este caso la disponibilidad queda en segundo plano frente a la consistencia.

En el ámbito de la seguridad MongoDB utiliza un control de acceso basado en roles con privilegios flexibles, sus características de seguridad incluyen autenticación, auditoría y autorización. También permite el uso de TLS/SSL con el propósito de encriptar los datos y que solo sean accesibles para el cliente.

Validación de documentos

Motores de almacenamiento integrado

Menor tiempo de recuperación ante fallas

Desventajas

No es una solución adecuada para aplicaciones con transacciones complejas

No tiene un reemplazo para las soluciones de herencia

Aún es una tecnología joven

Características de MySQL

MySQL ya tiene varios años en la vuelta por lo que tiene una comunidad enorme y más sólida.

Como todos sabemos a la hora de comenzar a trabajar con MySQL es necesario crear nuestro quema con las tablas y campos que vamos a necesitar para guardar nuestros datos. Si eres principiante el esquema se vuelve una prueba y error donde debemos cambiar el modelo cada vez que debemos guardar un dato que no fue contemplado, incluso los expertos muchas veces deben cambiar el esquema sobre la marcha.

En MySQL las consultas se manejan con un lenguaje estructurado como lo es SQL, por lo general suele ser bastante simple una vez le agarramos la mano, el mismo implica 2 partes un lenguaje de definición de datos (DDL) y un lenguaje de manipulación de datos (DML).

En la tabla comparativa vemos que MYSQL bajo el teorema CAP se inclina por CA (Consistencia y disponibilidad), esto significa que la información será consistente entre todos los nodos mientras los mismos estén disponibles. Esto nos permite leer/escribir desde cualquier nodo y estar seguros de que los datos serán consistentes. Si se realiza una partición entre nodos los datos no estarán sincronizados y no se resolverá hasta que se resuelva la partición.

MySQL utiliza un modelo de seguridad basado en privilegios, a cada usuario se le asigna privilegios sobre la base de datos de tipo CREATE, SELECT, INSERT, UPDATE entre otros. MySQL también utiliza encriptación para la conexión entre el server y el cliente del tipo SSL.

Soporta transacciones atómicas

Soporta el uso de JOIN

Seguridad basada en privilegios con uso de contraseña

Es una tecnología madura

Desventajas

Difícil de escalar

Problemas de estabilidad

No es un desarrollo impulsado por la comunidad

Performance y Velocidad

Los datos de la gráfica fueron tomados en base a 1.000.000 registros con MySQL 5.7.9 y MongoDB 3.2.0 utilizando las configuraciones por defecto en un servidor Ubuntu con 8 CPUs virtuales y 32 GB de ram en entornos separados.

MongoDB es más rápido que MySQL gracias a su capacidad para manejar grandes cantidades de datos no estructurados, permitiendo realizar consultas de manera sensible al workload (carga de trabajo). Mientras que MySQL suele ser más lento al momento de manejar grandes bases de datos.

Si vamos a juzgar qué base de datos debemos utilizar dependiendo la performance pues esto dependerá de qué tan grande sea y del volumen de datos que vayamos a manejar. Cuanto más grande sea nuestra base de datos y manejo de grandes volúmenes de información más nos convendrá utilizar una base de datos no relacional como mongoDB. En cambio sí sabemos que nuestra base de datos no crecerá mucho y los datos insertados tendrán siempre el mismo formato, pues nos conviene más MySQL.

¿Cuando elegir una u otra?

Cuando elegir una u otra siempre va a depender de las necesidades y características de tu proyecto, ninguna es mejor que la otra simplemente son diferentes y funcionan mejor para diferentes casos.

MySQL ofrece alto rendimiento, flexibilidad, protección confiable de datos, alta disponibilidad y es fácil de administrar. Si se indexa correctamente puede mejorar notoriamente el rendimiento, facilitar las consultas y mejorar la robustez. Cabe destacar que es una mejor opción si vamos a realizar transacciones complejas.

Por otro lado MongoDB como ya hemos mencionado es una mejor opción si no tienes un esquema definido o manejas datos no estructurados. Si manejas grandes volúmenes de datos y bases de datos muy grandes MongoDB te ofrecerá un mejor rendimiento, por otra parte si necesitas almacenar muchos datos como documentos/archivos MongoDB es una mejor opción que te ayudara muchisimo.

En tu caso... ¿cuál prefieres para tus proyectos?

Otros versus interesantes:

# data[].attributes.attachment_link.title
MySQL vs MongoDB: Diferencias, Ventajas y Desventajas

# data[].attributes.attachment_link.description
Hoy en día las bases de datos NoSQL o no-relacionales se han puesto de moda, sobretodo porque ofrecen flexibilidad y alta performance en comparación con las bases de datos relacionales. ¿Pero estas bases de datos son mejores que las relacionales? ¿Conviene usarlas siempre o en determinados casos?

# data[].attributes.headline
Comparacion bases de datosNoSQL para elegir la opcion adecuada

# data[].attributes.subject
Comparacion bases de datosNoSQL para elegir la opcion adecuada

# data[].attributes.attachment_link.readable_text
vege - stock.adobe.com

por

Las bases de datos NoSQL han ido en aumento durante más de una década. A partir de Google y las redes sociales, no es de extrañar que admitan conjuntos de datos diversos y complejos de una manera que las bases de datos relacionales no lo hacen.

Encontrar la base de datos NoSQL adecuada sigue siendo un desafío porque hay muchas opciones con diferentes arquitecturas y casos de uso principales. Una comparación de bases de datos NoSQL comienza con muchas consideraciones.

¿Qué es NoSQL?

Una de las partes más difíciles de definir bases de datos NoSQL es que se definen con mayor frecuencia por lo que no son. Lo principal de estas bases de datos es que el lenguaje de consulta principal no solo es SQL. Hay cuatro tipos principales de bases de datos en la distinción NoSQL: valor clave, columna ancha, basada en documentos y gráfica.

Valor clave. Esta base de datos conecta una clave única con un valor asociado. Los valores pueden variar desde notaciones simples hasta documentos JSON más complejos. Los almacenes de valores clave son altamente escalables, lo que los hace populares para los datos de rutas de clics y los medios de transmisión.

Columna ancha. Las bases de datos de columnas anchas almacenan datos en tablas grandes basadas en columnas en lugar de filas. Las consultas se pueden ejecutar rápidamente en grandes cantidades de datos, lo que hace que estas bases de datos sean comunes para los datos minoristas y de internet de las cosas (IoT).

Basado en documentos. Estas bases de datos almacenan información semiestructurada en formato de documento. Este formato facilita la actualización y la creación de programas. Debido a esto, los almacenes basados en documentos se utilizan a menudo para servicios financieros y datos de administración de contenido.

Graficos. En las bases de datos de gráficos, los datos se almacenan en nodos y almacenan la relación entre cada nodo como datos adicionales. Este formato permite una exploración más sencilla de las relaciones entre los datos y se utiliza a menudo cuando las relaciones son especialmente importantes, como la protección contra el fraude y los servicios de recomendación de clientes.

¿NoSQL está saliendo?

Durante años, los expertos han promocionado que NoSQL está saliendo. Muchos han citado el ciclo de exageraciones de Gartner y, hasta cierto punto, la exageración de NoSQL se ha agotado en muchas industrias. Pero estas bases de datos se han mantenido fuertes para ciertas aplicaciones, aunque las bases de datos relacionales siguen siendo dominantes en el mercado. En 2019, Forrester informó que la mitad de los tomadores de decisiones de tecnología de análisis y datos globales ya habían implementado o estaban planeando implementar NoSQL.

Si bien muchas organizaciones encuentran sus necesidades de datos satisfechas con bases de datos relacionales, NoSQL todavía se considera estándar para ciertos casos de uso, incluida la administración de datos de IoT, transmisión de medios, redes sociales y análisis en tiempo real, donde una gran cantidad de datos ingresa rápidamente y, con frecuencia, desestructurados. Según un estudio reciente de ScaleGrid, un proveedor de bases de datos como servicio, más del 75% de los usuarios de bases de datos múltiples incluyen tanto SQL como NoSQL para administrar sus datos.

Multi-modelo y NoSQL

Si bien existe una creciente necesidad de bases de datos multimodelo, todavía no es común en las bases de datos NoSQL más populares. Sin embargo, está creciendo a medida que lo hace la necesidad de múltiples modelos de datos.

Actualmente, muchas organizaciones usarán múltiples bases de datos, algunas incluso dividen sus datos entre bases de datos relacionales y NoSQL, para diferentes modelos de datos en pilas políglotas, aunque este no es el formato más deseable. Hoy en día, DynamoDB, Couchbase y Redis de Amazon ofrecen capacidades de modelos múltiples, y seguramente otros seguirán.

Seguridad

La seguridad se ha considerado durante mucho tiempo un problema para las bases de datos NoSQL. Uno de los beneficios de la mayoría de los modelos es la posibilidad de que varios analistas tengan acceso a los datos disponibles. Sin embargo, esto es intrínsecamente contrario a la intuición para proteger las bases de datos.

En los últimos años, los modelos NoSQL han implementado más y más fuertes medidas de seguridad, desde el cifrado automático de datos hasta métodos de autenticación y autorización de usuarios. Además, para complementar el aumento de la seguridad, muchas bases de datos NoSQL incluyen registros de auditoría estándar para alertar a las empresas con anticipación sobre inconsistencias en los datos o registros para que las empresas puedan ser más proactivas para detener las filtraciones de datos.

Comparación de bases de datos NoSQL

Si los datos de su organización parecen ser adecuados para una base de datos NoSQL, todavía existe el problema de elegir la base de datos correcta para respaldar esos datos. Con tantas opciones disponibles y tantas estructuras diferentes para bases de datos NoSQL, decidir cuál funcionará mejor para su organización no es una tarea fácil.

Esta comparación de bases de datos NoSQL revisa las opciones más populares. Aunque existen otras bases de datos en el mercado, estas abarcan toda la gama de arquitecturas típicas, seguridad y casos de uso populares.

# data[].attributes.attachment_link.title
Comparación de bases de datosNoSQL para elegir la opción adecuada

# data[].attributes.attachment_link.description
vege - stock.adobe.com por Las bases de datos NoSQL han ido en aumento durante más de una década. A partir de Google y las redes sociales, no es de extrañar que admitan conjuntos de datos diversos y complejos de una manera que las bases de datos relacionales no lo hacen.

# data[].attributes.attachment_link.readable_text
MySQL es un gestor de bases de datos, y actualmente uno de los más usados y reconocidos del mercado. Especialmente en lo que se refiere a desarrollo web, está clasificada como la base de datos de código abierto más popular del mundo.

Fue desarrollada inicialmente por MySQL AB, luego adquirida por Sun Microsystems y luego posteriormente por Oracle Coporation en 2010.

Está desarrollado mayormente por una mezcla de los lenguajes C y C++. Es uno de los cuatro componentes del paquete de desarrollo LAMP, para Linux (corre perfecto en cualquier distro Linux, y se hizo muy popular al hacerlo en RedHat Enterprise), y WAMP, para Windows Server.

MySQL es utilizado por sitios webs muy populares y de gran tamaño. Entre estos sitios destacados, podemos nombrar algunos ejemplos como: Youtube, Wikipedia, Facebook, Google, Flickr y Twitter.

Es mayormente utilizando en conjunción con servidores web donde se lo encuentra relacionado a aplicaciones web o CMS para sitios online, como Wordpress, Joomla!, Drupal, entre otros. Está muy ligado a PHP en lo que se refiere a este tipo de desarrollos.

Es una base de datos que presenta rapidez en lectura, sobre todo cuando se utilizan ciertos motores como MylSAM o InnoDB. A pesar de ello, se puede presentar problemas el utilizarla en entornos o desarrollos que presenten una alta concurrencia de modificación.

Como en los desarrollos de aplicaciones web no se suele presentar un número elevado de modificaciones de datos, sino mas bien de lectura frecuente de datos, MySQL se presenta como la BD ideal para estos casos.

Igualmente, sea cual sea el entorno y objetivo por el cuál se pretenda utilizar MySQL, es necesario monitorizar el rendimiento para poder corregir los errores, tanto de programación como de SQL.

Actualmente, las versiones de MySQL que se siguen desarrollando y recibiendo soporte son aquellas posteriores a la 5.5.0 M2.

Aunque MySQL está especialmente optimizado para su funcionamiento en sistemas operativos GNU/Linux, está disponible para casi el 100% de los sistemas que se utilizan actualmente en todos los equipos electrónicos con apenas diferencia de rendimiento entre las distintas distribuciones.

Características de MySQL

MySQL es un sistema de base de datos relacional, lo que quiere decir que archiva datos en tablas separadas en lugar de guardar todos los datos en un gran archivo, lo que le permite tener mayor velocidad y flexibilidad. Estas tablas están relacionadas de formas definidas, por lo que se hace posible combinar distintos datos en varias tablas y conectarlos.

Cualquier persona puede utilizar MySQL y crear modificaciones bajando el código fuente con el fin de ajustarlo a su medida y para su uso, ya que es un software de código abierto. Se establece el GPL (General Public License) en donde se define lo que un usuario puede realizar o no con el software. Si un usuario no se ajusta a las medidas del GPL o requiere el uso del software para aplicaciones comerciales, se puede comprar una versión comercial licenciada.

Inicialmente MySQL carecía de características que podrían considerarse esenciales de las bases de datos relacionales, como integridad referencial y transacciones, aunque a pesar de esto los desarrolladores web comenzaron a utilizarla debido a su simplicidad. A lo largo de las versiones y actualizaciones, estos requerimientos se han ido incorporando al software, tanto por parte de la compañía Oracle como también de desarrolladores de software libre.

Algunas características de MySQL son:

Permite escojer múltiples motores de almacenamiento para cada tabla.

Agrupación de transacciones, pudiendo reunirlas de forma múltiple desde varias conexiónes con el fin de incrementar el número de transacciones por segundo.

Conectividad segura.

Ejecución de transacciones y uso de claves foráneas.

Presenta un amplio subconjunto del lenguaje SQL.

Replicación

Disponible en casi todas las plataformas o sistemas.

Búsqueda e indexación de campos de texto.

Utiliza varias herramientas para portabilidad.

Tablas hash en memorias temporales

Uso de tablas en disco b-tree para búsquedas rápidas con compresión de índice.

Ofrece un sistema de contraseñas y privilegios seguros de verificación basada en el host y tráfico de contraseñas encriptado al conectarse a un servidor.

Uso de multihilos mediante hilos de kernel.

Soporta gran cantidad de datos, incluso con más de 50 millones de registros.

En las últimas versiones, se permiten hasta 64 índices por tablas. Cada índice puede consistir desde 1 a 16 columnas o partes de columnas. El máximo ancho de límite son de 1000 bytes.

Ventajas y desventajas de MySQL

A continuación enumeramos algunas de las ventajas que presenta MySQL (sobre todo comparables frente a su eterno rival, PostgreSQL), especialmente aquellas que la han convertido en una de las BDs más utilizadas para desarrollos web.

Ventajas:

1. MySQL es de uso libre y gratuito.

2. Software con Licencia GPL.

3. Bajo costo en requerimientos para la elaboración y ejecución del programa.

4. No se necesita disponer de Hardware o Software de alto rendimiento para la ejecución del programa.

5. Velocidad al realizar las operaciones y buen rendimiento.

6. Facilidad de instalación y configuración.

7. Soporte en casi el 100% de los sistemas operativos actuales.

8. Baja probabilidad de corrupción de datos.

9. Entorno con seguridad y encryptación.

Desventajas:

1. Al ser de Software Libre, muchas de las soluciones para las deficiencias del software no están documentados ni presentan documentación oficial.

2. Muchas de sus utilidades tampoco presentan documentación.

3. Se debe controlar/monitorizar el rendimiento de las aplicaciones en búsca de fallos.

4. No es el más intuitivo de los programas que existen actualmente para todos los tipos de desarrollos.

5. No es tan eficaz en aplicaciones que requieran de una constante modificación de escritura en BD.

Instalación de MySQL en Ubuntu

Para instalar y configurar MySQL en Ubuntu, podemos seguir los siguientes pasos. Debemos tener en cuenta que disponemos de MySQL en el repositorio de Ubuntu a partir de la versión 5.7.

Instalación

Para comenzar la instalación, lo primero que debemos hacer es actualizar el índice de paquetes del sistema, e instalarlo de la siguiente manera desde nuestra terminal de comandos:

sudo apt-get update

sudo apt-get install mysql-server

Durante la instalación se solicitará la elección de contraseña de root para mysql. Se recomienda elegir una contraseña segura y guardarla en un lugar confiable, ya que la necesitaremos más adelante.

Si es una instalación nueva, se recomienda securizar las opciones predeterminadas menos seguras para inicios de sesión raiz remotos y usuarios anónimos. Esto se puede hacer ejecutando el siguiente comando en consola:

mysql_secure_installation

Para ejecutar este comando, se te solicitará la contraseña de root creada anteriormente en la instalación. Luego se te desplegará una lista con las opciones predetermindas y podemos aceptar los valores indicados presionando la tecla "y" + ENTER. Esto lo haremos en todas, menos en la que pregunta si deseamos cambiar la contraseña de root, ya que la tenemos seleccionada y no queremos cambiarla nuevamente.

Probemos a ver si funciona bien

En algunos casos es posible que mysql se inicie de forma automática luego de finalizar la instalación. Igualmente, podemos iniciarlo con el siguiente comando:

sudo systemctl start mysql

Para verificar que el programa esté corriendo correctamente, podemos comprobarlo de la siguiente manera:

sudo systemctl status mysql

Si MySQL está activo, debería mostrar algo así en la consola:

mysql.service - MySQL Community Server

  Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en

  Active: active (running) since Mon 2019-01-28 16:18:45 UTC; 26 min ago

Main PID: 3754 (mysqld)

  Tasks: 28

 Memory: 142.3M

    CPU: 1.994s

 CGroup: /system.slice/mysql.service

         └─3754 /usr/sbin/mysqld

Con esto, ya tendremos instalado MySQL en nuestro sistema operativo Ubuntu.

Instalación de MySQL en CentOS

Para instalar correctamente MySQL en CentOS, debemos seguir los pasos que se describirán a continuación.

Preparación del sistema

Antes de instalar mysql, debemos verificar si nuestro sistema está actualizado, de lo contrario, debemos actualizarlo mediante nuestra consola con el comando:

sudo yum update

Luego de que nuestro sistema esté actualizado, debemos descargar los repositorios de mysql. Por ejemplo, podemos utilizar la versión para Linux 7 desde aquí: https://dev.mysql.com/downloads/repo/yum/

Ahora, descargaremos los repositorios mediante el siguiente comando:

wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

Al finalizar la descarga, notaremos que el archivo .rpm fue guardado.

Luego, lo que debemos hacer es preparar los repositorios para luego instalar mysql. Esto se hace de la siguiente forma mediante comandos:

sudo rpm -Uvh mysql80-community-release-el7-2.noarch.rpm

Esperamos que la barra de carga llegue al 100% y posteriormente podremos instalar MySQL.

Instalación

Para proceder con la instalación de MySQL, procedemos a ejecutar el siguiente comando desde la terminal:

sudo yum install mysql-server

Se mostrará una lista de paquetes y debemos confirmar mediante la tecla "y" + ENTER y descargarlos. Cuando finalice la descaga, debemos confirmar para instalarlos presionando nuevamente "y" + ENTER.

Esperamos a que se complete la instalación que se mostrará en la consola. Cuando la misma muestre el mensaje "Complete!" significa que ya se completó la instalación de MySQL.

Verificando si MySQL funciona bien

Ahora pasaremos a verificar que el servicio se esté ejecutando correctamente. Para iniciarlo, debemos introducir el siguiente comando y esperar unos segundos:

sudo systemctl start mysqld

No se mostrará una respuesta en la consola que nos indique si el programa ya está corriendo o no. Para averiguarlo, debemos ejecutar lo siguiente:

sudo systemctl status mysqld

Luego se nos mostrará en la pantalla de la consola un mensaje que nos indicará si MySQL está corriendo de forma correcta, el tiempo que lleva corriendo, entre varios datos más.

Siguiendo correctamente este tutorial de instalación, podemos disfrutar de MySQL y comenzar a utilizarlo en nuesto sistema operativo Linux.

# data[].attributes.attachment_link.description
MySQL es un gestor de bases de datos, y actualmente uno de los más usados y reconocidos del mercado. Especialmente en lo que se refiere a desarrollo web, está clasificada como la base de datos de código abierto más popular del mundo.

# data[].attributes.body
https://www.hispasys.com/blog/2020/08/13/mariadb-vs-mysql-cual-es-mejor/

# data[].attributes.attachment_link.readable_text
Cada vez se está hablando más acerca de la base de datos . Lanzada en el año 2009, ahora parece que empieza a estar en auge. Grandes proyectos han migrado ya a MariaDB como Wikipedia, Hispasys, etc, pero... ¿qué es MariaDB? y lo más importante, ¿merece la pena migrar de MySQL a MariaDB?

¿Qué es MariaDB?

MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Es desarrollado por Michael Widenius, fundador de MySQL, la fundación MariaDB y la comunidad de desarrolladores de software libre.​

Ventajas y desventajas de MariaDB

Al ser una alternativa a MySQL, su prioridad número uno es mantener una compatibilidad completa con el sistema anterior de MySQL, para que las posibles migraciones de esta con MariaDB sean de una forma limpia y sin problemas. Añadido a ésto, MariaDB trae una serie de ventajas interesantes:

Ventajas de MariaDB

Nuevos motores de almacenamiento más eficientes. Aria y XtraDB vienen a reemplazar a MyISAM y InnoDB respectivamente. Cabe destacar el mayor rendimiento de Aria, cuando recibe consultas complejas y tiene que realizar tablas temporales, éstas se cachean en memoria en vez de escribirlas en disco.

Estadísticas para índices y tablas que pueden ayudar para la optimización de la base de datos. Se añaden nuevas tablas de sistema para recoger esta información.

En general, muchas mejoras para aumentar el rendimiento y la eficiencia con respecto a MySQL.

Desventajas de MariaDB
La migración de un sistema muy testado y fiable como es MySQL. Aunque se garantiza una absoluta compatibilidad, y un gran sistema estable y potente, hay que valorar si a día de hoy merece pasar todo mi sistema a MariaDB.

¿Merece la pena pasar a MariaDB?

Entonces, ¿merece la pena?. Cada uno deberá valorar si merece la pena el migrar o no. Eso si, para un proyecto nuevo que tienes pensado hacer en MySQL, deberías pensar mucho si no es mejor empezarlo con la nueva y potente MariaDB. Si sigues dudando, entra en su web y adéntrate en las nuevas posibilidades que te ofrece.

# data[].attributes.attachment_link.description
Cada vez se está hablando más acerca de la base de datos . Lanzada en el año 2009, ahora parece que empieza a estar en auge. Grandes proyectos han migrado ya a MariaDB como Wikipedia, Hispasys, etc, pero... ¿qué es MariaDB? y lo más importante, ¿merece la pena migrar de MySQL a MariaDB?

# data[].attributes.attachment_link.readable_text
Si para nuestro proyecto nos orientamos hacia un sistema de código abierto, llega el momento en que tenemos que sopesar PostgreSQL Vs MySql y nos encontraremos casi obligatoriamente a tener que escoger uno de estos dos motores de bases de datos. Cada uno nos ofrece sólidos argumentos avalados por más de 20 años de historia. Pero ¿cuál elegir? ¿cuál es mejor?

PostgreSQL es un sistema de gestión de bases de datos relacionales (RDBMS) orientado a objetos de código libre, con un énfasis en la extensibilidad y el cumplimiento de los estándares.

MySQL también es un RDBMS, disponible bajo un esquema de doble licenciamiento: licencia pública GNU GPL así como con licencia comercial por Oracle Corporation.

Vamos a ver las principales características de estos dos conocidos motores de bases de datos, lo que nos ayudará para saber si elegir PostgreSQL o MySQL.

PostgreSQL: características y funciones

Los orígenes de PostgreSQL remontan a 1982 en un proyecto de la Universidad de Berkeley llamado Ingres y que ha evolucionado en una gran comunidad libre y que mantente el proyecto de forma colaborativa y sin ánimo de lucro.

Las principales características de este motor de base de datos son:

Está optimizado para query complejas que incluyen operaciones de lectura y escritura con datos que necesitan validación.

Su amplio cumplimiento con el estándar ISO.

MySQL: características y funciones

MySQL fue inicialmente desarrollado en 1995 por MySQL AB, empresa adquirida por Sun Microsystems y que luego paso a ser propiedad de Oracle Corporation.

Las principales razones para elegir MySQL son:

PostgreSQL Vs MySQL: ¿cuál elegir?

La elección de PostgreSQL vs MySQL no es para nada sencilla y depende de las características concretas del proyecto que queremos desarrollar. A primera vista, sus funcionalidades son similares, pero mirando con más atención veremos que hay diferencias importantes. Por esto, para orientarnos es importante destacar como se desenvuelven ambos motores según unas características clave.

MySQL es actualmente el sistema de base de datos relacionales de código libre más popular del mundo. Sin embargo, la popularidad de PostgreSQL se ha incrementado en los últimos 5 años. Según la popular web de clasificación DB-Engines Ranking , PostgreSQL se posiciona en el cuarto lugar, por detrás de las Oracle, MySQL y Microsoft SQL Server. Y, a su ritmo de crecimiento actual, es posible que alcance pronto a su competencia.

MySQL es un motor muy ágil rápido en el caso de proyectos de páginas o aplicaciones web escalables, que hacen uso de una base de datos únicamente para transacciones de datos sencillas, y en los cuales la velocidad en lectura de datos es lo más importante. Por otro lado, PostgreSQL parece la elección mejor en el caso de proyectos grandes y complejos con operaciones de datos de alto volumen, que requieren alta velocidad, fiabilidad y escalabilidad tanto en lectura como escrituras de datos.

Integridad y fiabilidad

Independencia open source

Además, a diferencia de cualquier otra de las bases de datos más populares, PostgreSQL es dirigido por una comunidad de código abierto (open source), el PGDG ( PostgreSQL Global Development Group ) y no depende de ningún proveedor. Por el contrario, MySQL aunque también se ofrece bajo licencia GNU GPL, es propiedad de Oracle Corporation, que también lo ofrece bajo licencia comercial con funcionalidades ampliadas, por lo que podría darse el caso de que Oracle decidiera cambiar las condiciones de uso en cualquier momento afectándonos directamente.

El lenguaje SQL ( Structured Query Language ) es parte de la familia de estándares ISO desde 1987, y como tal, se actualiza y revisa periódicamente. La ultima revisión es la ISO/IEC 9075:2016. El cumplimiento con el estándar nos asegura, entre otras cosas, compatibilidad y portabilidad hacia otros sistemas de gestión de bases de datos. En este sentido, PostreSQL cumple de forma mucho más estricta con el estándar que MySQL.

Lenguajes de programación

También bajo este aspecto, es PostreSQL quién nos puede proporcionar un soporte y extensibilidad para distintos tipos de datos más allá de los tipos bases, además de funciones propias.

PostgreSQL Vs MySQL: tu proyecto elige

El Big Data está en la boca de todos y los sistemas (no solo SQL) están viviendo su auge. Sin embargo, si nuestro proyecto necesita mantener los principios ACID, nuestros mayores aliados siguen siendo los "viejos buenos" sistemas de gestión de bases de datos relacionales, como MySQL y PostgreSQL.

# data[].attributes.attachment_link.title
PostgreSQL vs MySQL ¿Cuál usar para mi proyecto?

# data[].attributes.attachment_link.description
Si para nuestro proyecto nos orientamos hacia un sistema de código abierto, llega el momento en que tenemos que sopesar PostgreSQL Vs MySql y nos encontraremos casi obligatoriamente a tener que escoger uno de estos dos motores de bases de datos. Cada uno nos ofrece sólidos argumentos avalados por más de 20 años de historia.

# data[].attributes.attachment_link.description
La elección de una base de datos es fundamental, ya que de eso depende que la información de la compañía esté segura y además, que el acceso a ella sea fácil.

# data[].attributes.attachment_link.readable_text
Las organizaciones a menudo emplean un sin número de plataformas de base de datos en su arquitectura de sistemas de información. No es raro ver a medianas y grandes empresas utilizando de tres a cuatro diferentes paquetes de RDBMS. En consecuencia, los DBA de estas empresas aspiran a tener una amplia gama de habilidades a través de una serie de áreas.
Profesionales de la base de datos que han trabajado con una sola plataforma se preguntan a menudo sobre el aprendizaje de algo diferente a medida que avanzan en su carrera. Algunas personas se vuelven lo suficientemente valientes como para gastar tiempo, dinero y esfuerzo en tomar el camino del aprendizaje. Otros se enfrentan a la tarea de aprender un nuevo sistema que se une a una empresa o de búsqueda de puestos de trabajo. Y, sin duda, especialistas en contratación y los empleadores también prefieren candidatos que tengan experiencia en más de una área.

Desde mi experiencia he encontrado que cuando se trata de aprender una plataforma nueva base de datos, a menudo es mejor mirar a lo que ya sabemos y luego tratar de encontrar el equivalente en el nuevo entorno. Esto hace las cosas mucho más fácil. Claro, habrá nuevos conceptos para comprender y tal vez algún desaprender a hacer así, pero no estamos partiendo de cero tampoco. Para dar un ejemplo, un desarrollador de SQL Server que quiere escribir procedimientos almacenados de Oracle puede empezar mirando las funciones integradas y en qué difieren. También puede comparar quizá cómo se declaran variables y cómo se manejan los errores.

En este artículo voy a tratar de proporcionar un alto nivel de comparación entre Microsoft SQL Server y Oracle RDBMS (10g y superior). Nos centraremos principalmente en los conceptos arquitectónicos entre los dos. No es en modo alguno una lista exhaustiva, pero le ayudará a ver algunas de las similitudes y diferencias entre las dos plataformas de base de datos más utilizadas hoy en día las. Aunque esto ha sido escrito para un DBA SQL Server, puede ayudar a los profesionales de Oracle a mirar al otro lado de la cerca también.

Sin más preámbulos, vamos a empezar a explorar.

Sistemas operativos compatibles

Microsoft SQL Server ha sido siempre una parte de la familia de servidores Windows y hay pocas posibilidades de que Microsoft vaya a lanzar una versión para otro sistema operativo. En la actualidad, SQL Server se ejecuta en XP, Vista, Windows Server 2000, 2003 y 2008. La plataforma de base de datos está disponible para los de 32 bits y 64 bits de Windows.

Para el caso de Oracle, software de base de datos con soporte multiplataforma incluye no sólo Windows (32 bits y 64 bits), pero Linux y diferentes variantes de Unix (Solaris, HP-UX, AIX, etc) también.

Versiones y ediciones

En el momento de escribir esto, SQL Server 2008 es la versión actual del producto de base de datos de Microsoft. La próxima versión que saldrá es SQL Server 2008 R2 que se encuentra en su fase de CTP. La versión anterior, SQL Server 2005, vio una importante actualización de su predecesor, SQL Server 2000. SQL Server 2005 es todavía relativamente nueva para muchas empresas y hay todavía un gran número de organizaciones que utilicen bases de datos de SQL Server 2000.

Oracle por otro lado ha recorrido un largo camino desde sus primeros días y ahora está en la versión 11g R2. La versión más prominente de 10g R2 ha estado presente en el mercado por algún tiempo y es considerado un caballo de batalla. 10g es la primera versión de Oracle que introdujo el concepto de "grid computing". Hay empresas que siguen utilizando Oracle 9i para sus aplicaciones de negocio.

En términos de ediciones de SQL Server 2008 R2 ofrece actualmente los siguientes:

Enterprise Edition: La edición Enterprise tiene todas habilitadas las características avanzadas y es apto para a gran escala, sitios de base de datos de alto volumen.

Standard Edition: Esto ofrece una plataforma asequible para las empresas que no requieren de las funciones avanzadas de la Enterprise Edition. La mayoría de las empresas suele desplegar sus bases de datos en los instancias de la edición estándar.

Workgroup Edition: La edición de grupo de trabajo es adecuada para pequeñas aplicaciones departamentales e incorpora las características esenciales del producto.

Web Edition: Esta es la destinada a ser utilizada por los proveedores de alojamiento como solución back-end de bajo coste para aplicaciones web.

Express Edition: motor del servidor SQL embebido que puede ser utilizados para el almacenamiento local de datos y sistema de desarrollo de pequeñas escala. La edición Express se puede descargar gratis y pueden ser distribuída gratuitamente con un software.

Compact Edition: La edición Compact permite a los usuarios desarrollar aplicaciones para computadoras de escritorio de Windows y dispositivos de mano.

Developer Edition: Todas las características de la versión Enterprise Edition está disponible en la edición para desarrolladores. Sin embargo, tiene licencia de uso por un usuario a la vez y está destinado a ser utilizado para fines de desarrollo y pruebas.

Aparte de la versión Enterprise Edition, SQL Server 2008 R2 también ofrecerá dos ediciones "premium" para los grandes centros de datos y data warehouses. Estas ediciones se llamarán Datacenter Edition y el Parallel Data Warehouse Edition, respectivamente.

Para Oracle 11g R2, los variantes son:

Enterprise Edition: Esta ofrece el máximo rendimiento por tu dinero. Al igual que el SQL Server Enterprise Edition, todas las características y las capacidades del producto están permitido en esta edición.

Standard Edition: Al igual que el estándar SQL Server Edition, la edición estándar de Oracle tiene habilitadas las principales características del producto y es adecuado para aplicaciones de negocios.

Standard Edition One: Esta edición está diseñada para pequeños grupos de trabajo y la licencia para un mñaximo de 5 usuarios.

Express Edition: En pequeña escala, base de datos inicial para fines de desarrollo y tiene licencia para redistribuirlo libremente. Express Edition 10g está todavía en la versión R2.

El siguiente cuadro muestra la comparación entre las distintas ediciones de SQL Server y Oracle:

Instancias, bases de datos y de tablas

Tal vez la primera diferencia de nivel entre la arquitectura de SQL Server y Oracle se encuentra en el concepto de instancias y bases de datos.

Una instancia en términos de SQL Server, significa un servicio de aplicación autocontenida que implica archivos del sistema operativo, las estructuras de memoria, los procesos de segundo plano y la información de registro. Una instancia está representada por un servicio en Windows y puede estar en ejecución o estado detenido. Cuando se ejecuta, una instancia ocupa una porción de la memoria del servidor, y también genera una serie de procesos de segundo plano.

Lo central de una instancia de SQL Server son sus bases de datos. Una base de datos de SQL Server es el repositorio de datos y el código del programa para la manipulación de esos datos. Si una instancia no se está ejecutando, las bases de datos dentro de ella no se puede acceder.

Hay dos tipos de bases de datos de SQL Server: bases de datos de sistema y de bases de datos de usuario. Cuando una instancia de SQL Server se instala por primera vez, cinco bases de datos del sistema se crean: model, tempdb, master, msdb y resource. Si existe más de una instancia de SQL Server que se ejecuta en un equipo, cada instancia tendrá su propio grupo dedicado de bases de datos del sistema. Una instancia no puede iniciar si cualquiera de sus bases de datos del sistema, excepto msdb esta inaccesible o está dañada. Las bases de datos del usuario por otro lado son creadas por desarrolladores y administradores de bases después que la instancia se ha instalado y el sistema de bases de datos ha iniciado. Estas son las bases de datos que almacenan la información de negocios de las organizaciones.
Así pues, en definitiva, una instancia de SQL Server siempre incluye bases de datos (incluso si sólo están las del sistema) y una base de datos estará siempre asociado con una (y sólo una) instancia.

En el nivel físico, una base de datos de SQL Server está representada por un conjunto de archivos del sistema operativo que residen en el sistema de disco del servidor. Hay dos tipos de archivos de base de datos: el archivo de datos ( data file) y el archivo de registro de transacciones ( transaction log file). Como mínimo, una base de datos tendrá un archivo de datos y un archivo de registro de transacciones. Un archivo de datos es el repositorio central de información en una base de datos SQL. Un archivo de registro de transacciones de otro lado registra los cambios que se han aplicado a los datos. Este archivo es requerido por SQL Server para la recuperación del sistema. Un archivo de datos o de registro siempre pertenecen a una determinada base de datos: no hay dos bases de datos pueden compartir los mismos datos o archivo de registro. Si la base de datos es grande, puede tener múltiples archivos de datos. Múltiples archivos de datos de en una base de datos puede ser lógicamente agrupadas en estructuras conocidas como grupos de archivos.

Con Oracle, las cosas funcionan en la dirección inversa. Cuando Oracle se inicia, funciona igual que SQL en que una porción de la memoria del servidor se asigna para su funcionamiento. Esta área de memoria, conocido como el Área Global de Sistema ( SGA), se divide en una serie de estructuras diferentes. Junto con el espacio de memoria, una serie de procesos de fondo que también se inician para interactuar con el SGA. En conjunto, el espacio de memoria y los procesos constituyen una instancia de Oracle. Tenga en cuenta que la base de datos Oracle todavía no está presente. De hecho, una instancia de Oracle podría estar funcionando perfectamente bien sin su base de datos en línea o incluso ser accesible. Cuando instalas Oracle, hay una opción para instalar sólo el software y crear la base de datos más tarde.
Una base de datos en Oracle es una colección de archivos de sistema operativo. A diferencia de SQL Server, una base de datos Oracle no representan a la agrupación lógica de los objetos, sino que es un único término genérico para una serie de archivos en el disco que principalmente tienen datos.

Los archivos que componen una base de datos de Oracle se pueden clasificar en tres tipos: el archivo de datos ( data file), archivo de rehacer ( redo log file) y el archivo de control ( control file). Los archivos de datos es donde residen todos los datos. Puede haber cualquier número de archivos de datos en una base de datos de Oracle. Archivos Rehacer son como los archivos de registro de transacciones de SQL Server que registra que cada cambio realizado a los datos y se utiliza para la recuperación del sistema. Los archivos de control son un tipo especial de archivo que contiene pequeñas piezas de información vital acerca de la base de datos. Sin este archivo, la instancia no será capaz de abrir la base de datos.
Aparte de los archivos de datos, archivos rehacer y los archivos de control, la base de datos contendrá también un archivo de parámetros , y un archivo de contraseñas, opcionalmente, archivos de registro de archivado (archive log file). Vamos a discutir acerca de cada tipo de archivos de base de datos Oracle en breve.

Cuando se inicia un sistema de Oracle, primero la instancia se crea en la memoria. La instancia a continuación, se conecta a la base de datos que residen en el disco y, finalmente, se abre la base de datos para la interacción del usuario. Cuando el sistema se apaga, la instancia se borrará de la memoria: todas las estructuras de memoria y los procesos se terminan, pero la base de datos todavía existen en el disco, aunque en un estado cerrado. Como se dijo anteriormente, es posible tener la instancia de Oracle que se ejecutan sin necesidad de abrir la base de datos - es una gran diferencia de SQL Server donde una instancia no puede comenzar sin primero tener sus bases de datos de sistemas en línea. Sin embargo, como SQL Server, es imposible conectarse a una base de datos de Oracle, si la instancia no ha comenzado.

En general, la relación entre una instancia de Oracle y su base de datos es uno a uno. Una instancia tendrá una base de datos asociada con ella. Una base de datos por otra parte puede tener una o más instancias para acceder a ella. Una instalación independiente de Oracle constará de una única instancia de acceso a una base de datos única. Las instalaciones de Oracle configuradas como RAC ( Real Application Cluster) tendrán varias instancias que se ejecutan en diferentes máquinas que acceden a la misma base de datos en un disco compartido.

Entonces, ¿dónde está la agrupación lógica de los objetos de base de datos Oracle? En SQL Server, esta agrupación lógica es realizada por la propia base de datos. Para Oracle, se realiza a través de algo llamado espacios de tablas ( tablespaces). Un espacio de tablas de Oracle es una estructura lógica que agrupa a las tablas, vistas, índices y otros objetos de la base de datos. Por ejemplo, la base de datos Oracle de producción puede tener uno de tablas dedicado a la aplicación de recursos humanos y otro de tablas para la nómina. Cada espacio de tablas está físicamente representado por uno o más archivos de datos en el disco y forma parte de la base de datos. La base de datos es, lógicamente, compuesto de una serie de espacios de tabla y los espacios de tabla, a su vez están físicamente compuesto de uno o más archivos de datos.

El equivalente de Oracle para las base de datos de SQL Server es un espacio de tablas.

Y puesto que son tan similares en sus funciones, el proceso de creación de una base de datos en SQL Server es muy similar a la creación de un espacio de tablas en Oracle. Cuando se crea una base de datos o de un espacio de tablas, el DBA debe especificar un nombre. El DBA asigna uno o más archivos de datos a la base de datos o tablas de espacios y especifica el tamaño inicial y los incrementos de crecimiento de cada archivo.

Al igual que una base de datos de usuario de SQL Server se puede poner fuera de línea o de sólo lectura, también se puede en un espacio de tablas de usuario de Oracle. Y al igual que uno o más archivos de datos en una base de datos de usuarios de SQL Server puede ser de sólo lectura, uno o más archivos de datos en un espacio de tablas de usuarios de Oracle pueden ser marcados fuera de línea.

Sin embargo, las bases de datos y de tablas difieren entre sí en las siguientes puntos:

En SQL Server, los archivos de datos puede ser, lógicamente, agrupados en grupos de archivos. Los espacios de tablas de Oracle no tienen este concepto.

En las bases de datos SQL Server, cada base de datos tendrá su propio registro de transacciones y las propiedades del archivo de registro deberá ser especificado durante la creación de bases de datos. Para Oracle, las transacciones de la base de datos completa (esto significa que por cada espacio de tablas) se registran en un registro rehacer (redo log). Por consiguiente, no existe ninguna disposición para crear archivos de registro individuales para espacios de tablas.

Para SQL Server, la base de datos puede ser creada con el modo de recuperación simple. El modo de recuperación simple: la parte inactiva del registro de base de datos se trunca después de cada punto de control. Oracle tiene un concepto similar, que veremos más adelante - pero no es posible configurar esa propiedad para espacios de tablas individuales.

Los nombres de instancia vs SID

Ambos SQL Server y Oracle permiten ejecutar simultáneamente varias instancias del software servidor en el mismo equipo. Estos múltiples contextos de ejecución son totalmente independientes unos de otros: en lo que se refiere a un motor de base de datos, no sabe ni le importa si otro se está ejecutando en el mismo equipo.

En SQL Server, este mecanismo se activa a través del concepto de instancias. SQL Server puede funcionar tanto como una instancia nombrada o como una instancia predeterminada. La instancia predeterminada tiene el mismo nombre que el servidor de Windows que lo hospeda. Obviamente, puede ser acogida una sola instancia predeterminada, pero es posible ejecutar varias instancias nombradas en esa misma máquina. Una instancia con nombre se identifica en la forma de HOSTNAME\INSTANCE_NAME, donde cada INSTANCE_NAME ejecutándose en la máquina tiene que ser único. Cada instancia tendrá su propio conjunto de archivos binarios con algunos componentes comunes y compartidos entre todos.

Para Oracle, funciona de la misma manera. Cuando se instala Oracle, el DBA debe especificar un nombre global de base de datos ( Global Database Name) y un identificador del sistema ( SID). La instancia y bases de datos son entidades completamente separadas en Oracle. Un nombre de base de datos global identifica unívocamente a una base de datos en la red donde se encuentra alojada y puede tener un nombre completo en la forma de database_name.network_domain_name. Un SID por otra parte identifica la instancia asociada con la base de datos. En la mayoría de los casos una sola instancia se asocia a una única base de datos, el SID y el nombre de base de datos será el mismo. Los entornos de Oracle Real Application Cluster (RAC) son una excepción: RAC permite que múltiples instancias accedan a la misma base de datos alojada en un almacenamiento compartido; los nombres de instancia son diferentes del nombre de base de datos en estos casos. Sin embargo, al igual que un equipo de SQL Server, un servidor de base de datos Oracle no puede tener dos instancias en ejecución con el mismo SID.

Un DBA de SQL Server puede ejecutar la siguiente consulta para saber el nombre de la instancia a la que está actualmente conectado a:

SELECT @@SERVERNAME

Un DBA Oracle ejecutar consultas como la siguiente para obtener la instancia y el nombre de base de datos:

SELECT INSTANCE_NAME, HOST_NAME, VERSION, DATABASE_STATUS FROM V$INSTANCE;
SELECT NAME, DATABASE_ROLE, CREATED FROM V$DATABASE;

Sistema de bases de datos y sistema de tablas

Una instancia de SQL Server dispondrá de cinco bases de datos de sistema (cuatro para las versiones anteriores de 2005) presente: master, model, msdb, tempdb y resource. Una base de datos Oracle necesita un mínimo de tres espacios de tablas de sistema para su funcionamiento: SYSTEM , SYSAUX y TEMP.

Las base de datos master y resource son los repositorios centrales de toda la información de SQL Server para gestionar las necesidades de sí mismo. Entre muchas otras cosas, contiene la configuración de su sistema, la lista de bases de datos y la ubicación de sus archivos, puntos finales, servidores vinculados y las cuentas de usuario (o "logins"). Objetos de nivel de sistema se almacenan en una base de datos de sólo lectura conocida como base de datos "resource".

Para Oracle, el espacio de tablas del sistema es el equivalente de la base de datos master. El espacio de tablas SYSTEM contiene el diccionario de datos, que son los metadatos de Oracle sobre sí misma. El diccionario de datos se puede comparar con la base de datos de recursos de SQL. Y probablemente ya has adivinado: Oracle no se iniciará si el espacio de tablas del sistema no está disponible o está dañado.

Para una instancia de SQL Server, la base de datos model es la "plantilla" que se utiliza para crear cada nueva base de datos en esa instancia. Se puede realizar un cambio en la base de datos model y el cambio se reflejará después en cada nueva base de datos creada. Para Oracle, no existe tal modelo, pero cuando se crea un espacio de tablas, puede especificar si será un espacio de tablas permanente o de cualquier otro tipo como un espacio de tablas TEMP o UNDO. Los espacios de tablas permanentes son los que contienen datos de usuario.

Tempdb de SQL Server se utiliza como una "scratch pad" para la instancia en su conjunto. Tempdb se crea cada vez que la instancia se reinicia y destruyó cada vez que la instancia se cierra. Los espacio de tablas TEMP de después hacen más o menos la misma tarea: se utiliza para ordenar los resultados que tienen operaciones a gran escala. Sin embargo, tempdb de SQL también se puede utilizar para versionado de filas. Cuando se activa para una base de datos, el versionado de filas asegura que el motor de base de datos mantiene un registro de cada versión de una fila de datos cuando se modifican. El copia pre-modificada de la fila es copiada en un almacén de versiones en la base de datos tempdb. Las consultas solicitando la fila de datos siempre tendrán la última versión confirmada. Cuando una operación de lectura utiliza un nivel de aislamiento basado en versionado de filas, no bloquea otras transacciones que intentan modificar los mismos datos. Esto es porque la consulta de lectura no pone un bloqueo compartido en las filas de datos. Sin embargo, este comportamiento debe ser explícitamente habilitado para cada base de datos.

Oracle utiliza el mismo concepto con otro tipo de espacios de tablas - conocido como el espacio de tablas UNDO. Un espacio de tablas UNDO tiene la posibilidad de copiar lecturas consistentes de datos que están siendo modificadas por una declaración DML. Cuando un usuario comienza a hacer cambios a los datos, una versión previa a la modificación de los datos es almacenada en el espacio de tabla UNDO. Si otro usuario desea consultar las mismas filas de los datos, obtendrá la versión previa a la modificación desde el espacio de tabla UNDO. A diferencia de SQL, esta función no tiene que ser activada explícitamente - es parte del mecanismo de acceso concurrente a datos de Oracle.

Por último, la base de datos msdb de SQL Server es necesaria para el funcionamiento de su servicio de Agente. El Agente SQL Server es el responsable de los trabajos programados, alertas, la replicación y el trasvase entre muchas otras cosas. Sin la base de datos msdb, el servicio del agente no se ejecuta.

No existe un equivalente claro de msdb en Oracle. El espacio de tablas SYSAUX es un espacio de tablas del sistema, creado durante el proceso de instalación. Contiene información como el Repositorio de Carga de Trabajo Automático ( AWR) de Oracle, datos espaciales y multimedia, bases de datos XML, etc

# data[].attributes.attachment_link.description
Tweet Las organizaciones a menudo emplean un sin número de plataformas de base de datos en su arquitectura de sistemas de información. No es raro ver a medianas y grandes empresas utilizando de tres a cuatro diferentes paquetes de RDBMS. En consecuencia, los DBA de estas empresas aspiran a tener una amplia gama de habilidades [...]

# data[].attributes.attachment_link.readable_text
¿MariaDB o MySQL? ¿Qué sistema de gestión de bases de datos va en cabeza? El proyecto de código abierto MySQL tiene más de 20 años de historia. MariaDB, una bifurcación del modelo clásico de base de datos relacionales, apareció por primera vez en 2009. Aunque en los inicios de MariaDB el objetivo principal era desarrollar un sustituto inmediato con una comunidad de código abierto de alto nivel, los objetivos de desarrollo actuales de los dos proyectos son muy diferentes. Te explicamos cuáles son.

El desarrollo de MySQL y MariaDB

La figura clave detrás de MySQL y MariaDB es el desarrollador de software finlandés Michael "Monty" Widenius. Junto con los suecos David Axmark y Alan Larsson, Widenius fundó la sociedad anónima MySQL AB, que en 1995, tan solo un año después de comenzar con el desarrollo, publicó la primera versión del sistema de gestión de bases de datos (DBMS) de código abierto MySQL, lo que supuso el inicio de una historia de éxito a nivel mundial. Esta culminó en 2008 con la venta del proyecto de software a Sun Microsystems por mil millones de dólares.

En el año 2009, Widenius abandonó el proyecto de software junto con otros de los desarrolladores principales de MySQL para concentrarse en el desarrollo de MariaDB, la bifurcación de MySQL. El motivo de la ruptura fue la inminente adquisición de Sun por parte del polémico gigante del software Oracle, que se produjo en el año 2010. El equipo de desarrolladores temía que Oracle entrara en un conflicto de intereses si la empresa desarrollaba el software de código abierto MySQL y, de manera simultánea, un software de bases de datos propietario.

Según Widenius, el objetivo de MariaDB es:

mantener reunidos a los creadores de MySQL,

fomentar la continuidad en el desarrollo de la comunidad y

garantizar que siempre haya disponible una versión de MySQL gratuita.

Con este propósito, Widenius creó en el año 2012 la MariaDB Foundation. El desarrollo de la bifurcación de MySQL se llevó a cabo en primera instancia a través de Monty Program AB, empresa fundada en 2009. Esta se fusionó en 2014 con SkySQL, formando la MariaDB Corporation.

Mientras que la MariaDB Foundation se encarga del desarrollo del proyecto comunitario MariaDB Server, la MariaDB Corporation se centra en la actividad comercial de la empresa. Con esta división, bien recibida por la comunidad de código abierto, la empresa pretende distanciarse de Oracle Corporation, que mantiene las dos áreas empresariales bajo la misma dirección.

MariaDB prioriza el desarrollo abierto, con dos principios básicos:

El código fuente de las partes de programa que se encuentran en fase de desarrollo está disponible en repositorios públicos.

Todas las fases de desarrollo se documentan de manera pública.

Por el contrario, el sistema de licenciamiento dual de Oracle ha recibido fuertes críticas por parte de la comunidad de código abierto. Estas se basan en las crecientes diferencias entre la versión de la comunidad de código abierto y los productos MySQL propietarios. En el pasado también se criticó el tratamiento opaco de los fallos de software.
Cronología del desarrollo de MySQL y MariaDB

Comparativa MySQL vs. MariaDB

Los sistemas de gestión de bases de datos MySQL y MariaDB están basados en el mismo núcleo de software. MariaDB es una bifurcación ("fork" en inglés) de MySQL 5.1, aunque con el paso del tiempo se ha convertido en un sistema de gestión de bases de datos autónomo. Aquí presentamos las principales diferencias entre las versiones actuales GA (General Availability) MySQL 8.0.11 y Maria 10.2.8 y nos centramos en los siguientes puntos:

estructura de la base de datos,

motores de base de datos,

consultas de base de datos,

rendimiento,

alta disponibilidad,

seguridad,

ecosistema,

asistencia técnica y

documentación y comunidad.

Estructura de la base de datos

El desarrollo de MariaDB se basa en la necesidad de garantizar la compatibilidad total con la estructura de la base de datos, así como con las API y los archivos de configuración de MySQL, para facilitar de este modo su reemplazo inmediato (drop-in replacement). El paso de MySQL a MariaDB o viceversa debería ser exactamente igual de sencillo que una actualización entre dos versiones diferentes de MySQL. El equipo de desarrolladores de MariaDB ha conseguido alcanzar este objetivo hasta la versión 7 de MySQL.

En principio, los dos sistemas de gestión de bases de datos están basados en la misma estructura de base de datos. Ambos sistemas cumplen con el modelo de base de datos relacional. La definición de archivos y tablas es compatible y se utilizan protocolos, estructuras e interfaces de programación idénticos. Todos los conectores de MySQL se pueden utilizar con MariaDB sin necesidad de modificarlos, de tal forma que las aplicaciones y herramientas queden interconectadas por medio de interfaces de base de datos estándar como ODBC o JDBC. En relación con las tareas administrativas y la creación de copias de seguridad, en MariaDB también se utilizan herramientas de línea de comandos como mysqldump o mysqladmin.

Para reducir los problemas de compatibilidad al mínimo, el equipo de desarrolladores de MariaDB sincroniza mensualmente el código fuente de la bifurcación con el código de MySQL. Sin embargo, la compatibilidad binaria entre ambos sistemas de gestión de bases de datos finaliza con MySQL 8. A partir de la versión 8.0, MySQL deja de ofrecer compatibilidad descendiente, ni con versiones anteriores de MySQL ni de MariaDB.

Un ejemplo de que el desarrollo de ambos proyectos de código abierto va en direcciones diferentes es el nuevo diccionario de datos transaccional de MySQL 8.Este forma parte de una estrategia para el procesamiento de metadatos que se diferencia radicalmente de los conceptos anteriores. Debido a que actualmente MariaDB no ha desarrollado ninguna característica similar, se parte de la base de que en un futuro no va a existir compatibilidad a nivel de archivos de datos.

Motores de base de datos

En el futuro, el objetivo de MariaDB es diferenciarse de MySQL sobre todo a través de la flexibilidad. Además de los motores estándar compatibles con MySQL, los usuarios disponen de un número cada vez mayor de motores de base de datos alternativos para casos de aplicación especiales.

Un motor de base de datos es un subsistema de almacenamiento que permite al sistema de gestión de bases de datos la creación, lectura, actualización y eliminación de datos en tablas de bases de datos, véase a este respecto CRUD.

La siguiente tabla muestra los motores de base de datos disponibles para MySQL 8.0.11 y MariaDB 10.3 (según la documentación proporcionada).

Consultas de base de datos

El campo de aplicación de MySQL no se diferencia del de MariaDB. Ambos DBMS buscan una compatibilidad al 100 % con el lenguaje de base de datos SQL. Los usuarios utilizan instrucciones SQL idénticas para crear, actualizar, recuperar o eliminar entradas de base de datos.

Performance MySQL vs. MariaDB

La capacidad de rendimiento de un sistema de bases de datos suele influir directamente sobre los procesos empresariales. Muchos de los usuarios que se interesan por alguno de los proyectos de código abierto creados por Widenius se plantean sobre todo una pregunta: ¿en comparación con MySQL, MariaDB ofrece un mejor rendimiento? Las pruebas de referencia, como DBT 3, apuntan en esa dirección. Uno de los aspectos decisivos en este caso es qué motor de base de datos se utiliza. Ambas comunidades de desarrolladores publican las pruebas de referencia para instalaciones con diferentes motores de base de datos en sus páginas respectivas.

Sin embargo, el valor informativo de las pruebas de aplicación es limitado en la práctica, ya que el rendimiento de una base de datos depende fuertemente de la medida en que la implementación del software se ha ajustado a las necesidades. Por lo tanto, los usuarios deberán concentrarse sobre todo en qué posibilidades ofrece el sistema de gestión de bases de datos para adaptar el software a cada caso de aplicación.

MariaDB destaca en este caso no solo por su amplia selección de motores de base de datos alternativos, sino también porque ofrece un eficiente optimizador para consultas SQL. Para la optimización de consultas, a partir de la versión 10.0.1 MariaDB ya no apuesta por las estadísticas internas del motor de base de datos, sino por estadísticas de tablas independientes del motor. Estas se almacenan como tablas convencionales en la base de datos y permiten registrar y evaluar considerablemente más valores, que contribuyen a la creación de un plan ideal para la ejecución de instrucciones SQL.

Aquellos interesados pueden encontrar diferentes manuales para la optimización del rendimiento de bases datos en la documentación de MariaDB. Estos artículos ofrecen consejos de hardware e información sobre configuraciones de sistemas operativos, estrategias de optimización para estructuras de datos, optimización de índices, estrategias de rendimiento para consultas y subconsultas, optimización de tablas, consejos y trucos sobre variables del sistema, búfer, cachés y subprocesos, sobre mejoras del rendimiento interno de la base de datos, así como notas sobre codificación, funciones hash y compresión.

MySQL también ofrece gran cantidad de material informativo sobre la optimización de bases de datos. Sin embargo, la mayor parte de este material solo está disponible para usuarios que se registran con una cuenta web de Oracle.

Alta disponibilidad

Tanto MySQL como MariaDB son adecuados para escenarios con bases de datos distribuidas. Para poder ofrecer a los usuarios unos sistemas con alta disponibilidad y escalabilidad lineal, ambos proyectos de software ofrecen soluciones de clúster:

El clúster MySQL es una base de datos de transacciones en tiempo real basado en ACID que alcanza una disponibilidad del 99,9999 % por medio de una arquitectura multimaster sin single point of failure. La base de datos se puede escalar horizontalmente con hardware estándar y ofrece una función de compartir automáticamente para volúmenes de trabajo con lectura y escritura intensivas. El acceso a los datos se lleva a cabo según las necesidades por medio de las interfaces SQL o NoSQL. El clúster MySQL está disponible por separado y la versión actual es la 7.5. Al igual que MySQL, incluso la solución de clúster se vende con un sistema de licenciamiento dual. La versión comunitaria se ofrece con la GNU General Public License.

En las bases de datos distribuidas, MariaDB se basa en el software de clúster Galera de la empresa finlandesa de software Codership. A partir de la versión MariaDB 10.1, se incluye la correspondiente interfaz por defecto. Por lo tanto, no es necesario descargar una versión de clúster independiente. El clúster MariaDB Galera también está basado en una arquitectura multimaster. Como motor de base de datos para el funcionamiento en clúster se cuenta únicamente con InnoDB (o XtraDB). Para diferenciar la solución de clúster propia del producto de MySQL, el equipo de desarrolladores de MariaDB pone a disposición de los usuarios MaxScale, una ampliación especial para el sistema de gestión de bases de datos que ofrece diferentes funciones adicionales para el enrutamiento en sistemas distribuidos.

MaxScale es un proxy de base de datos que se ocupa principalmente de la distribución de cargas pero que, por medio de plugins, se puede configurar de tal forma que no solo transmita accesos a bases de datos, sino que, en caso necesario, los modifique según las necesidades. El proxy anonimiza o pseudoanonimiza datos sensibles, bloquea solicitudes según las reglas previamente establecidas, protege frente a denegaciones de servicio (DoS), inicia automáticamente estrategias de conmutación por error y aumenta el rendimiento de la base de datos mediante almacenamiento en caché y división lectura-escritura (redireccionamiento de accesos de lectura y escritura a diferentes instancias de bases de datos).

A diferencia de MariaDB Server, a partir de la versión 2 MaxScale ya no está cubierto por la licencia GPL. A cambio, MariaDB Corporation ha desarrollado un modelo de licenciamiento con Business Source License (BSL), cuyo objetivo es combinar las demandas de la comunidad de código abierto con las necesidades económicas del desarrollo de software.

Según los desarrolladores, Business Source License (BSL) es una alternativa al código cerrado y al open core. Aunque los usuarios tienen acceso al código fuente de BSL, la utilización del software está limitada a un periodo de tiempo concreto. Por ejemplo, MaxScale se puede utilizar de manera gratuita en escenarios con un máximo de tres instancias de bases de datos. Los usuarios que requieran más instancias de bases de datos deberán adquirir la licencia de uso oportuna. Si el periodo de tiempo definido por el proveedor ha expirado, la Business Source License se convierte automáticamente en una licencia de código abierto GPL equivalente. Cada lanzamiento de MaxScale queda a disposición de los usuarios como licencia GPL sin limitaciones al cabo de un máximo de 3 años.

Seguridad

Entre las principales funciones de seguridad de un sistema de gestión de bases de datos se encuentran la codificación, la autentificación y los roles de usuario.

Tanto MySQL como MariaDB ofrecen funciones de codificación para datos inactivos (data at rest). MySQL implementa una codificación de los datos almacenados en la base de datos con ayuda del motor de base de datos InnoDB a nivel de espacio de tabla, pero no permite codificar tablas por separado.

En cambio, MariaDB ofrece a partir de la versión 10.1 funciones de codificación claramente diferenciadas. Entre estas se incluye una codificación data at rest en los siguientes niveles de base de datos:

espacios de tabla InnoDB,

tablas InnoDB,

archivos de registro InnoDB,

tablas Aria,

archivos temporales y

archivos de registro binarios.

A través de claves de cifrado evolutivo, MariaDB ofrece además una función que permite determinar una fecha de expiración para la clave de codificación.

Ambos sistemas de gestión de bases de datos son compatibles con el servicio de administración de claves (KMS) de Amazon Web Services (AWS) a través de un plugin.

Tanto MySQL como MariaDB se basan en un sistema de plugin para la autentificación de usuarios. El equipo de desarrolladores de MySQL pone a disposición de los usuarios dos plugins de autentificación, sha256_password y caching_sha2_password. El segundo ofrece, además de la autentificación estándar por medio de algoritmo hash seguro, un almacenamiento en caché por parte del servidor que permite una reautentificación más rápida.

Hasta la versión 10.1.21, MariaDB también se basaba en el algoritmo hash seguro por medio de SHA‑1. A partir de la versión 10.1.22 se comenzó a utilizar el plugin ed25519. Este cuenta con un esquema de firma EdDSA que combina SHA-2 con Curve25519.

Las tecnologías de codificación que se utilizan en MariaDB provienen, entre otros, de Google y de la empresa alemana de software Eperi.

Ambos sistemas de gestión de bases de datos con compatibles con conexiones con codificación SSL.

La particularidad de MariaDB en el ámbito de la seguridad de bases de datos es el control del acceso basado en roles ( role based access control, RBAC), que va implementado en el DBMS desde la versión 10.0.5. Simplifica considerablemente la gestión de derechos de acceso y reduce los fallos en la asignación de derechos. A este respecto, en MySQL no es posible encontrar ninguna característica similar.

Ecosistema

El sistema de licenciamiento dual de Oracle para MySQL obedece a una estrategia open core. Mientras que la edición comunitaria de MySQL está disponible con código fuente público de manera gratuita, hay diversas ampliaciones para el sistema de gestión de bases de datos que solo se ofrecen en combinación con una de las ediciones comerciales. Gracias al sólido vínculo con la comunidad de código abierto, el equipo de desarrolladores de MariaDB es capaz de implementar interfaces de alternativas de código abierto para la mayoría de productos MySQL propietarios.

Asistencia técnica

Tanto en MySQL como en MariaDB, la asistencia profesional está disponible únicamente para los clientes de pago.

Los usuarios que adquieren una licencia para los productos MySQL propietarios obtienen acceso a Oracle Premier Support. Este incluye asistencia 24x7, acceso a bases de datos de conocimiento, versiones de mantenimiento, corrección de errores, parches y actualizaciones. Además, Oracle Premier Support ofrece corrección de errores a distancia y asesoramiento profesional sobre optimización del rendimiento e instalación. En caso necesario, los usuarios pueden solicitar a técnicos de soporte la comprobación de replicaciones, particionamientos, esquemas, consultas, API, ampliaciones de servidor, así como funciones y rutinas definidas por el usuario.

MariaDB Corporation comercializa servicios de asistencia a través de una suscripción MariaDB. Esta incluye asistencia 24x7 con un tiempo de reacción máximo de 30 minutos, servicio de notificaciones, parches y corrección de errores. Además, se ofrecen otros servicios de pago como formaciones, administración de bases de datos a distancia, asesoramiento sobre rendimiento, alta disponibilidad, seguridad y pruebas de software y un servicio de migración. Según MariaDB Corporation, el equipo de asistencia técnica de la empresa ofrece asistencia profesional tanto para MariaDB como para MySQL.

Dado que el equipo de desarrolladores de MySQL cambió prácticamente al completo a MariaDB, MariaDB Corporation se enorgullece no solo de comprender el código de MariaDB, sino también el de MySQL, mejor que el equipo de asistencia de Oracle.

Documentación y comunidad

MySQL pertenece a Oracle Corporation, que ha dispuesto una gran cantidad de documentación sobre todos los proyectos de MySQL de código abierto en la página web oficial de MySQL. Además, las comunidades de usuarios disponen de las siguientes posibilidades para informarse sobre MySQL:

Por su parte, MariaDB Foundation es responsable de la documentación de MariaDB y cuenta para ello con el respaldo de la comunidad de usuarios.

Los usuarios que desean participar en el desarrollo y documentación de MariaDB Server o de las aplicaciones de código abierto del ecosistema MariaDB pueden encontrar más información al respecto en la página web de MariaDB Foundation.

MariaDB vs. MySQL: resumen de las características más importantes

MySQL es un sistema probado de gestión de bases de datos que proporciona software de código abierto a los usuarios y se puede complementar con numerosas ampliaciones profesionales. El equipo de desarrolladores de MariaDB, formado en torno a Michael Widenius, ha adoptado lo mejor del software principal MySQL y lo ha ampliado con numerosas características. En la siguiente tabla, donde se exponen las características principales de ambos DBMS, se muestra para quién merece la pena el cambio de MySQL a MariaDB.

Desarrollador

MariaDB Corporation AB (MariaDB Enterprise)

MariaDB Foundation (MariaDB Server)

Modelo de base de datos secundario

Modelo de base de datos orientado a documentos

Modelo de base de datos orientado a documentos

Base de datos de valor clave

Base de datos orientada a gráficos

Base de datos de valor clave

Replicación

Replicación con GTID (Global Transaction Identifier)

Replicación con GTID (Global Transaction Identifier)

- Replicación maestro-maestro

- Replicación maestro-esclavo

- Replicación maestro-maestro

- Replicación maestro-esclavo

Codificación

Codificación de datos inactivos

Codificación de datos inactivos

- Espacios de tabla InnoDB

- Tablas InnoDB

- Archivos de registro InnoDB

- Tablas Aria

- Archivos temporales

- Archivos de registro binarios

- Espacios de tabla InnoDB

Tipos de archivo

String (CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET, BINARY, VARBINARY, JSON)

String (CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET, BINARY, VARBINARY, JSON)

Numérico (BIT, TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, DECIMAL, FLOAT, DOUBLE, BOOLEAN)

Fecha/hora (DATE, DATETIME, TIMESTAMP, TIME, YEAR)

Tipos de datos de objeto grande (TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB)

Numérico (BIT, TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, DECIMAL, FLOAT, DOUBLE, BOOLEAN)

Fecha/hora (DATE, DATETIME, TIMESTAMP, TIME, YEAR)

Tipos de datos de objeto grande (TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB)

En resumen

Con MySQL, Oracle ofrece un probado sistema de gestión de bases de datos que, desde hace más de 20 años, goza de una gran popularidad en todo el mundo. Bajo el patrocinio de Oracle, MySQL puede reafirmarse como proyecto de software independiente que cuenta con mantenimiento, desarrollo y mejoras constantes. No obstante, quien desee explorar todas las posibilidades del ecosistema MySQL se encontrará rápido con los límites de la Community Edition gratuita. Oracle ofrece herramientas profesionales para las áreas de monitorización, copia de seguridad, equilibrio de carga, enrutamiento y seguridad de bases de datos únicamente para licencias propietarias.

MariaDB surgió a partir de MySQL, aunque actualmente se presenta como solución de bases de datos independiente para la utilización productiva.

Detrás de MariaDB se encuentra el equipo de desarrolladores de MySQL, que cuenta con el importante respaldo de la comunidad de código abierto. Esto permite a MariaDB Foundation proporcionar alternativas de código abierto para numerosas extensiones profesionales del ecosistema MySQL que no necesariamente cumplen con todos los estándares de código abierto concebidos por Bruce Perens y Eric S. Raymond.

En el futuro, el desarrollo de ambos proyectos de software se va a distanciar aún más. Aunque en un primer momento MariaDB había sido ideado como sustituto automático de código abierto para MySQL, en el futuro el desarrollo de características y extensiones exclusivas como MaxScale y ColumnStore van a tomar protagonismo. Estas nuevas posibilidades de aplicación dan ventaja a MariaDB sobre MySQL. La reputación del equipo de desarrolladores deja de ser un aspecto determinante para la cuestión "MySQL o MariaDB". En cambio, adquiere relevancia la cuestión de en qué medida el espectro de funciones del correspondiente sistema de gestión de bases de datos es suficiente para cubrir el escenario de aplicación deseado.

# data[].attributes.attachment_link.description
¿MariaDB o MySQL? ¿Qué sistema de gestión de bases de datos va en cabeza? El proyecto de código abierto MySQL tiene más de 20 años de historia. MariaDB, una bifurcación del modelo clásico de base de datos relacionales, apareció por primera vez en 2009.

# data[].attributes.headline
Comparativa de los principales sistemas gestores de Bases de Datos

# data[].attributes.subject
Comparativa de los principales sistemas gestores de Bases de Datos

# data[].attributes.attachment_link.readable_text
A la hora de la realización de un proyecto web, tenemos que tener muy claro que Sistema Gestor de Base de Datos elegir para optimizar dicho proyecto.

A continuación exponemos una comparativa con los distintos SGBD.

Para concluir y salvando la diferencia entre software propietario y gratuito. MySQL es muy utilizado para aplicaciones web aunque las grandes empresas se decantan más por Oracle debido a sus prestaciones.

Analizado los distintos gestores de bases de datos, me inclino más por PostreSQL, aparte de que es fácil de manejar, es la que soporta mayor número de tipos de datos y las capacidades que tiene son elevadas con respecto a los demás.

( 4 votos, promedio: 5,00 de 5)

Formación de calidad impartida por profesionales

Para compartir esta historia, elija cualquier plataforma

# data[].attributes.attachment_link.title
Comparativa de los principales sistemas gestores de Bases de Datos (SGBD)

# data[].attributes.attachment_link.description
A la hora de la realización de un proyecto web, tenemos que tener muy claro que Sistema Gestor de Base de Datos elegir para optimizar dicho proyecto. A continuación exponemos una comparativa con los distintos SGBD. Para concluir y salvando la diferencia entre software propietario y gratuito.

# data[].attributes.body
Ventajas y desventajas de sql servers

# data[].attributes.attachment_link.readable_text
DESVENTAJAS DE SQL SERVER

1.Utiliza mucho la memoria RAMpara las instalaciones y utilización de software.

2.No se puede utilizar como practicas porque se prohíben muchas cosas, tiene restricciones en lo particular.

3.La relación, calidad y el precio esta muy debajo comparado con oracle.

4.Tiene muchos bloqueos a nivel de página, un tamaño de página fijo y demasiado pequeño, una pésima implementación de los tipos de datos variables.

VENTAJAS DE SQL SERVER

1. Es un sistema de gestión de base de datos.

2. Es útil para manejar y obtener datos de la red de redes.

3. Nos permite olvidarnos de los ficheros que forman la base de datos.

4. Si trabajamos en una red social nos permite agregar otros servidores de SQL Server. Por ejemplo dos personas que trabajan con SQL Server, uno de ellos se puede conectar al servidor de su otro compañero y así se puede ver las bases de datos del otro compañero con SQL Server.

5. SQL permite administrar permisos a todo. También permite que alguien conecte su SQLO al nuestro pero sin embargo podemos decirle que no puede ver esta base de datos pero otro si.

# data[].attributes.attachment_link.description
DESVENTAJAS DE SQL SERVER 1.Utiliza mucho la memoria RAMpara las instalaciones y utilización de software. 2.No se puede utilizar como practicas porque se prohíben muchas cosas, tiene restricciones en lo particular. 3.La relación, calidad y el precio esta muy debajo comparado con oracle.

# data[].attributes.attachment_link.title
Tabla comparativa entre manejadores de bases de datos - Como muchos otros proyectos de código - StuDocu

# data[].attributes.attachment_link.description
Tabla comparativa entre manejadores de bases de datos tabla comparativa entre manejadores de bases de datos sgbd postgresql descripción postgresql es un sistema