info@vidainformatica.com.ar

Gestores de base de datos

Vida Informática - Sistemas - Tutoriales - Área Técnicos

Gestores de base de datos

SQL

Hoy vamos a ver motores o gestores de base de datos. ¿Qué opciones tenemos? ¿Qué diferencias hay entre cada uno? ¿Cuál me conviene más?

Primero que nada, debemos tener en claro que es una base de datos. Como su nombre lo indica, se encarga de almacenar datos que deseamos guardar, pero ¿Es solo esto? La respuesta es NO. Las bases de datos se encargan de conectar los datos entre sí en una unidad lógica, de una manera estructurada, que pertenecen a un mismo contexto, la cual vamos a utilizar para almacenar gran cantidad de información de manera electrónica.

Estas bases de datos normalmente se controlan por un sistema de gestión de base de datos (DBMS), y junto con aplicaciones asociadas a ellos, reciben el nombre de sistema de base de datos.

Por lo general las bases de datos más comunes se arman con una estructura de filas y columnas en una serie de tablas para aumentar la eficacia de procesamiento y la consulta de datos. Así se puede acceder, gestionar, modificar, actualizar y controlar fácilmente los datos.

Base de datos
Base de Datos

A lo largo de los años fue evolucionando drásticamente. En sus principios haya por 1960 las bases de datos eran en forma de árbol, jerárquicas, permitía la relación de uno a muchos, y las bases de datos de red, con relaciones múltiples. Ya en la década del 80 se hicieron populares las bases de datos relacionales, luego las orientadas a objetos en la década del 90. Hoy en día las bases de datos NoSQL surgieron como respuesta al crecimiento de internet y con la necesidad de acelerar la velocidad y el procesamiento.

SQL

Volvamos a las bases de datos relacionales. Para trabajar con estas se utiliza SQL (Structured Query Laguaje) o Leguaje de consulta estructurada. Se utiliza para administrar información en un sistema de gestión de base de datos relacionales. Fue creado por IBM en la década del 70, y normalizado en 1986. Con el correr de los años este leguaje fue evolucionando, en el 2016 permite la búsqueda de patrones, funciones en tablas polimórficas y compatibilidad con ficheros JSON.

SQL 2
SQL

Podríamos hablar muchísimo de SQL, pero eso lo vamos a dejar para futuros posteos. Ahora volviendo, nos vamos a centrar en los gestores de bases de datos que podemos utilizar para nuestros desarrollos particulares, o bien, con los que te vas a encontrar en tus proyectos.

Entonces, un SGBD (Sistema Gestión de Base de Datos) o DGBA (Data base Management System) es un programa para administrar y gestionar la información. Tenemos algunos sencillos como puede ser Microsoft Access, algunos podrían decir que este no es un gestor de base de datos, pero en mi opinión se podría incluir, ya que se pueden hacer muchas cosas en él, claro no para proyectos grandes, también tenemos la versión libre que es Base de Libre Office, muy completo.

Cabe aclarar que a diferencia de una hoja de cálculo de Excel, estos gestores permiten almacenar y manipular los datos, se puede controlar quien accede a ellos y cuantos datos almacenar. Claro, la comparación con Excel se podría hacer, ya que contiene filas y columnas, pero Excel está pensado para un único usuario o unos pocos.

Vamos a ver los principales Gestores de base de datos más utilizados a la actualidad.

MySQL

MySQL

MySQL es uno de los gestores de base de datos más utilizados de la actualidad, al estar basado en código abierto. Se trata de un sistema de gestión relacional. Hace uso del lenguaje de programación PHP. Cabe destacar que tiene 2 versiones, una con Licencia Pública General (GPL) y otra versión con licencia comercial distribuida por Oracle Corporation. Oracle la compro en el año 2010, a Sun Microsystem.

Tiene características como arquitectura cliente/servidor, ya que basa su funcionamiento en un modelo en el que los clientes y servidores están comunicados entre si distintamente para que el rendimiento aumento.
Compatibilidad con SQL, MySQL es totalmente compatible con este lenguaje, cualquiera que conozca el lenguaje SQL podrá utilizar este gestor.
Procedimientos Almacenados, permite la posibilidad de incrementar la eficacia de la implementación sin necesidad de procesar las tablas directamente, en su lugar utiliza procedimientos almacenados (store procedure).
Soporte Multiplataforma, es compatible con cualquier sistema operativo, Windows, MacOS, Linux, Solaris, FreeBSD.
Muy utilizado en la web, sitios como WordPress bajo PhpMyAdmin utilizan MySQL.
Existen forks de MySQL, como MariaDB también muy utilizados.

