Sei sulla pagina 1di 34

UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGIA


DIRECCIÓN DE POSGRADO

“BASES DE DATOS MAS DESTACADOS EN


LOS ULTIMOS AÑOS”

TRABAJO FINAL PRESENTADO PARA OBTENER EL


CERTIFICADO DE DIPLOMADO EXPERTO EN DESARROLLO DE
APLICACIONES EMPRESARIALES VERSIÓN I
.

POSTULANTE : POCA HUANCA DIEGO NICOLAS


TUTOR : LIC. LAIME ZAPATA VALENTIN

Cochabamba – Bolivia
2018

1
INDICE
INDICE DE ILUSTRACIONES .................................................................................................................. 2
1. RESUMEN ........................................................................................................................................... 3
2. INTRODUCCIÓN ................................................................................................................................ 4
3. GENERALIDADES ............................................................................................................................. 5
3.1. ANTECEDENTES GENERALES ............................................................................................... 5
3.2. ANTECEDENTES ESPECÍFICOS ................................................................................................... 6
4. METODOLOGÍA ................................................................................................................................. 6
5. BASES DE DATOS ............................................................................................................................. 6
5.1. DEFINICIÓN DE BASE DE DATOS............................................................................................... 7
5.2. VENTAJAS: ...................................................................................................................................... 7
5.3. DESVENTAJAS:............................................................................................................................... 8
5.4. HISTORIA DE LA BASE DE DATOS ............................................................................................ 9
5.5. ¿QUE ES UN DATO? .................................................................................................................. 9
5.6. TIPOS DE BASES DE DATOS ................................................................................................... 9
5.7. CLASIFICACIÓN DE BASES DE DATOS .............................................................................. 10
5.8. MODELOS DE BASES DE DATOS ......................................................................................... 11
5.9. CONSULTA DE BASE DE DATOS ......................................................................................... 13
6. BASES DE DATOS MÁS DESTACADOS....................................................................................... 14
6.1. NOSQL VS SQL: CUÁNDO UTILIZAR QUÉ TIPO DE BASE DE DATOS .............................. 14
7. BASES DE DATOS RELACIONALES MÁS DESTACADAS (SQL) ............................................ 15
7.1 ¿QUE ES UN BASE DE DATO RELACIONAL? .................................................................... 15
7.1.1. VENTAJAS BASE DE DATOS RELACIONAL ........................................................................ 17
7.1.2. DESVENTAJAS BASES DE DATOS RELACIONALES .......................................................... 17
7.1.3. ¿CUÁNDO USAR SQL? .............................................................................................................. 17
7.2. MYSQL....................................................................................................................................... 18
7.2.1. CARACTERÍSTICAS ............................................................................................................ 19
7.3. MICROSOFT SQL SERVER ..................................................................................................... 19
7.3.1. CARACTERÍSTICAS ............................................................................................................ 20
7.3.2. ESCENARIOS DE USO ......................................................................................................... 20
8. BASES DE DATOS NO RELACIONALES MAS DESTACADAS ................................................. 21
8.1. ¿QUÉ ES NOSQL? ..................................................................................................................... 21
8.1.1. ¿CÓMO FUNCIONA UNA BASE DE DATOS NOSQL (NO RELACIONAL)? ................ 21

1
8.1.2. ¿CUÁNDO USAR NOSQL? .................................................................................................. 22
8.1.3. VENTAJAS DE UNA BASE DE DATOS NOSQL .............................................................. 22
8.1.4. DESVENTAJAS DE UNA BASE DE DATOS NOSQL ....................................................... 22
8.2. MONGODB ................................................................................................................................ 23
8.2.1. CARACTERÍSTICAS ............................................................................................................ 23
8.2.2. CASOS DE USO .................................................................................................................... 23
8.2.3. ¿QUIÉNES USAN MONGODB?........................................................................................... 24
8.3. REDIS ......................................................................................................................................... 25
8.3.1. VENTAJAS ............................................................................................................................ 25
8.4. CASSANDRA ............................................................................................................................ 26
8.4.1 ¿QUÉ ES CASSANDRA BASE DE DATOS? ............................................................................. 27
8.4.2. HISTORIA .................................................................................................................................... 27
8.4.3. ARQUITECTURA ....................................................................................................................... 28
8.4.4. PRINCIPALES CARACTERÍSTICAS DE CASSANDRA BASE DE DATOS ......................... 28
8.4.5. MODELO DE DATOS ................................................................................................................. 29
8.4.6. DESARROLLO ............................................................................................................................ 30
8.5. HBASE ....................................................................................................................................... 30
8.5.1. CARACTERÍSTICAS DE HBASE ........................................................................................ 31
8.5.2. DONDE USAR HBASE ......................................................................................................... 32
8.5.3. LAS APLICACIONES DE HBASE ....................................................................................... 32
9. CONCLUSIONES .............................................................................................................................. 32
10. BIBLIOGRAFÍA ........................................................................................................................... 33

INDICE DE TABLAS
Tabla 1: diferencias SQL y NoSQL ...................................................................................... 15

INDICE DE ILUSTRACIONES

Ilustración 1: Diferencia entre SQL y NoSQL .....................................................................15


Ilustración 2: Función de HBase ........................................................................................... 31

2
1. RESUMEN
Esta investigación se centrara en las bases de datos, las bases de datos son fundamentales en el
desarrollo de sistemas para los diferentes tipos de organizaciones. Conocer y manipular bases de
datos resulta útil para un sinfín de usos, como procesos de negocio o un sistema de información
eficiente y productiva

Una base de datos es un conjunto de datos que pertenecen a un mismo contexto y son
almacenados sistemáticamente para su posterior uso. Actualmente, y debido al desarrollo
tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos
están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se
ofrece un amplio rango de soluciones al problema del almacenamiento de datos.

La generación de contenidos masivos de información dentro de Internet, ha generado nuevas


tecnologías para una respuesta al almacenamiento de información. Los manejadores tradicionales
de administración de bases de datos relacionales tienen dificultad para enfrentar los nuevos
esquemas de almacenamiento y manejo intensivo de información que las nuevas aplicaciones y
ambientes requieren.

Las bases de datos más destacados son los más sobresalientes en la sociedad u organizaciones
que se dedican al área de informática o sistemas no solo por su productividad y eficiencia
también son los más fáciles de entender, son multiplataforma y en algunos casos son libres.
También están entre los de mayor uso y mayor estudio en el ámbito laboral como en el ámbito
de la formación profesional.

Los sistemas de gestión de bases de datos relacionales han sido la tecnología predominante para
almacenar datos estructurados en aplicaciones web y de negocio. Estos son ampliamente
conocidos como bases de datos SQL. Sin embargo, en los últimos años, las bases de datos no
relacionales han aumentado drásticamente en popularidad. Estas bases de datos se conocen
comúnmente como bases de datos NOSQL.

Estos gestores de base de datos son los más conocidos y en lo que se centrara el estudio son:
SQL SERVER, MYSQL, MONGODB, CASSANDRA, REDIS Y HBASE.

3
2. INTRODUCCIÓN
La realización del presente estudio hace un estudio de la actualidad en la que se encuentra el
mercado de las empresas de informática y sistemas o en la realización de un proyecto en alguna
materia en una casa de estudio, con la implementación de estas bases de datos ayudamos a que su
trabajo se dé mayor rendimiento y eficiencia se busca facilitar el manejo de todos los datos que
tiene una empresa o en la realización de un proyecto.

