Los SGBD: ¿relacionales? ¿no relacionales? ¿SQL? ¿No SQL? algunos ejemplos al respecto
SISTEMAS GESTORES DE BASE DE DATOS r o p e R
l a i c e p s e ta j e s
ale n o i c ela R eb o w N r s o d to a a l l D o r e r d a Bases ) por el des Baquero L a (NoSQ s Jose Marí y de Ars Realizado por Nelso Guanipa 25993940
Nota Editorial Los sistemas gestores no son mas que el conjunto de programas que nos permiten la manipulación, modificación y consulta de datos de una tabla de datos.Las bases de datos varian y de igual manera el sistema que van a utilizarse para su gestión: pueden ser relacionales o no, pero es a través de una serie de ejemplos donde se reflejara aun mas claro los términos expresados de forma teorica
Contenido • Sistemas Gestores de Bases de Datos • Sistemas Gestores de Bases de Datos (SGBD) Relacional • Sistemas Gestores de Bases de Datos (SGBD) No Relacional • Tipos de Bases de Datos No SQL • Ejemplos de SGBD SQL y SGBD No SQL • Reportaje Especial: Bases de Datos No Relacionales (NoSQL)
Sistemas gestores de base de datos Los Sistemas Gestores de Bases de Datos (SGBD, por sus siglas en inglés), también conocidos como sistemas manejadores de bases de datos o DBMS (DataBase Management System), son un conjunto de programas que manejan todo acceso a la base de datos, con el objetivo de servir de interfaz entre ésta, el usuario y las aplicaciones utilizadas.
Gracias a este sistema de software específico el usuario puede gestionar la base de datos (almacenar, modificar y acceder a la información contenida en ésta) mediante el uso de distintas herramientas para su análisis, con las que puede realizar consultas y generar informes. Además de gestionar los datos y mantener su consistencia, su utilización supone numerosas ventajas a la hora de construir y definir la base de datos a diferentes niveles de abstracción para distintas aplicaciones, pues facilita los procesos y también su mantenimiento.
Sistemas gestores de base de datos relacional Un sistema de gestión de bases de datos relacionales (RDBMS) es un programa que te permite crear, actualizar y administrar una base de datos relacional. La mayoría de los RDBMS comerciales utilizan el lenguaje de consultas estructuradas (SQL) para acceder a la base de datos, aunque SQL fue inventado después del desarrollo del modelo relacional y no es necesario para su uso.
Los principales productos RDBMS son Oracle, DB2 de IBM y Microsoft SQL Server. A pesar de los desafíos repetidos por tecnologías de la competencia, así como la afirmación de algunos expertos que dicen que ninguno de los RDBMS actuales ha aplicado plenamente los principios relacionales, la mayoría de las nuevas bases de datos corporativas siguen siendo creadas y gestionadas con un RDBMS.
Sistemas gestores de base de datos no relacional Es un sistema cuya tendencia introducía una línea no relacional significativamente diferentes de las clásicas. No requieren por lo general esquemas fijos, evitan las operaciones join almacenando datos desnormalizados y están diseñadas para escalar horizontalmente. La mayor parte de ellas pueden clasificarse como almacenes clave-valor o bases de datos orientadas a documentos. Recientemente ha habido una gran demanda de bases de datos distribuidas con tolerancia a particiones, pero de acuerdo con el teorema CAP no es posible conseguir un sistema distribuido que simultáneamente proporcione consistencia, disponibilidad y tolerancia al particionado. Un sistema distribuido puede satisfacer sólo dos de las tres restricciones a la vez. Por dicha razón muchas de las bases de datos NoSQL usan la llamada consistencia eventual para proporcionar disponibilidad y tolerancia al particionado, con un nivel máximo de consistencia de datos.
Tipos de Bases de Datos No SQL Bases de datos clave – valor Son el modelo de base de datos NoSQL más popular, además de ser la más sencilla en cuanto a funcionalidad. En este tipo de sistema, cada elemento está identificado por una llave única, lo que permite la recuperación de la información de forma muy rápida, información que habitualmente está almacenada como un objeto binario (BLOB). Se caracterizan por ser muy eficientes tanto para las lecturas como para las escrituras.
Bases de datos documentales Este tipo almacena la información como un documento, generalmente utilizando para ello una estructura simple como JSON o XML y donde se utiliza una clave única para cada registro. Este tipo de implementación permite, además de realizar búsquedas por clave–valor, realizar consultas más avanzadas sobre el contenido del documento. Son las bases de datos NoSQL más versátiles. Se pueden utilizar en gran cantidad de proyectos, incluyendo muchos que tradicionalmente funcionarían sobre bases de datos relacionales.
Bases de datos en grafo En este tipo de bases de datos, la información se representa como nodos de un grafo y sus relaciones con las aristas del mismo, de manera que se puede hacer uso de la teoría de grafos para recorrerla. Para sacar el máximo rendimiento a este tipo de bases de datos, su estructura debe estar totalmente normalizada, de forma que cada tabla tenga una sola columna y cada relación dos. Este tipo de bases de datos ofrece una navegación más eficiente entre relaciones que en un modelo relacional Bases de datos orientadas a
objetos En este tipo, la información se representa mediante objetos, de la misma forma que son representados en los lenguajes de programación orientada a objetos (POO) como ocurre en JAVA, C# o Visual Basic .NET.
Ejemplo sgbd sql
MySQL es un sistema de gestión de bases de datos relacional desarrollado por Oracle Corporation y está considerada como la base datos de código abierto más popular del mundo, y una de las más populares en general junto a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web.
Oracle Database es un sistema de gestión de base de datos de tipo objeto-relacional (ORDBMS, por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation. Su dominio en el mercado de servidores empresariales había sido casi total hasta que recientemente tiene la competencia del Microsoft SQL Server y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySQL o Firebird. Microsoft SQL Server es un sistema de manejo de bases de datos del modelo relacional,desarrollado por la empresa Microsoft. El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL (TSQL), 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).
Ejemplos de SGBD No SQL Cassandra Se trata de una base de datos creada por Apache del tipo clave–valor. Dispone de un lenguaje propio para realizar consultas CQL (Cassandra Query Language). Cassandra es una aplicación Java por lo que puede correr en cualquier plataforma que cuente con la JVM.
Redis
MongoD B
Se trata de una base de datos creada por Salvatore Sanfilippo y Pieter Noordhuis y Se trata de una base de datos está apoyado por VMWare. creada por 10gen del tipo Se trata de una base de datos orientada a documentos, de del tipo clave–valor. Se puede esquema libre, es decir, que imaginar como un array cada entrada puede tener un gigante en memoria para esquema de datos diferente que nada tenga que ver con el almacenar datos, datos que resto de registros almacenados. pueden ser Es bastante rápido a la cadenas, hashes, conjuntos hora de ejecutar sus de datos o listas. Tiene la ventaja de que sus operaciones son atómicas y persistentes. Por ponerle una pega, Redis no permite realizar consultas, sólo se puede insertar y obtener datos, además de las operaciones comunes sobre conjuntos (diferencia, unión e inserción). Creado en ANSI C, por lo tanto es compatible y funciona sin problemas en sistemas Unix, Linux y sus derivados, Solaris, OS/X sin embargo no existe soporte oficial para plataformas Windows.
operaciones ya que está escrito en lenguaje C++.
Para el almacenamiento de la información, utiliza un sistema propio de documento conocido con el nombre BSON, que es una evolución del conocido JSON pero con la peculiaridad de que puede almacenar datos binarios. En poco tiempo, MongoDB se ha convertido en una de las bases de datos NoSQL favoritas por los desarrolladores.
CouchDB Se trata de un sistema creado por Apache y escrito en lenguaje Erlang que funciona en la mayoría de sistemas POSIX, incluyendo GNU/LINUX y OSX, pero no así en sistemas Windows. Como características más importantes cabe destacar el uso de Restfull HTTP API como interfaz y JavaScript como principal lenguaje de interacción. Para el almacenamiento de los datos se utiliza archivos JSON. Permite la creación de vistas, que son el mecanismo que permite la combinación de documentos para retornar valores de varios documentos, es decir, CouchDB permite la realización de las operaciones JOIN típicas de SQL.
Bases de Datos No Relacionales (NoSQL): cuándo, cómo y para qué usarlas
l a i c e p s E e j a t Repor
Cuando hablamos de sistemas gestores de base de datos el más usado con diferencia es MySQL. A veces puede parecer que no es necesario buscar alternativas, pues se trata de una estupenda opción, pero lo cierto es que hay todo un mundo más allá de MySQL. De hecho, en función de nuestras necesidades, MySQL no es siempre la mejor alternativa. En este sentido, las bases de datos NoSQL están empezando a ocupar una importante parcela dentro de este espectro de soluciones ya que resuelven necesidades habituales para aplicaciones web, apps móviles o en el Internet de las Cosas
Debemos ser conscientes de que no existen las balas de plata a la hora de hablar de las bases de datos. Las relacionales todavía son muy importantes para la mayoría de las aplicaciones, pero no son la única opción. La elección del motor de base de datos, al igual que el resto piezas de un proyecto web, debe hacerse atendiendo a los requisitos y necesidades específicas del trabajo que tenemos entre manos
Fuga en la base de datos de Facebook: ¿Son seguros “tus datos”?