Archivo de la etiqueta: SQL

Bases de Datos SQL

Son las bases de datos de toda la vida y las más utlizadas. Se denominan también bases de datos relacionales. Todas utilizan un lenguajes estándar, el lenguaje SQL que, aunque con algunos matices, es igual en todas ellas. Esto permite que cualquier profesional pueda trabajar en cualquiera de ellas con un periodo de adaptación corto. Dentro de este grupo se encuentran las bases de datos OracleMySQLMariaDBSQLServerPostgreSQL. Dentro de este grupo hay una base de datos muy interesante llamada Hive. Está base de datos es big data permitiendo el almacenamiento de cantidades ingentes de datos.

MySQL

MySQL fue desarrollada inicialmente en la empresa Sun Microsystems, la misma que desarrolló el lenguaje de programación Java. Tanto MySQL como Java fueron desarrollados contemplando su distribución gratuita. Posteriormente Sun Microsystems fue comprada por la empresa Oracle. Esta empresa cambió ligeramente la estrategia y evolución de esta base de datos. Actualmente hay dos versiones de esta base de datos: una versión gratuita denominada Community Edition y una versión de pago denominada Enterprise Edition. Este pago aporta un soporte profesional proporcionado por la empresa Oracle.

MariaDB

MariaDB es una base de datos cuya vida va paralela a MySQL. Podríamos decir que, su nacimiento, tiene que ver con la compra de Sun Microsystems por Oracle. En 2009, el creador original de MySQL bifurcó el proyecto, dando nacimiento a MariaDB. La bifurcación se produjo principalmente debido a preocupaciones sobre la adquisición de MySQL por parte de Oracle y el posible cambio hacia un modelo menos abierto.

Hay muchas similitudes entre MariaDB y MySQL. Actualmente el modelo de negocio es similar: Una versión gratuita y una versión de pago con soporte del fabricante. Además, los comandos, la configuración y la estructura son similares. Podemos exportar una base de datos MySQL e importarla en MariaDB, y biceversa.

La decisión entre utiliizar MySQL o MariaDB se corresponde más a si preferimos una base de datos soportada por una gran empresa como Oracle o preferimos un soporte de una empresa más pequeña y agil como MariaDB.

PostgreSQL

Es una base de datos de código abierto y, por lo tanto, gratuita. Es muy fiable, flexible y potente incluso en grandes bases de datos. El único inconveniente es que, al ser una base de datos gratuita, no hay un soporte comercial del desarrollador. Aun así hay empresas que dan soporte a PostgreSQL pero de una manera externa. Este soporte está basado en el conocimiento de estas empresas gestionando proyectos PostgreSQL. La funcionalidad tampoco es tan extensa como bases de datos comerciales como SQL Server u Oracle.

Hive

Hive es una base de datos de código abierta dentro del proyecto Hadoop, la solución Big Data de Apache. Esta base de datos almacena los datos dentro del HDFS (Hadoop File System) por lo que es capaz de almacenar inmensas cantidades de datos. Adicionalmente, la ejecución de los comandos SQL, se realiza de una manera distribuida que incrementa substancialmente la velocidad de ejecución. Al ser una base de datos de código abierto no tiene un soporte comercial. En caso de utilizarla debemos apoyarnos en alguna compañía integradora con experiencia en esta base de datos.

SQL Server

SQL Server es la base de datos comercial de Microsoft. Microsoft desarrolla y soporta esta base de datos. Esta base de datos se debe comparar con la base de datos Oracle. En los dos casos tenemos un producto fiable y soportado por las respectivas empresas. Aun así SQL Server no es tan potente ni tiene la misma funcionalidad que Oracle. Por otro lado su licencia es más barata por lo que, para determinados proyectos, puede marcar la decisión entre una y otra.

Oracle