Además con el presente estudio se trata de demostrar la importancia de conocer los beneficios
dichas bases de datos así al momento de emplear dichas bases de datos ya tengan conocimiento
de sus respectivos funcionamientos y así inviertan en algo que realmente es necesario y
requerido.

En la actualidad cualquier tipo de empresa o casa de estudio necesita una base de datos para la
realización de un trabajo o estudio de los distintos tipos de base datos, para así ser capaz de
mejorar un proyecto y manejar los datos del mismo y así tener un mejor rendimiento y eficiencia,
pero cabe destacar que solo los más conocidos tienen un amplio material para su utilización que
hace referencia a los bases de datos más destacados.

Como ventajas en la utilización de una base de datos cabe destacar mayor seguridad y eficiencia
en las transacciones y registros de dicho proyecto a realizar, simplificación del funcionamiento,
aumento de productividad o mayor control de cada apartado. Durante todo el tiempo que se esté
utilizando las bases de datos las acciones realizadas darán información sobre el rendimiento.

Entre estos cabe destacar que este estudio hará una investigación exhaustiva entre los bases de
datos más destacados se realizara un estudio a fondo de los 4 bases de datos más conocidos, por
otra parte son más de 4 las bases de datos más destacadas por eso mismo se escogerá de entre los
primeras bases de datos más conocidas, se hará un pequeña encuesta en un centro de estudio, una
investigación vía internet y otros métodos de recolección de datos.

Cabe distinguir la situación actual de los tipos de bases de datos, Entre estos se ubica las bases
de datos relacionales y las bases de datos no relacionales.

La elección de una base de dato es trivial ya que cada uno tiene muchas ventajas y diferentes
desventajas que lo hacen mejor o peor para cada tipo de negocio o proyecto a realizar. Hay que
conocer y estudiar los requerimientos de la empresa o proyecto y si en un futuro estos pueden

4
variar para poder elegir la base de dato adecuado que se pueda adaptar a la situación, o si va a ser
más estático y priorizar otras funcionalidades más importantes para la empresa o proyecto. A
todo esto hay que sumarle los costes de implantación, hardware, y ver si todo es finalmente
económicamente viable, ya que este estudio se centrara en los BASES DE DATOS MAS
DESTACADOS EN LOS ULTIMOS AÑOS.

3. GENERALIDADES
En la actualidad existen un sinfín de base de datos y cualquier programa o proyecto necesita el
uso de una base de datos, para que su proyecto o programa tenga un mayor rendimiento y una
mayor eficiencia.

EL desarrollo de aplicaciones web va evolucionando constantemente, el usuario cada día exige


mayor velocidad e inmediatez en las interacciones de sitios y aplicaciones web que se usa, con
ese motivo es necesario tener conocimiento de las bases de datos que destacan por sus
características y funciones que hacen viables las necesidades del usuario.

3.1. ANTECEDENTES GENERALES


Las aplicaciones o bases de datos más usuales son para la gestión de empresas e instituciones
públicas; También son ampliamente utilizadas en entornos científicos con el objeto de almacenar
la información experimental.

Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD (del
inglés Database Management System o DBMS), que permiten almacenar y posteriormente
acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, así como su
utilización y administración, se estudian dentro del ámbito de la informática.

Hay bases de datos relacionales, como MySQL, SQL Server y Oracle. Como su nombre lo indica
utilizan el modelo relacional y siempre es mejor usarlas cuando los datos son consistentes y ya
tienes algo planificado.

También existen las no relacionales, como MongoDB, conocida como NO-SQL (Not Only
SQL). Estas son más flexibles en cuanto a consistencia de datos y se han convertido en una
opción que intenta solucionar algunas limitaciones que tiene el modelo relacional.

5
3.2. ANTECEDENTES ESPECÍFICOS
En esencia el uso de las diferentes bases de datos que más sobresalen o destacan tiene sus
ventajas.

 Mayor cantidad de libros para su estudio


 Mayor eficiencia
 La información se almacena y es fácil crear respaldos
 Son de mayor facilidad de uso
 Mayor cantidad de tutoriales para su manejo
 Fácil métodos de instalación

Algunos puntos difieren con las demás bases de datos pero las más sobresalientes o destacadas
continúan con sus actualizaciones, ya que estas tiene mayor demanda laboral a comparación de
las otras que no sobresalen son dejadas o descontinuadas ya que no tienen mayor demanda en el
ámbito laboral.

4. METODOLOGÍA

Para el presente trabajo se utilizarán los siguientes métodos de investigación:

 Método Bibliográfico, debido a que se realizara la lectura y compilación de libros


relacionados al tema de estudio.
 Método Analítico, debido a que se procederá a revisar y analizar ordenadamente
documentos relacionados al tema de estudio, para la redacción del Plan de Emergencia.
 Observación, la observación es otra técnica útil para el analista en su proceso de
investigación, consiste en observar a las personas cuando efectúan su trabajo. El
propósito de la observación es múltiple, permite al analista determina que se está
haciendo, como se está haciendo, quien lo hace, cuando se lleva a cabo, cuánto tiempo
toma, donde se hace y porque se hace.

5. BASES DE DATOS
A continuación se hará un estudio e investigación acerca de las bases de datos su definición, sus
características, sus clasificaciones, sus diferentes tipos de modelaje y sus ventajas y desventajas
que definen a las bases de datos.

6
5.1. DEFINICIÓN DE BASE DE DATOS
Una base de datos es un conjunto de datos almacenados en memoria externa que están
organizados mediante una estructura de datos. Cada base de datos ha sido diseñada para
satisfacer los requisitos de información de una empresa u otro tipo de organización, como por
ejemplo, una universidad o un hospital.

Una base de datos es el conjunto de datos informativos organizados en un mismo contexto para
su uso y vinculación.
Se le llama base de datos a los bancos de información que contienen datos relativos a diversas
temáticas y categorizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o
relación que busca ordenarlos y clasificarlos en conjunto.

Las bases de datos se clasifican como estáticas - en casos en que sólo sirven para su lectura y
almacenamiento - o dinámicas - la información se modifica y puede ser actualizada -. También,
según su contenido pueden ser bibliográficas, de texto completo, directorios, o de tipo biblioteca.
Los usos de las bases de datos son tan múltiples que, por ejemplo, pueden utilizarse en una
biblioteca o archivo que guarda libros para su consulta frecuente, pero también pueden emplearse
para guardar material biológico, como un archivo genético o un banco de esperma que almacena
esperma para ser utilizado en fertilización.
Este tipo de clasificadores contribuyen, por supuesto, a labores diarias de casi todo tipo de
empleos, como registrar las comunicaciones que se sostienen con clientes, almacenar datos de
proveedores, archivar datos, números y todo tipo de información que el usuario quiera poner en
relación o encontrar fácilmente con sólo ingresar una palabra clave.

5.2. VENTAJAS:

 Almacenan grandes cantidades de información.


 Compartir la información.
 Aumento en la productividad.
 Reducción del espacio de almacenamiento.
 Mejora la seguridad de la información.
 Acceso rápido a la información.
 Mejor mantenimiento.

7
 Tienes tu información altamente organizada de acuerdo a tu modelo (diseño).

 El lenguaje SQL es muy fácil de utilizar.


 Puedes administrar fácilmente tu información con el modelo CRUD.
 Tu información se queda guardada y es fácil hacer respaldos.
 Dependiendo del manejador que uses, el desempeño sigue siendo bueno a gran
escala.
 Puedes crear vistas con cálculos y procesamiento de información dentro de la base
de datos para crear reportes fácilmente.
 Potencian web apps o apps móviles con manejo de información de usuarios,
contenido y transacciones.
5.3. DESVENTAJAS:

 Riesgo de pérdida de datos


 Manipulación de datos
 Confidencialidad
 Mantenimiento y costes
 Actualización.
 Vulnerabilidad a los fallos.
 Si las necesidades cambian, puede ser complicado modificar el modelo.
 Si el modelo no es bueno, la aplicación que use la base de datos podrá ser inconsistente,
lo que puede llevar a errores.
 Hacer un buen modelo requiere mucho tiempo a comparación de una base de datos
noSQL.
 Tiene tipos de datos limitados. En una base de datos noSQL no existen limitaciones,
puedes almacenar información estructurada y no estructurada.
 Tamaño, espacio. Una BD suele requerir mucho espacio en disco, suelen volverse
pesadas.
 Costo. Algunos gestores y productos de bases de datos suelen ser costosos. Tales como
Oracle, DB2, Etc.
 Si la BD se llega a corromper es complejo repararla y volverla a su anterior estado.

8
5.4. HISTORIA DE LA BASE DE DATOS

El propósito de las bases de datos surge con la necesidad de registrar y almacenar datos. Por
muchos años la mejor forma de hacer esto consistía en un archivo de documentos en papel, pero
pronto esto se volvió ineficiente, pues lo siguiente después de guardar datos es poderlos
consultar fácilmente.
Hacer una búsqueda puede ser un proceso relativo, pues si tienes muchos tipos de datos podrías
querer buscar a partir de cualquiera de ellos. Esto es lo que fundamenta la teoría de bases de
datos. Imagina tener un archivo gigante de historias clínicas en un hospital, y que no haya una
forma fácil de encontrar la de un paciente específico. Si no existe un proceso de indexación de la
información podríamos pensar en buscar las historias de muchas maneras y tardar mucho en
encontrar.
Actualmente existen diferentes tipos de bases de datos que permiten hacer consultas y escalar
rápidamente.

5.5. ¿QUE ES UN DATO?

Un dato nos permite describir un objeto. Dicho objeto podemos llamarlo entidad, por ejemplo
una casa en la que viven personas. La casa es la entidad y la cantidad de personas que viven en la
casa son un dato, que en este caso es numérico.
Hay diferentes tipos de datos que se pueden tener en una base de datos: caracteres, numéricos,
imágenes, fechas, monedas, texto, bit, decimales y varchar. Hay bases de datos más o menos
adecuadas según el tipo de dato, y hay un proceso para convertir un dato en información, pues un
solo dato por sí mismo no representa nada si no lo vemos en contraste con otros. Así se
identifican comportamientos.
Las empresas y las personas necesitan de las bases de datos en su vida diaria. Las utilizamos más
de lo que nos imaginamos, cada vez que usamos el teléfono, hacemos una compra o cuando
hacemos una transacción bancaria. Si estás empezando un proyecto nuevo o vas a aprender a
programar vale la pena tener muy claro el funcionamiento de las bases de datos.

5.6. TIPOS DE BASES DE DATOS

9
Hay bases de datos relacionales, como MySQL, SQL Server y Oracle. Como su nombre lo
indica utilizan el modelo relacional y siempre es mejor usarlas cuando los datos son consistentes
y ya tienes algo planificado.
También existen las no relacionales, como MongoDB y Redis, conocidas como NO-SQL (Not
Only SQL). Estas son más flexibles en cuanto a consistencia de datos y se han convertido en una
opción que intenta solucionar algunas limitaciones que tiene el modelo relacional.
Además hay otras BBDD no tan tradicionales, como las basadas en grafos o aquellas que tienen
información cartográfica, que pueden servir, por ejemplo, si estás creando un e-commerce para
encontrar relaciones entre los productos y las preferencias de los usuarios.
Tener un buen diseño de base de datos desde el comienzo te puede ayudar a ahorrar
tiempo. Las bases de datos relacionales y no relacionales se organizan de formas diferentes y
trabajan con tipos de datos distintos, así que es importante entender cómo se diseña cada una. En
el caso de bases de datos relacionales se trabaja con el estándar SQL, que se usa para actualizar o
recuperar datos.
Un ejemplo claro para entender las bases de datos es el funcionamiento de una aerolínea. Todas
las aerolíneas tienen aplicaciones para hacer reservas y trabajan con diferentes rutas. Todas las
personas que van a viajar tienen que proveer datos para hacer una reservación de una ruta
específica, por ejemplo la fecha en que van a viajar. Para esto se hace necesario un repositorio en
el que se pueda almacenar esta información y se pueda cruzar, además, con una cantidad de sillas
por avión. Una base de datos permite no redundar en los datos.

5.7. CLASIFICACIÓN DE BASES DE DATOS

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté
manejando, la utilidad de las mismas.

 SEGÚN LA VARIABILIDAD DE LOS DATOS, Son bases de datos únicamente de


lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se
pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del
tiempo, realizar proyecciones, tomar decisiones y realizar análisis de datos
para inteligencia empresarial.
 SEGÚN EL CONTENIDO, Solo contienen una subrogante (representante) de la fuente
primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica

10
contiene información sobre el autor, fecha de publicación, editorial, título, edición, de
una determinada publicación, etc.

5.8. MODELOS DE BASES DE DATOS


Además de la clasificación por la función de las bases de datos, estas también se pueden
clasificar de acuerdo a su modelo de administración de datos.

Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de


datos (algo en donde se guardan los datos), así como de los métodos para almacenar y recuperar
datos de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que
permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren
a algoritmos, y conceptos matemáticos.

 BASES DE DATOS JERARQUICAS, En este modelo los datos se organizan en forma


de árbol invertido (algunos dicen raíz), en donde un nodo padre de información puede
tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no
tienen hijos se los conoce como hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que
manejan un gran volumen de información y datos muy compartidos permitiendo crear
estructuras estables y de gran rendimiento.

 BASES DE DATOS DE RED, Este es un modelo ligeramente distinto del jerárquico; su


diferencia fundamental es la modificación del concepto de nodo: se permite que un
mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).

 BASES DE DATOS TRANSACCIONALES, Son bases de datos cuyo único fin es el


envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y
están dirigidas por lo general al entorno de análisis de calidad, datos de producción e
industrial, es importante entender que su fin único es recolectar y recuperar los datos a la
mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es
un problema como con las demás bases de datos, por lo general para poderlas aprovechar
al máximo permiten algún tipo de conectividad a bases de datos relacionales.

11
 BASES DE DATOS RELACIONALES, Este es el modelo utilizado en la actualidad
para representar problemas reales y administrar datos dinámicamente. Tras ser postulados
sus fundamentos en 1970 por Edgar Frank Codd,2 de los laboratorios IBM en San José
(California), no tardó en consolidarse como un nuevo paradigma en los modelos de base
de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían
considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que esta
es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se
conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación
como si fuese una tabla que está compuesta por registros (las filas de una tabla), que
representarían las tuplas, y campos (las columnas de una tabla).

En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a
diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable
ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base
de datos. La información puede ser recuperada o almacenada mediante "consultas" que
ofrecen una amplia flexibilidad y poder para administrar la información.

El lenguaje más habitual para construir las consultas a bases de datos relacionales
es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar
implementado por los principales motores o sistemas de gestión de bases de datos
relacionales.

Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce
como normalización de una base de datos.

 BASES DE DATOS MULTIDIMENSIONALES, Son bases de datos ideadas para


desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no
se diferencian demasiado de las bases de datos relacionales (una tabla en una base de
datos relacional podría serlo también en una base de datos multidimensional), la
diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los
campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones
de la tabla, o bien representan métricas que se desean aprender.

12
 BASES DE DATOS ORIENTADAS A OBJETOS, Este modelo, bastante reciente, y
propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de
datos los objetos completos (estado y comportamiento).

Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos:

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los
datos como parte de la definición de la base de datos. Una operación (llamada función) se
especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de
la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o
método) de la operación se especifica separadamente y puede modificarse sin afectar la
interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos
invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la
forma en la que se han implementado.

 BASES DE DATOS DOCUMENTALES, Permiten la indexación a texto completo, y


en líneas generales realizar búsquedas más potentes, sirven para almacenar grandes
volúmenes de información de antecedentes históricos. Tesaurus es un sistema de índices
optimizado para este tipo de bases de datos.

 BASES DE DATOS DEDUCTIVAS, Un sistema de base de datos deductiva, es un


sistema de base de datos pero con la diferencia de que permite hacer deducciones a través
de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base
de datos. Las bases de datos deductivas son también llamadas bases de datos lógicas, a
raíz de que se basa en lógica matemática. Este tipo de base de datos surge debido a las
limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de
deducir relaciones indirectas de los datos almacenados en la base de datos.

5.9. CONSULTA DE BASE DE DATOS


Una consulta es el método para acceder a la información en las bases de datos. Con las consultas
se puede modificar, borrar, mostrar y agregar datos en una base de datos, también pueden
utilizarse como origen de registro para formularios. Para esto se utiliza un Lenguaje de consulta.

13
Las consultas a la base de datos se realizan a través de un Lenguaje de manipulación de datos, el
lenguaje de consultas a base de datos más utilizado es SQL.

6. BASES DE DATOS MÁS DESTACADOS


Las bases de datos más destacados que se pueden mencionar entre las bases de datos relacionales
serian: mysql y Microsoft sql server

Entre las bases de datos no relacionales las que más sobresalen son MongoDB, Cassandra, Hbase
y Redis.

Este investigación de las bases de datos más destacadas se hizo mediante una encuesta,
observación y una ardua investigación vía internet.

En este estudio de investigación se dio a conocer que los diferentes tipos de bases de datos la que
más sobresalió son las bases de datos NOSQL como las ya mencionadas anteriormente estas
sobresalieron por su uso en diferentes tipos de trabajos y sus innovadoras propuestas para los
distintos desarrolladores que ven que con los bases de datos NOSQL.

6.1. NOSQL VS SQL: CUÁNDO UTILIZAR QUÉ TIPO DE BASE DE DATOS

 Cuando los datos deben ser consistentes sin dar posibilidad al error utilizar una base de
datos relacional. SQL.

 Cuando nuestro presupuesto no se puede permitir grandes máquinas y debe destinarse a


máquinas de menor rendimiento. NoSQL.

 Cuando las estructuras de datos que manejamos son variables. NoSQL.

 Análisis de grandes cantidades de datos en modo lectura. NoSQL

 Captura y procesado de eventos. NoSQL

 Tiendas online con motores de inteligencia complejos. NoSQL

14
Ilustración 1: Diferencia entre SQL y NoSQL
Fuente: Mexlike (Pat, 2018)

SQL NoSQL

Estructura definida No requiere estructura definida

Debe cumplir requisitos de integridad Se puede ejecutar en máquinas con pocos


en tipo de dato y compatibilidad recursos

Atomicidad Escalabilidad, soportan estructuras distribuidas

Mayor soporte y mejores suites de Permite realizar cambios a los esquemas sin
productos parar la base de datos

Tabla 1: diferencias SQL y NoSQL


Fuente: Elaboración Propia
7. BASES DE DATOS RELACIONALES MÁS DESTACADAS (SQL)
7.1 ¿QUE ES UN BASE DE DATO RELACIONAL?

15
Una base de datos relacional es una colección de elementos de datos organizados en un conjunto
de tablas formalmente descritas desde la que se puede acceder a los datos o volver a montarlos
de muchas maneras diferentes sin tener que reorganizar las tablas de la base. La base de datos
relacional fue inventada por E.F. Codd en IBM en 1970.

La interfaz estándar de programa de usuario y aplicación a una base de datos relacional es el


lenguaje de consultas estructuradas (SQL). Los comandos de SQL se utilizan tanto para
consultas interactivas para obtener información de una base de datos relacional y para la
recopilación de datos para los informes.

Además de ser relativamente fáciles de crear y acceder, una base de datos relacional tiene la
importante ventaja de ser fácil de extender. Después de la creación original de una base de datos,
una nueva categoría de datos se puede añadir sin necesidad de que todas las aplicaciones
existentes sean modificadas.

Una base de datos relacional es un conjunto de tablas que contienen datos provistos en categorías
predefinidas. Cada tabla (que a veces se llaman ‘relación’) contiene una o más categorías de
datos en columnas. Cada fila contiene una instancia única de datos para las categorías definidas
por las columnas. Por ejemplo, una base de datos típica de ingreso de solicitudes de negocio
incluiría una tabla que describiera a un cliente con columnas para el nombre, dirección, número
de teléfono, y así sucesivamente. Otra tabla identificaría el pedido: producto, cliente, fecha,
precio de venta, y así sucesivamente. Un usuario de la base de datos podría obtener una vista de
la base de datos que se ajuste a sus necesidades. Por ejemplo, un gerente de sucursal podría
preferir una vista o informe sobre todos los clientes que han comprado productos después de una
fecha determinada. Un gerente de servicios financieros en la misma empresa podría, desde las
mismas tablas, obtener un informe sobre las cuentas que deben ser pagadas.

Al crear una base de datos relacional, se puede definir el dominio de posibles valores de una
columna de datos y restricciones adicionales que pueden aplicarse a ese valor de dato. Por
ejemplo, un dominio de posibles clientes podría permitir un máximo de diez posibles nombres de
clientes pero estar compilado en una tabla que permita que sólo tres de estos nombres de clientes
puedan ser especificados.

16
La definición de una base de datos relacional resulta en una tabla de metadatos o descripciones
formales de las tablas, columnas, dominios y restricciones.

Gestores de Bases de Datos Relacionales, Existe un tipo de software exclusivamente dedicado a


tratar con bases de datos relacionales, conocido como Sistema de Gestión de Bases de
Datos Relacionales (SGBDR, del inglés Relational Database Management System), también
llamados manejadores o gestores de las BDR.

7.1.1. VENTAJAS BASE DE DATOS RELACIONAL

 Está más adaptado su uso y los perfiles que los conocen son mayoritarios y más baratos.
 Debido al largo tiempo que llevan en el mercado, estas herramientas tienen un mayor
soporte y mejores suites de productos y add-ons para gestionar estas bases de datos.
 La atomicidad de las operaciones en la base de datos. Esto es, que en estas bases de datos
o se hace la operación entera o no se hace utilizando la famosa técnica del rollback.
 Los datos deben cumplir requisitos de integridad tanto en tipo de dato como en
compatibilidad.
7.1.2. DESVENTAJAS BASES DE DATOS RELACIONALES
 La atomicidad de las operaciones juegan un papel crucial en el rendimiento de las bases
de datos.
 Escalabilidad, que aunque probada en muchos entornos productivos suele, por norma, ser
inferior a las bases de datos NoSQL.
7.1.3. ¿CUÁNDO USAR SQL?
No existe una respuesta concreta, porque se presume que cualquier cosa que se deba guardar,
debe ser en una base de datos relacional. Sin embargo los programadores podrían sugerir que
desarrollos de animación, no sería necesario.

En la mayoría de las opiniones, una base de datos relacional puede ser usada los siguientes
ámbitos:

 Educación: para estructurar información, y aportar conocimiento lógico al estudiante.


 Desarrollos web: para mantener jerarquía de datos, siempre y cuando la capacidad de
concurrencia, almacenamiento y mantenimiento no sean de considerable dificultad y la
información sea consistente.

17
 Negocios: inteligencia y análisis de negocios, son temas que requieren el uso de SQL
para facilitar el consumo de la información y la identificación de patrones en los datos.
 Empresarial: porque tanto el software a la medida y el software empresarial, poseen la
característica de mantener información con estructura consistente.

Entre los gestores actuales más populares existen:

 Microsoft SQL Server.


 MySQL.
7.2. MYSQL
MySQL es un sistema de gestión de base de datos relacional (RDBMS) de código abierto,
basado en lenguaje de consulta estructurado (SQL).

Es decir, una base de datos es una colección estructurada de datos y el usuario necesita un
administrador para poder agregar, acceder o procesar esta información guardada en el ordenador.

MySQL se ejecuta en prácticamente todas las plataformas, incluyendo Linux, UNIX y Windows.
A pesar de que se puede utilizar en una amplia gama de aplicaciones, MySQL se asocia más con
las aplicaciones basadas en la web y la publicación en línea y es un componente importante de
una pila empresarial de código abierto llamado LAMP. LAMP es una plataforma de desarrollo
web que utiliza Linux como sistema operativo, Apache como servidor web, MySQL como
sistema de gestión de base de datos relacional y PHP como lenguaje de programación orientado a
objetos (a veces, Perl o Python se utiliza en lugar de PHP).

MySQL, que fue concebido originalmente por la compañía sueca MySQL AB, fue adquirida por
Oracle en 2008. Los desarrolladores todavía pueden usar MySQL bajo la Licencia Pública
General de GNU (GPL), pero las empresas deben obtener una licencia comercial de Oracle.

MySQL como sistema de administración de bases de datos permite que esta base pueda ser desde
una simple lista de compras a una galería de pinturas, o el vasto volumen de información en una
red corporativa; además, la base de datos relacional archiva datos en tablas separadas en vez de
colocar todos los datos en un gran archivo, lo que permite velocidad y flexibilidad.

18
7.2.1. CARACTERÍSTICAS

Las principales características de este gestor de bases de datos son las siguientes:

 Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación


multihilo.
 Soporta gran cantidad de tipos de datos para las columnas.
 Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc.)
 Gran portabilidad entre sistemas.
 Soporta hasta 32 índices por tabla.
 Gestión de usuarios y passwords, manteniendo un muy buen nivel de seguridad en los
datos.

7.3. MICROSOFT SQL SERVER


Es un sistema de administración y análisis de bases de datos relacionales de Microsoft para
soluciones de comercio electrónico, línea de negocio y almacenamiento de datos. En esta
sección, encontrará información sobre varias versiones de SQL Server. También encontrará
artículos sobre bases de datos y aplicaciones de diseño de bases de datos así como ejemplos de
los usos de SQL Server.

Microsoft SQL Server 2014 se basa en las funciones críticas ofrecidas en la versión anterior,
proporcionando un rendimiento, una disponibilidad y una facilidad de uso innovadores para las
aplicaciones más importantes. Microsoft SQL Server 2014 ofrece nuevas capacidades en
memoria en la base de datos principal para el procesamiento de transacciones en línea (OLTP) y
el almacenamiento de datos, que complementan nuestras capacidades de almacenamiento de
datos en memoria y BI existentes para lograr la solución de base de datos en memoria más
completa del mercado.

SQL Server 2014 también proporciona nuevas soluciones de copia de seguridad y de


recuperación ante desastres, así como de arquitectura híbrida con Windows Azure, lo que
permite a los clientes utilizar sus actuales conocimientos con características locales que
aprovechan los centros de datos globales de Microsoft. Además, SQL Server 2014 aprovecha las

19
nuevas capacidades de Windows Server 2012 y Windows Server 2012 R2 para ofrecer una
escalabilidad sin parangón a las aplicaciones de base de datos en un entorno físico o virtual.

7.3.1. CARACTERÍSTICAS

Microsoft SQL Server revoluciona el concepto de Base de datos para la Empresa. Reúne en un
sólo producto la potencia necesaria para cualquier aplicación empresarial, crítica junto con unas
herramientas de gestión que reducen al mínimo el coste de propiedad. Con Microsoft SQL
Server, la empresa tiene todo de serie.

Dentro de sus características fundamentales se encuentran:


 Soporte de transacciones.

 Escalabilidad, estabilidad y seguridad.

 Soporta procedimientos almacenados.

 Incluye también un potente entorno gráfico de administración, que permite el uso de

comandos DDL y DML gráficamente.

 Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el

servidor y los terminales o clientes de la red sólo acceden a la información.

 Además permite administrar información de otros servidores de datos

7.3.2. ESCENARIOS DE USO

SQL Server Express fue desarrollado para tener dos usos distintos como objetivo. El primer uso
es como un producto para servidores, especialmente un servidor de bases de datos (por ejemplo,
para un sitio Web). El segundo uso es como servidor local de una aplicación cliente local, o
como almacenamiento de datos donde la aplicación no depende del acceso a una red local. La
facilidad de uso y la simpleza fueron objetivos claves en su diseño.

Los tres escenarios principales de uso de SQL Server Express son:


 Desarrolladores construyendo aplicaciones basadas en Web.
 Empresas de desarrollo de programas que redistribuyen SQL Server Express para
almacenamiento de datos locales o en servidor, de bajo costo.

20
 Aficionados que crean aplicaciones cliente/servidor básicas.
SQL Server Express proporciona una plataforma de base de datos confiable y fácil de utilizar
que cubre bien los escenarios presentados antes.
8. BASES DE DATOS NO RELACIONALES MAS DESTACADAS

Las bases de datos no relacionales también conocidas como NOSQL.

8.1. ¿QUÉ ES NOSQL?


Las bases de datos NoSQL están diseñadas específicamente para modelos de datos específicos y
tienen esquemas flexibles para crear aplicaciones modernas. Las bases de datos NoSQL son
ampliamente reconocidas porque son fáciles de desarrollar, su funcionalidad y el rendimiento a
escala. Usan una variedad de modelos de datos, que incluyen documentos, gráficos, clave-valor,
en-memoria y búsqueda.

Los NOSQL son más adecuados para aquellos que manejan grandes volúmenes de datos. Es por
eso que empresas como Facebook, Google, Amazon, Twitter, entre otros han popularizado estos
tipos de base de datos.

Esas empresas tenían que enfrentarse a grandes desafíos motivados a la alta demanda de internet.
Donde surge la necesidad de proporcionar información de grandes volúmenes de datos e
indeterminado número de usuarios en el menor tiempo posible. Esas compañías se dieron cuenta
que podían sacrificar la consistencia de los datos que garantiza una base de datos relacional para
poder obtener un mejor rendimiento y ofrecer soluciones en tiempo real.

Los puedes usar en soluciones donde requieres interactuar con datos en tiempo real como en un
chat, para análisis estadísticos donde procesas mucha información o incluso en blogs.

Algunos tipos de bases de datos NoSQL incluyen diferentes tipos de almacenamiento, por
ejemplo: con columnas, documentos, key value store, gráficos, objetos (JSON), XML y otros
modos de almacenamiento de datos.

8.1.1. ¿CÓMO FUNCIONA UNA BASE DE DATOS NOSQL (NO RELACIONAL)?


Las bases de datos NoSQL utilizan una variedad de modelos de datos para acceder y administrar
datos, como documentos, gráficos, clave-valor, en-memoria y búsqueda. Estos tipos de bases de
datos están optimizados específicamente para aplicaciones que requieren grandes volúmenes de

21
datos, baja latencia y modelos de datos flexibles, lo que se logra mediante la flexibilización de
algunas de las restricciones de coherencia de datos en otras bases de datos.

8.1.2. ¿CUÁNDO USAR NOSQL?


Básicamente se utilizan en:

 Redes sociales: casi obligatorio.


 Desarrollo Web: debido a la poca uniformidad de la información que se encuentra en
Internet; aun cuando también puede emplearse SQL.
 Desarrollo Móvil: debido a la tendencia – en crecimiento- de Bring Your Own Device.
 BigData: debido a la administración de grandísimas cantidades de información y su
evidente heterogeneida.
 Cloud (XaaS): “Everything as a service”; NoSQL puede adaptarse casi a cualquier
necesidad del cliente, y sus particularidades
8.1.3. VENTAJAS DE UNA BASE DE DATOS NOSQL

 La escalabilidad y su carácter descentralizado. Soportan estructuras distribuidas.


 Suelen ser bases de datos mucho más abiertos y flexibles. Permiten adaptarse a
necesidades de proyectos mucho más fácilmente que los modelos de Entidad Relación.
 Se pueden hacer cambios de los esquemas sin tener que parar bases de datos.
 Escalabilidad horizontal: son capaces de crecer en número de máquinas, en lugar de tener
que residir en grandes máquinas.
 Se pueden ejecutar en máquinas con pocos recursos.
 Optimización de consultas en base de datos para grandes cantidades de datos.

8.1.4. DESVENTAJAS DE UNA BASE DE DATOS NOSQL


 No todas las bases de datos NoSQL contemplan la atomicidad de las instrucciones y la
integridad de los datos. Soportan lo que se llama consistencia eventual.
 Problemas de compatibilidad entre instrucciones SQL. Las nuevas bases de datos utilizan
sus propias características en el lenguaje de consulta y no son 100% compatibles con el
SQL de las bases de datos relacionales. El soporte a problemas con las queries de trabajo
en una base de datos NoSQL es más complicado.

22
 Falta de estandarización. Hay muchas bases de datos NoSQL y aún no hay un estándar
como si lo hay en las bases de datos relacionales. Se presume un futuro incierto en estas
bases de datos.
 Soporte multiplataforma. Aún quedan muchas mejoras en algunos sistemas para que
soporten sistemas operativos que no sean Linux.
 Suelen tener herramientas de administración no muy usables o se accede por consola.
Las más conocidas dentro de las NoSQL podemos mencionar MONGODB, REDIS,
CASSANDRA Y HBASE.

8.2. MONGODB
Probablemente es la base de datos más popular. Tiene la posibilidad de trabajar con datos
estructurados y no estructurados. Destaca por su gran capacidad de escalado y rendimiento.
Suele ser la que más perfiles experimentados tiene.

Es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto


de código abierto.

MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL. En lugar de
guardar los datos en tablas como se hace en las base de datos relacionales, MongoDB guarda
estructuras de datos en documentos similares a JSON con un esquema dinámico (MongoDB
utiliza una especificación llamada BSON), haciendo que la integración de los datos en ciertas
aplicaciones sea más fácil y rápida.

Permiten trabajar por pares de clave-valor y acceder a distintas partes de los datos almacenados.

Mongo DB no soporta atomicidad en las operaciones y garantiza integridad eventual. Los


cambios se irán replicando a lo largo de todos los nodos pero no se garantiza que todos los nodos
tengan el mismo dato a la vez.

8.2.1. CARACTERÍSTICAS

 Se almacenan documentos (registros) en colecciones (tablas).


 Se puede utilizar el lenguaje Javascript en el servidor.

8.2.2. CASOS DE USO

23
La base de datos MongoDB es adecuada para los siguientes usos:

 Almacenamiento y registro de eventos


 Para sistemas de manejo de documentos y contenido
 Comercio Electrónico
 Juegos
 Problemas de alto volumen de lecturas
 Aplicaciones móviles
 Almacén de datos operacional de una página web
 Manejo de contenido
 Almacenamiento de comentarios

 Votaciones
 Registro de usuarios
 Perfiles de usuarios
 Sesiones de datos
 etc.

 Proyectos que utilizan metodologías de desarrollo iterativo o ágiles


 Manejo de estadísticas en tiempo real

MongoDB es utilizado para uno o varios de estos casos por varias empresas

8.2.3. ¿QUIÉNES USAN MONGODB?

 Google

 Facebook

 CISCO

 EBay

 Linkedin

 etc.

24
8.3.REDIS
Redis es un almacén de estructura de datos de valores de clave en memoria rápido y de código
abierto. Redis incorpora un conjunto de estructuras de datos en memoria versátiles que le
permiten crear con facilidad diversas aplicaciones personalizadas. Entre los casos de uso
principales de Redis se encuentran el almacenamiento en caché, la administración de sesiones,
pub/sub y las clasificaciones. Es el almacén de valores de clave más popular en la actualidad.
Tiene licencia BSD, está escrito en código C optimizado y admite numerosos lenguajes de
desarrollo. Redis es el acrónico de REmote DIctionary Server (servidor de diccionario remoto).

Gracias a su velocidad y facilidad de uso, Redis es una opción popular para aplicaciones web,
móviles, de juegos, de tecnología publicitaria y de IoT que requieren el mejor desempeño de su
clase. AWS proporciona compatibilidad con Redis mediante un servicio de base de datos
totalmente gestionado y optimizado llamado Amazon ElastiCache para Redis, y además permite
a los clientes ejecutar Redis en AWS EC2 administrado por ellos mismos.

8.3.1. VENTAJAS

 Desempeño increíblemente rápido.-Todos los datos de Redis se encuentran en la


memoria principal del servidor, a diferencia de la mayoría de sistemas de administración
de bases de datos, que almacenan los datos en el disco o en SSD. Al eliminar la necesidad
de acceder a discos, las bases de datos en memoria como Redis evitan los retrasos y
pueden acceder a los datos con algoritmos más sencillos que utilizan menos instrucciones
de la CPU. Las operaciones típicas tardan menos de un milisegundo en ejecutarse.
 Estructuras de datos en memoria.-Redis permite a los usuarios almacenar claves que se
corresponden con diversos tipos de datos. El tipo de datos fundamental es una cadena,
que puede componerse de texto o datos binarios y tener un tamaño de hasta 512 MB.
Redis también admite listas de cadenas en el orden en el que se han agregado, conjuntos
de cadenas sin ordenar, conjuntos clasificados ordenados por puntuación, hashes que
almacenan una lista de campos y valores, e HyperLogLogs que cuentan los elementos
únicos de un conjunto de datos. Con Redis, se puede almacenar en la memoria
prácticamente cualquier tipo de datos.

25
 Replicación y persistencia.- Redis utiliza una arquitectura maestro-esclavo y admite la
replicación asíncrona mediante la que los datos se replican en numerosos servidores
esclavos. De este modo, se logra una mejora en el desempeño de lectura (ya que las
lecturas se pueden repartir entre servidores) y de recuperación cuando el servidor
principal sufre un fallo.
 Compatibilidad con su lenguaje de programación favorito.-Los desarrolladores de
Redis tienen a su disposición más de cien clientes de código abierto. Entre los lenguajes
admitidos se encuentran Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, R,
Go y muchos otros.
 Resumen y conclusión.- En resumen, diría que Redis es una base de datos en RAM que
gracias a que nos permite ahorrarnos millones de conexiones con la base de datos
principal conseguimos ahorrar muchísimo dinero en servidores a la vez que conseguimos
que nuestra plataforma sea muchísimo más rápida.

Por lo tanto, aprender Redis es fundamental si quieres trabajar para alguna empresa que tenga
algún gran proyecto o si eres emprendedor y estás realizando tu propio proyecto.

8.4.CASSANDRA
Es una base de datos NoSQL distribuida y basada en un modelo de almacenamiento de «clave-
valor», de código abierto que está escrita en Java. Permite grandes volúmenes de datos en forma
distribuida. Por ejemplo, lo usa Twitter para su plataforma. Su objetivo principal es la
escalabilidad lineal y la disponibilidad. La arquitectura distribuida de Cassandra está basada en
una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es
máxima. Está desarrollada por Apache Software Foundation.

La variedad de aplicaciones para las que puede emplearse Cassandra base de datos la
configuran como una opción a tener en cuenta por las organizaciones que se interesan por el
internet de las cosas y las aplicaciones relacionadas, el rastreo y la monitorización de la
actividad de los usuarios en su interacción con los productos o servicios, la analítica social
media y los motores de recomendación. Debido a sus posibilidades, resulta muy
recomendable para empresas del sector retail que cuentan con e-commerce o quieren
utilizarla para sus apps o catálogos, contribuyendo a mejorar el nivel de soporte.

26
8.4.1 ¿QUÉ ES CASSANDRA BASE DE DATOS?

Cassandra es un sistema de código abierto distribuido de gestión de base de datos diseñado para
manejar grandes cantidades de datos a través de muchos servidores de conveniencia,
proporcionando alta disponibilidad sin ningún punto único de fallo.

Cassandra base de datos ofrece un nivel muy elevado de compatibilidad para los clústeres que
abarcan múltiples centros de datos, con la replicación asíncrona sin maestro, lo que permite
operaciones de baja latencia para todos los clientes. Aunque uno de sus puntos fuertes es el
rendimiento. Apache Cassandra está diseñada para ser ágil y estar siempre disponible para
cualquier demanda procedente del internet de las cosas, la web y aplicaciones móviles,
proporcionando a los negocios el respaldo necesario y a sus clientes un servicio óptimo.

A nivel operacional, se trata de una opción sencilla que permite a las organizaciones integrar la
información de Cassandra base de datos a las infraestructuras de datos existentes, permitiendo
que los procesos de la empresa impulsen el valor de big data, trabajando incluso en tiempo real
con cientos de fuentes de datos diferentes.

Cassandra también ofrece un gran rendimiento. En 2012, investigadores de la Universidad de


Toronto que estudian los sistemas NoSQL concluyeron que "En términos de escalabilidad, hay
un claro ganador a través de nuestros experimentos. Cassandra logra el más alto rendimiento
para el número máximo de nodos en todos los experimentos", aunque "esto tiene como precio
una alta latencia de escritura y lectura"

8.4.2. HISTORIA

El desarrollo inicial de Cassandra tiene su origen en Facebook, que lo diseñó para potenciar la
funcionalidad de búsqueda en el inbox. En 2008 fue liberado como proyecto open source y en
febrero de 2010 se convirtió en un proyecto top-level de la fundación Apache.

Está inspirado e influenciado por los papers de Amazon Dynamo de 2007 y de Google
BigTable de 2006. Hoy en día está mantenido y desarrollado por la compañía Datastax.

Su nombre está inspirado por la sacerdotisa Cassandra de la mitología griega, que tenía el don de
la profecía, y predijo el engaño del Caballo de Troya.

27
8.4.3. ARQUITECTURA

Cassandra nos proporciona tolerancia a particiones y disponibilidad, pero a cambio de ser


eventualmente consistente, tal y como define el teorema CAP. El nivel de consistencia puede ser
configurado, según nos interese, incluso a nivel de query.

Es distribuida, lo quiere decir que la información está repartida a lo largo de los nodos del
cluster. Además ofrece alta disponibilidad, de manera que si alguno de los nodos se cae el
servicio no se degradará.

Escala linealmente, lo que quiere decir que el rendimiento de forma lineal respecto al número de
nodos que añadamos. Por ejemplo, si con 2 nodos soportamos 100.000 operaciones por segundo,
con 4 nodos soportaremos 200.000. Esto da mucha predictibilidad a nuestros sistemas.

Escala de forma horizontal, lo que quiere decir que podemos escalar nuestro sistema añadiendo
nuevos nodos basados en hardware commodity de bajo coste.

8.4.4. PRINCIPALES CARACTERÍSTICAS DE CASSANDRA BASE DE DATOS

Cassandra base de datos ofrece, por sus características, una serie de beneficios que optimizan el
potencial de las aplicaciones online del negocio, entre los que cabe destacar:

 Arquitectura escalable: gracias a un diseño masterless, en el que todos los nodos son
iguales, lo que ofrece simplicidad operativa y fácil escalabilidad horizontal.
 Diseño activo de principio a fin: ya que en todos los nodos se puede escribir y leer.
 Rendimiento a escala lineal: la posibilidad de añadir nodos sin tener que frenar el ritmo
produce aumentos en el rendimiento.
 Disponibilidad continua: elimina los puntos únicos de fallo y proporciona un tiempo de
actividad constante.
 Detección de fallos y recuperación transparente: para nodos que no pueden ser
fácilmente restaurados o reemplazados.
 Modelo de datos flexible y dinámico: que soporta tipos de datos modernos para lectura
y escritura rápida.

28
 Protección de datos sólida: un diseño de registro de confirmación evita la pérdida de
datos y construye copias de seguridad para facilitar la restauración a la vez que se
mantienen los datos protegidos y seguros.
 Consistencia de los datos sintonizable: de esta forma, Cassandra base de datos ofrece
apoyo a la consistencia de los datos en un clúster ampliamente distribuido.
 Replicación de datos multi-centro: se trata de un centro de datos transversal (en
diferentes zonas geográficas) que recibe el el apoyo de múltiples zonas de disponibilidad
en la nube tanto para escritura como para lectura.
 Compresión de datos: garantiza que los datos se comprimirán hasta un 80% sin que ello
suponga un gasto de recursos.
 CQL (Lenguaje de Consulta Cassandra): un lenguaje similar a SQL que consigue que
la transición desde una base de datos relacional sea muy sencilla.
8.4.5. LENGUAJE DE CONSULTA

Cassandra introduce CQL (Cassandra Query Language), una alternativa similar a SQL para la
interfaz RPC tradicional. Existen drivers disponibles para Java (JDBC), Python (DBAPI2),
Node.JS (Helenus), Go (gocql) y C++.