Podemos Descargarlo MySQL AQUI

Microsoft SQL Server

SQLserver

Otro de los grandes gestores de bases de datos relacionales es SQL Server de Microsoft, presta servicio a una gran variedad de aplicaciones de software.
Se basa también en SQL, pero está vinculado a Transact-SQL (T-SQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL).

Tiene también algunas características como:

Visualización en dispositivos móviles, permite la fácil integración de un sistema de gestión de bases de datos con cualquier dispositivo móvil, obteniendo un mejor rendimiento y capacidad de análisis.
Cifrado de datos y cumplimiento normativo, estos últimos años SQL Server ha sido reconocido como uno de los gestores más seguros, gracias a su sistema de protección, clasificación y supervisión de datos.
Facilidad de uso, es muy simple acceder a los datos, por esto muchos programadores han optado por este gestor para sus proyectos.
A diferencia de MySQL, SQL Server posee licencia comercial distribuida por Microsoft. Desde 2016 existe una versión de SQL Server para GNU/Linux y a partir de 2017 también para Docker, como también versiones de prueba. Podemos ver una tabla comparativa AQUI.

Podemos descargar SQL Server AQUI

PostgreSQL

PostgreSQL

PostgreSQL es un sistema de gestión de bases de datos relacionales de código abierto y orientado a objetos, considerado como la elección ideal empresarial. Tiene una gran potencia, amplia funcionalidad y flexibilidad.

Algunas de las principales posibilidades que otorga PostgreSQL es la admisión de transacciones, disparadores, vistas, subselecciones y bloqueo sofisticado, además de disponibilidad en diferentes plataformas.

Entre sus características tenemos:

Soporte para múltiples tipos de datos, si bien ofrece los tipos de datos más comunes, este sistema proporciona otros no tan frecuentes, como direcciones de IP, MAC, Arrays, figuras geométricas, entre otros.

Objeto/relacional, permite trabajar con los datos como si fueran objetos, ofreciendo funcionalidades y mecanismos destinados al trabajo con objetos como por ejemplo herencia de tablas

Soporta gran cantidad de lenguajes, desde Java y Python, hasta C, C++ y PHP, de esta manera se puede trabajar con funciones internas que se ejecutan desde el servidor y estar escritas en estos lenguajes de programación.

Podemos descargar PostgreSQL AQUI

MongoDB

MongoDB

MongoDB es la base de datos “NO SQL” de código abierto y escrita en C++ más utilizada en todo el mundo. En este caso se trata de un sistema orientado a los documentos, es decir, los datos se almacenan en documentos. Esto significa que los campos presentes en los documentos pueden variar de unos a otros, asi como la estructura de los datos puede cambiar con el tiempo. Ofrece una alta escalabilidad, flexibilidad y rapidez que lo diferencia del resto.

Entre sus características tenemos

Gran Sintaxis de Consultas, permite realizar cualquier tipo de consulta, tales como la búsqueda por campos, consulta de expresiones regulares y consulta de rangos. Estas consultas pueden devolver tanto una función JavaScript definida por el usuario como un campo concreto del documento.

Indexación y replicación, con esta herramienta los usuarios pueden crear índices, además de administrarlos y rehacerlos. Otra de las funcionalidades que ofrece MongoDB es la replicación automática de bases de datos para asegurar la disponibilidad en caso de producirse paradas por mantenimiento o interrupciones de servicio.

Balanceo de carga: Este sistema se caracteriza por la escalabilidad de carga del trabajo, puede ejecutarse simultáneamente en varios servidores, proporcionando un balance de carga o servicio de replicación de datos, por lo cual si se produce un fallo de hardware, MongoDB mantiene el sistema en funcionamiento.

SQLite

SQLite

SQLite es un sistema completo de bases de datos SQL escrito en lenguaje C, autónomo, integrado y de alta confiabilidad. Además, este gestor de datos es de dominio público, cualquier persona puede utilizarlo independientemente del uso que se le quiera dar, ya sea comercial o privado.