La base de datos Oracle es el producto estrella de la empresa Oracle. Es una base de datos lider del mercado y utilizada en grandes clientes. Por un lado es la base de datos con mejores prestaciones, funcionalidad, versatilidad, etc. Por otro lado su licencia es la más cara entre las bases de datos. La selección de la base de datos Oracle no tiene riesgo ya que no se encontrará una base de datos SQL mejor. Otra cosa es el presupuesto del proyecto que debe de poder cubrir el precio de la licencia.

Bases de Datos

Introducción

Las bases de datos son programas especializados en el manejo, organización y gestión de datos de cualquier tipo, de una manera segura y protegida. Estos programas permiten el acceso simultáneo de muchos usuarios a la vez resolviendo los conflictos que puedan surgir entre las operaciones de cada uno de ellos, y gestionando los permisos y derechos que tiene cada uno de ellos. Adicionalmente permite la realización de copias de seguridad que permiten recuperar los datos en el caso de una situación catastrófica.

Normalmente, las bases de datos, no son utilizadas directamente por los usuarios.El usuario habitual de las bases de datos son aplicaciones informáticas. El usuario final accede a la aplicación y, la aplicación, es la que accede a la base de datos. Por esa razón, la mayoría de las bases de datos, no cuidan demasiado la presentación visual de los datos. Contemplan que, los únicos que acceden directamente, son técnicos especializados, y la aplicación por supuesto.

Entonces, por qué la aplicación no gestiona sus propios datos, por qué es necesario un software adicional. La razón es que conseguir desarrollar una gestión de datos tan eficaz, rápida, versátil y segura, alargaría años el desarrollo de la aplicación. Cualquier desarrollador, hoy en día, no se plantea realizar el desarrollo de una nueva aplicación sin una base de datos. Aunque la aplicación no esté muy bien depurada sabe que, por lo menos los datos, estarán bien gestionados y protegidos

Tipos de Bases de Datos

Sin entrar en clasificaciones muy exhaustivas hay dos grandes grupos de bases de datos:

SQL

Son las bases de datos de toda la vida y las más utlizadas. Se denominan también bases de datos relacionales. Todas utilizan un lenguajes estándar, el lenguaje SQL que, aunque con algunos matices, es igual en todas ellas. Esto permite que cualquier profesional pueda trabajar en cualquiera de ellas con un periodo de adaptación corto. Dentro de este grupo se encuentran las bases de datos Oracle, MySQL, MariaDB, SQLServer, PostgreSQL. Dentro de este grupo hay una base de datos muy interesante llamada Hive. Está base de datos es big data permitiendo el almacenamiento de cantidades ingentes de datos.

No SQL

Este grupo no es muy uniforme. Cada base de datos tiene una peculiaridades concretas, un lenguaje propietario y una arquitectura particular. En este grupo se encuentran bases de datos como MongoDB, Cassandra, Elasticsearch, CouchDB. El principal inconveniente es la busqueda de profesionales. Al ser muy diferentes entre ellas, los profesionales con experiencia, son difíciles de encontrar.

Bases de Datos en Cloud

Actualmente, las bases de datos, son el mayor valor añadido de un cloud o nube. Por ejemplo: SQLServer es el mayor valor añadido de Azure, los dos de Microsoft. Oracle y MySQL son a su vez el mayor valor añadido de Oracle Cloud. Google Cloud ofrece Firebase como base de datos NoSQL en la nube. Puestos a desarrollar una aplicación en la nube, mejor elegir la bases de datos «patrocinada» por dicha nube. Por otro lado, al elegir una nube para nuestra aplicación, mejor elegir la nube que ofrece la base de datos que queremos.

Aplicaciones Web

Una aplicación web es una aplicación que no se ejecuta en nuestro ordenador si no en un servidor de remoto. Para utilizar esta aplicación utilizamos un navegador web estándar con el que accedemos al servidor donde se ejecuta la aplicación utilizando la tecnología web.

En una aplicación web las tareas más importantes se realizan en el servidor (que es más potente) permitiendo el uso de clientes poco potentes como smartphones o tablets. Las aplicaciones web tienen sentido asumiendo que disponemos de redes de comunicación de alta capacidad en cualquier lugar.

Sigue leyendo