8.4.5. MODELO DE DATOS

Cassandra es esencialmente un híbrido entre un modelo Clave-Valor y una base de datos Tabular
(Orientado a columnas).

La familia de columnas (llamada “Tabla” desde CQL3) se asemeja a una tabla en un RDBMS.
Estas contienen filas y columnas. Cada fila tiene múltiples columnas, cada una de estas tiene a su
vez un nombre, un valor y un timestamp. A diferencia de una tabla en un RDBMS, diferentes
filas en una misma familia de columnas, no tiene por qué compartir el mismo conjunto de
columnas, y además, una columna puede ser añadida a una o a múltiples filas en cualquier
momento. Cada clave en Cassandra, corresponde a un valor que es a su vez un objeto. Cada
clave tiene valores como columnas, y las columnas son agrupadas en sets que son llamados
familias de columnas. Así, cada clave identifica una fila con un número variable de elementos.
Estas familias de columnas, pueden ser consideradas como tablas. Una tabla en Cassandra es un
mapa multi-dimensional distribuido, indexado por una clave. Además, las aplicaciones pueden

29
especificar el orden de las columnas dentro de una Súper Columna, o una Familia de Columnas
Simples.

8.4.6. DESARROLLO

Entre las características de Cassandra destacan.

 NoSql
 Modelo Clave – Valor
 Distribuida
 Escalabilidad Lineal
 Disponibilidad
 Rendimiento
 Tolerancia a Fallos
8.5. HBASE
HBase es una columna de base de datos orientada al construido en la parte superior de la Hadoop
sistema de archivos. Es un proyecto de código abierto y se puede escalar horizontalmente.

HBase es un modelo de datos que es similar a Google la gran tabla diseñada para permitir el
rápido acceso aleatorio a enormes cantidades de datos estructurados. Aprovecha la tolerancia a
errores de sistema de archivos el Hadoop (HDFS).

Es una parte del ecosistema Hadoop que proporciona al azar tiempo real acceso de
lectura/escritura a los datos de la Hadoop Sistema de archivos.

Uno puede almacenar los datos de los HDFS, bien directamente o a través HBase. Consumidor
de datos lee y tiene acceso a los datos en forma aleatoria usando HBase HDFS. HBase se sitúa en
la parte superior de la Hadoop y Sistema de Archivos proporciona acceso de lectura y escritura.

30
Ilustración 2: Función de HBase
Fuente: (TutorialPoint, 2016)
HBase es una columna de base de datos y las tablas en que se ordenan por fila. Esquema de la
tabla define solamente la columna las familias, que son los pares de valor clave. Una tabla con
varias columnas y cada columna familias familia puede tener cualquier número de columnas. Los
valores de columna se almacenan físicamente en el disco. Cada valor de la celda de la tabla tiene
una marca de tiempo. En resumen, en un HBase:

 Tabla es un conjunto de filas.


 Fila es una colección de la columna.
 Columna familia es una colección de columnas.
 Columna es una recopilación de los principales pares de valores.

8.5.1. CARACTERÍSTICAS DE HBASE

 HBase es lineal escalable.


 Ha hecho automático.
 Proporciona lectura coherente y escrituras.
 Se integra con Hadoop, tanto como un origen y un destino.

31
 Tiene fácil API de java para el cliente.
 Proporciona replicación de datos en clústeres.

8.5.2. DONDE USAR HBASE

Apache HBase se utiliza para tener al azar y en tiempo real de acceso de lectura/escritura a los
grandes datos.
Alberga las tablas de gran tamaño en la parte superior de los grupos de hardware de productos
básicos.
Apache HBase es una base de datos relacional basada en Bigtable de Google. Actos de Bigtable
de Google File System, del mismo modo Apache HBase trabaja en la parte superior de Hadoop y
HDFS.
8.5.3. LAS APLICACIONES DE HBASE

 Se usa cuando es necesario escribir aplicaciones pesadas.


 HBase se utiliza cada vez que necesitemos para proporcionar un rápido acceso aleatorio a
los datos disponibles.
 Empresas como Facebook, Twitter, Yahoo y Adobe uso HBase internamente.

9. CONCLUSIONES
En conclusión mediante el estudio e investigación las bases de datos más destacadas y
sobresalientes en estos últimos años, en referencia a los tipos de bases de datos relacionales o no
relacionales (NOSQL).

La tecnología NOSQL destaco en los últimos años así como sus respectivos gestores tales como:
MONGODB (GOOGLE), REDIS (CHAT Y MENSAJERIA), CASSANDRA (FACEBOOK) Y
HBASE (YAHOO).

Las bases de datos NOSQL son ampliamente reconocidas porque son fáciles de desarrollar, su
funcionalidad y el rendimiento son mejores que las bases de datos relacionales.

Utilizan una variedad de modelos de datos para acceder y administrar datos, como documentos,
gráficos, en memoria y búsqueda. Estos tipos de bases de datos están optimizados
específicamente para aplicaciones que requieren grandes volúmenes de datos, baja latencia y
modelos de datos flexibles, lo que se logra mediante la flexibilización de algunas de las
restricciones de coherencia de datos en otras bases de datos.

32
A si mismo las bases de datos relacionales no tienen un gestor nuevo que destaque en los
últimos años pero de tal manera las mismas siguen prevaleciendo a un con el pasar del tiempo
con las diferentes actualizaciones que se realizan cada año, como ser MYSQL y MICROSOFT
SQL SERVER

10. BIBLIOGRAFÍA

Biomedia, G. A. (2014). Ateuves. Obtenido de Ateuves: https://ateuves.es/ventajas-desventajas-las-


bases-datos/

Camps Pare, R., Casillas Santillan, L., Martin Escofet, D., & Perez Mora, O. (2005). Base de Datos.
Barcelona: Eureca Media.

Gil, D. (2012). Quora. Obtenido de Quora: https://es.quora.com/Cu%C3%A1les-son-las-ventajas-y-


desventajas-de-utilizar-una-base-de-datos

Informaticas, H. (18 de septiembre de 2013). Cibertareas. Obtenido de Cibertareas:


https://cibertareas.info/ventajas-y-desventajas-de-las-bases-de-datos-herramientas-
informaticas-1.html

JAVIER. (18 de Noviembre de 2015). Pandorafams. Obtenido de Pandorafams:


https://blog.pandorafms.org/es/nosql-vs-sql-diferencias-y-cuando-elegir-cada-una/

Millán, M. E. (2012). Fundamentos de Bases de Datos - Notas de referencia. Cali: Edicion Digital.

Pat, A. (22 de Mayo de 2018). mexlike. Obtenido de mexlike: https://mexlike.io/sql-vs-nosql-conoce-sus-


diferencias-de-cada-tipo/

Pensante, e. (2018). Educacion el Pensante. Obtenido de Educacion el Pensante:


https://educacion.elpensante.com/ventajas-y-desventajas-de-las-bases-de-datos/

Silberschatz, A., F. Korth, H., & Sudarshan, S. (2002). FUNDAMENTOS DE BASES DE DATOS. Madrid:
Concepción Fernández Madrid.

Vergara, A. (2015). Facilcloud. Obtenido de Facilcloud: https://www.facilcloud.com/noticias/sql-vs-


nosql-which-one-should-i-use/

WordPress. (06 de marzo de 2017). WordPress. Obtenido de WordPress:


https://geodir.wordpress.com/2017/03/06/definicion-de-mongodb/

33

Potrebbero piacerti anche