El concepto “Lite” se refiere al poco peso de la base de datos, al hablar de configuración, administración y recursos necesarios.

Tenemos características como

Archivo de datos único, al emplear registros de tamaño variable que utiliza únicamente el espacio del disco necesario, la base de datos se almacena en un solo archivo.

Sin Servidor, a diferencia de MySQL, SQLite no necesita de un servidor, pues funciona de manera independiente. Esto quiere decir que la base de datos y la aplicación se ejecutan de forma conjunta, reduciendo los costes en determinados proyectos.

Migración de información, una de las funcionalidades más comunes de entre las bases de datos es la posibilidad de migrar de una a otra, como SQLite es compatible con múltiples formatos, ofrece la posibilidad de organizar de forma individual y permite que la exportación sea más rápida y menos tediosa.

Gracias al poco espacio que utiliza, SQLite lo utilizan grandes empresas como por ejemplo Firefox, para almacenar entre otras cosas las cookies, los favoritos, el historial, etc. Varias aplicaciones de Apple o Skype utilizan SQLite.

Podemos descargar SQLite AQUI

Oracle RDBMS

Oracle

Es uno de los sistemas de gestión de base de datos relacional más fiable a nivel corporativo. Pertenece a Oracle Corporation y se desarrolló en 1977. Esta construido alrededor de un marco en el que se puede acceder directamente a los objetos a partir del lenguaje de consulta SQL. Oracle es una arquitectura escalable y muy utilizada por las empresas. Tiene su propio componente de red para que pueda haber comunicación a través de las redes.

También es multiplataforma, pudiendo ser ejecutado en Windows, Unix, GNU/Linux, MacOS. La Principal y peculiar característica de Oracle es que su arquitectura se divide entre la lógica y la física, esto permite mayor flexibilidad en las redes de datos y mayor robustez en su estructura. Claro Oracle posee una licencia comercial.

Su pagina web oficial es esta

FireBird

firebird

Potente y sencillo, también es un gestor de base de datos relacional SQL. Con la particularidad que es Open Source ósea de código abierto, compatible con Windows y Linux. Entre diferentes funciones, tenemos soporte completo para procedimientos almacenados, transacciones compatibles con las características ACID y métodos de acceso múltiple.

Podemos descargar Firebird AQUI

Amazon RDS

Amazon

Amazon RDS (Relational Database Service), esta es una de las mejores herramientas para base de datos que llego al mercado por parte de Amazon, la RDS. Entre sus atributos para sus usuarios esta una conexión segura y que se puede realizar copia automática de seguridad a través de una función incorporada en el software, además de que puede cambiar el tamaño de las actividades en la base de datos.

Otra de sus ventajas destaca el que un usuario puede procesar cargas de trabajo pesadas en una sola base de datos, solo vas a pagar por los recursos utilizados, tiene acceso a MySQL, Oracle, Microsoft SQL y todas sus bases de datos.

En realidad, no es un gestor propiamente dicho, pero nos da una colección de servicios administrados que nos facilita la configuración, operación y escalado de una base de datos en la nube. Podemos usar muchos de los motores más populares.

Su pagina Oficial AQUI

Conclusión gestores de base de datos

Entonces como vimos, tenemos diferentes alternativas, como en muchas otras cosas, tenemos opciones de pago y open source. La pregunta de ¿Cuál me conviene más? No tiene una respuesta definitiva. Siempre va a depender del tipo de proyecto que estemos realizando. Quizá para hacer algo sencillo o arrancar a utilizar SQL nos basta con usar BASE de Libre Office, o Microsoft Access. Ya para avanzar un poco más, podríamos utilizar MySQL.

Para proyectos medianos o grandes siempre tenemos que ver que infraestructura tenemos, en donde va a estar alojada la base de datos, en que sistema operativo se va a almacenar, para luego definir que utilizamos. MySQL o PostgreeSQL suelen ser muy buenas opciones, con grandes comunidades detrás que nos puede facilitar a la hora de resolver problemas.

En futuros post vamos a hablar puntualmente de cada uno como también mucho más sobre el lenguaje SQL.

Tags: , , , , , , ,

2 comentarios

  1. Maxi dice:

    Excelente artículo! gracias por todos tus aportes. Saludos!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *