Cochabamba – Bolivia
2018
2
DEDICATORIA
AGRADECIMIENTOS
Tabla de contenido
Tabla de Figuras ................................................................................................................................. 6
Capítulo 1 Introducción
1. Introducción................................................................................................................................. 7
1.1 Antecedentes................................................................................................................................ 8
2.1 Características............................................................................................................................. 13
3.1. Antecedentes......................................................................................................................... 28
Recomendaciones ..............................................................................................................................42
Bibliografía ........................................................................................................................................43
6
Tabla de Figuras
Figura 1. Versiones de Cassandra........................................................................................…… 12
Figura 2. Teorema CAP y Cassandra ..................................................................................…… 14
Figura 3. Clúster d nodos Cassandra en diferentes hosts de red........................................ …… 16
Figura 4. Cantidad de operaciones por segundo ................................................................. …… 17
Figura 5. Arquitectura de nodos ..........................................................................................…… 18
Figura 6. Escritura de datos en Cassandra .......................................................................... …… 21
Figura 7. Keyspace Cassandra .............................................................................................…… 25
Figura 8. Cuadro comparativo .............................................................................................…… 26
Figura 9. Lienzo de Negocio................................................................................................…… 30
Figura 10. Arbol de Problema..............................................................................................…… 30
Figura 11. Modelo Entidad Relación ..................................................................................…… 31
Figura 12. Tabla Personal .................................................................................................... …… 35
Figura 13. Selección de datos Personal ............................................................................... …… 36
Figura 14. Validación de Tabla ...........................................................................................…… 36
Figura 15. Creación de tabla personal con Cassandra ........................................................…… 37
Figura 16. Tabla usuario ...................................................................................................... …… 38
Figura 17. Selección de datos usuario .................................................................................…… 38
Figura 18. Validación de tabla .............................................................................................…… 39
Figura 19. Creación de tabla usuario con Cassandra..........................................................…… 39
Figura 20. Batch ...................................................................................................................…… 40
7
Capítulo I – Introducción
1. Introducción
En la actualidad, las bases de datos relacionales se han proyectado a ser una de las herramientas
más difundidas en nuestra sociedad de la informática, las cuales permiten almacenar, manipular y
recuperar información de diversos campos. No obstante han tenido que pasar algunos años para
que las bases de datos puedan alcanzar el desarrollo que hoy conocemos, comenzando con el
almacenamiento de información con tarjetas perforadas y cintas magnéticas, uso de discos que
dieron inicio a las bases de datos, bases de datos en red y bases de datos jerárquicos de ahí surge
las bases de datos relaciones que en un principio consistió en una serie de reglas para la evaluación
interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas
conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre Modelo Relacional
este tipo de base de datos son llamados SGBDR (Sistema de Gestión de Bases de Datos Relacional)
Para poder optimizar los tiempos de respuesta en las diferentes consultas se implementa bases de
datos NoSQL (a veces llamado “no solo SQL”), se refiere a un grupo de sistemas de bases de
y generalmente no se usa lenguajes comunes del SQL para manipular los datos. Los sistemas de
bases de datos en NoSQL por su naturaleza tienen la utilidad en la facilidad de trabajar con grandes
cantidades de datos ya que se encuentran diseñados para el almacenamiento de datos en gran escala
y procesamiento de datos en paralelo a través de varios servidores. Los sistemas NoSQL pueden
diversa la aplicabilidad de las bases de datos, en este documento se considera las bases de datos
NoSQL Cassandra para las consultas o solicitudes de datos, indicando las principales
1.1 Antecedentes
De los diferentes modelos de datos, el modelo relacional ha sido popular desde los años 80s con
consultas de acceso a bases de datos relacionales, que permite efectuar consultas con el fin de
recuperar información de interés de una base de datos, como hacer cambios o borrados de forma
sencilla con implementaciones de Oracle, MySQL y los servidores SQL Microsoft. En la época de
los 90s y 2000 fueron herramientas estándar para una gran cantidad de industrias. La escalabilidad
en varios servidores con grandes cantidades de datos esta tendencia se debe a dos razones
principales
sensores, acelerado aún más por la concentración de este volumen por sistemas distribuidos
2.0, las redes sociales y la necesidad de un acceso estandarizado a fuentes de datos de varios
sistemas distintos.
El termino NoSQL que fue acuñado en 1998, originalmente se refería a una base de datos
relacional de código abierto, que no usaba un lenguaje de consultas SQL, al principio fue un
concepto el cual no lo tomaron en cuenta, pero conforme al paso del tiempo en el año 2009 un
empleado de Racksp ace Rick Evans, reintrodujo el término en un evento el cual se discutía las
bases de datos de código abierto. En la actualidad, con las organizaciones que recolectan grandes
9
cantidades de datos sin estructurar se encuentran migrando hacia el uso de bases de datos no
relacionales, también conocidos como bases de datos NoSQL, las bases de datos NoSQL se
enfocan en los procesos analíticos de datasets, alarga escalan ofreciendo escalabilidad en campos
Como optimizar el rendimiento del depósito de datos de un sistema transaccional de forma que
pueda mejorar la velocidad de respuesta en las consultas utilizando base de datos NoSQL
Cassandra.
1.3 Objetivos
Diseñar las tablas principales para la optimización de depósito de datos utilizando Cassandra
NoSQL.
1.4 Alcance
El proyecto se centra en el modelo relacional que se tiene del Sistema de Seguridad Industrial, en
el cual identificaremos las tablas del modelo a ser manipuladas para el depósito de datos con
1.5 Justificación
La obtención de datos en tiempos de ejecución más cortos nos ayuda a garantizar que los datos se
encuentren actualizados y disponibles para la toma de decisiones. Como también tener réplicas de
2. Definición
Apache Cassandra fue inicialmente desarrollada en Facebook, para impulsar las búsqueda en la
bandeja de entrada .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
Cassandra está basada en una serie de nodos iguales que se comunican con un protocolo P2P con
Cassandra ofrece soporte robusto para múltiples centros de datos, con la replicación asincrónica
sin necesidad de un servidor maestro, que permiten operaciones de baja latencia para todos los
clientes.
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
El modelo de datos de Cassandra consiste en particionar las filas, que son reorganizadas en tablas.
Las claves primarias de cada tabla tienen un primer componente que es la clave de partición.
Dentro de una partición, las filas son agrupadas por las columnas restantes de la clave. Las demás
Las tablas se pueden crear, eliminar y alterar en tiempo de ejecución sin bloquear actualizaciones
y consultas.
Cassandra no soporta joins (unir) o subqueries (sub consultas), sino que enfatiza en la
En las versiones iniciales utilizaba un API propia para poder acceder a la base de datos. En los
últimos tiempos están apostando por un lenguaje denominado CQL (Lenguaje de Consultas
Cassandra) que posee una sintaxis similar a SQL aunque con muchas menos funcionalidades. Esto
hace que iniciarse en el uso de la misma sea más sencillo. Permite acceder en Java desde JDBC.
2.1 Características
CAP significa "consistencia, disponibilidad y tolerancia a la partición". El teorema CAP, que fue
formulado por primera vez por Eric Brewer en 2000, establece que como mucho, sólo se pueden
obtener dos de esas propiedades en cualquier sistema de datos compartidos. Así que debe elegir
dos; no puede tenerlas todas. Para saber más acerca del teorema, vea a continuación "Temas
Es importante que entienda el teorema CAP ya que está relacionado con Cassandra. Según el
teorema, para cualquier sistema distribuido se debería elegir las dos garantías más importantes
para el sistema. En Cassandra es posible tener las tres garantías, pero no al mismo tiempo. Por lo
tanto, cuando se quiere una base de datos altamente disponible y sin tiempo de inactividad, y no
se quiere ser pillado por fallos ocasionales del hardware, Cassandra es la mejor opción para las
Esto contrasta con las propiedades ACID (atomicidad, consistencia, aislamiento, durabilidad) de
Datos Relacional) tradicional, como MySQL, DB2®, Oracle y Sybase. No quiero sugerir que en
Cassandra no se tengan las operaciones atómicas, ni que los datos en Cassandra no estén aislados
ni sean duraderos. Simplemente quiero decir que esas no son las principales preocupaciones de
Cassandra. La base de datos nació para ser distribuida de forma nativa y para escalar fácilmente a
características:
14
otra forma, un sistema es consistente si una modificación se aplica a todos los nodos en el
mismo tiempo lógico y, por tanto, cuando se recupera la información, todos los nodos
Disponibilidad: una garantía de que todos los requerimientos recibirán una respuesta de
Tolerancia a la Partición: una petición debe ser procesada por el sistema incluso si se
pierden de forma arbitraria mensajes entre alguno o todos los nodos del sistema, es decir,
comunicación entre nodos (partición del sistema), pero no se asegura que el sistema
responda (disponibilidad).
AP: el sistema siempre responderá a las peticiones, aunque se pierda la comunicación entre
nodos (partición del sistema). Los datos procesados pueden no ser consistentes. Ejemplo
bases de datos como Cassandra operan bajo esta modalidad, un ejemplo funcional sería
CA: el sistema siempre responderá a las peticiones y los datos procesados serán
(partición del sistema). Todos los gestores relacionales aplican bajo este concepto.
Por naturaleza, Cassandra es una base de datos distribuida. Eso significa que fue diseñada para
ejecutarse en una red de nodos de computadoras, funcionando como un servidor que tiene
diferentes partes que se ejecutan en diferentes máquinas sin ningún hardware o software específico
para gestionar o coordinar. Toda la coordinación de los nodos y la distribución de los datos están
dentro de su propia arquitectura. Esta es una de las razones por las que una red de Cassandra es
más barata y más fácil de escalar de forma horizontal que otros sistemas de bases de datos
relacionales comunes. La topología típica de la red de Cassandra, está compuesta por un clúster de
nodos, también llamado anillo de Cassandra, que se ejecuta en diferentes direcciones de red que
Fuente: datastax.com
Esta función incrementa la disponibilidad de la red en caso de fallo de un nodo. Cada nodo puede
coordinar la solicitud de un cliente sin un nodo maestro, para que no haya un punto único de fallo.
También le permite establecer diferentes estrategias de configuración para que los datos sean
conscientes de las diferentes ubicaciones de los nodos, lo que, por lo tanto, incrementa aún más la
espacio de claves o por la configuración del esquema. Toda la información acerca de los datos del
los nodos a través del gossip protocol (protocolo de chisme), un tipo de protocolo peer-to-peer (de
igual a igual). Esta información es importante para avisar a las condiciones del cliente acerca de
2.2 Arquitectura
eventualmente consistente, tal y como define el teorema CAP. El nivel de consistencia puede ser
Es distribuida, lo que quiere decir que la información está repartida a lo largo de los nodos del
clúster. 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,
Escala de forma horizontal, lo que quiere decir que podemos escalar nuestro sistema añadiendo
Fuente: datastax.com
18
Los nodos se reparten equitativamente el rango de tokens que van de -263 a 2 63, esto define el nodo
primario. Internamente Cassandra replicará los datos entre los nodos con la política que le
definamos.
No hay nodos “principales”. Los clientes pueden conectarse a cualquiera de los nodos para
El nodo al que se conecta el cliente actúa como coordinador entre éste y el resto de nodos
Centro de datos (datacenter): colección de nodos, que puede ser virtual o físico.
datos como ser: Commit log que es el fichero en donde se almacena la información sobre
cambios en los datos. Sirve para recuperar los datos en caso de un fallo en el sistema,
MemTable la estructura de almacenamiento en memoria contiene los datos que aún no han
sido escritos en un SSTable y SSTable el fichero que almacenan los datos escritos en disco
Cassandra.
Particionado: Determina cómo se distribuyen los datos entre los nodos (primera copia,
resto de copias).
Estrategia de réplicas: Define la estrategia a seguir para almacenar copias de los mismos
Se pueden definir diferentes estrategias, no hay copia principal ni copias secundarias de los
Snitch: Define la topología que utilizan las estrategias de replicación para colocar las
temporal en memoria. Por ello, en Cassandra, las escrituras son “baratas”. Si existe un dato
Escritura en Commit log: en cada nodo, el Commit log almacena toda la actividad de
recuperar las escrituras desde el Commit log. Por lo que habrá tantos logs como escrituras
los datos.
Los ficheros SSTable son inmutables, no se vuelve a escribir en ellos después de volcar los
datos de la MemTable. Por ello, los datos de una misma partición pueden estar repartidos
en varias SSTable.
Este es el motivo por el que las lecturas son más “caras” que las escrituras en Cassandra,
Cuando una fila es eliminada, no se borra del disco (SSTables inmutables), sino que se marca
como eliminada (tombstone). Durante la compactación, las filas marcadas son eliminadas
definitivamente del disco. También cuenta con un tiempo de gracia si un nodo que contiene la fila
a ser eliminada se encuentra caído en ese momento, aún tiene la posibilidad de recibir la orden de
la fila no será marcada como eliminada, por lo que pueden existir inconsistencias en las réplicas.
Por ello, se recomienda que los administradores realicen cada cierto tiempo tareas de
mantenimiento en Cassandra.
En cada nodo que recibe la lectura, se accede mediante key a la MemTable para recuperar los datos
recientemente es probable que se deba leer en varias SSTables para recuperar todos los datos
solicitados.
Direct read request (Solicitud de lectura directa): el nodo coordinador contacta con un
Digest request (solicitud de resumen): contacta con tantos nodos con réplicas como se
por el nodo contactado en el Direct read request. Se envía la consulta aquellos nodos que
las réplicas con una marca de tiempo más reciente. Estos son los retornados al cliente. Una
23
vez contactados los nodos determinados por el nivel de consistencia, se envía una solicitud
de existir inconsistencias en las réplicas, las réplicas con una marca de tiempo más antiguo
2.6.1 Seguridad
Seguridad a nivel de usuarios: usuario con contraseña y permisos de gestión y administración vía
GRANT/REVOKE.
Ofrece varias opciones de respaldo recomendado hacerlos de forma regular ante errores como los
borrados accidentales.
para su restauración
Como existe el riesgo de encontrar datos inconsistentes en los nodos, a pesar de los mecanismos
Un nodo caído recibe una petición de borrado que no puede ejecutar. El nodo se recupera tiempo
después de que el “tiempo de gracia” de esa orden haya caducado, por lo que tiene datos
inconsistentes (que deberían ser borrados). No se realiza ninguna consulta sobre esos datos, por lo
que no hay posibilidad de recibir un Read Repair Request. Cassandra ofrece una operación,
llamada repair, que puede utilizarse por parte del usuario para asegurar que todos los nodos son
Como ya hemos comentado las bases de datos NoSQL no existe un modelo de datos fijo, sino que
es flexible y dinámico, y cómo no iba a ser de otra forma, ocurre lo mismo con Apache Cassandra.
Conlleva que la estructura creada para una base de datos depende del tipo de consultas que se
Apache Cassandra podemos catalogarla como una base de datos Clave-valor; por ello utiliza los
siguientes conceptos:
Column: Es el nivel más bajo que hay, se trata de una estructura con 3 campos, que son: el
ColumnFamily: se trata de un conjunto de Columns ordenadas, de tal manera que cada fila
contiene una clave. Las ColumnFamily se pueden definir como las tablas de las bases de
datos relacionales.
Keyspace: es el nivel más alto en el modelo de datos. La keyspace contiene todas las
familias de columnas. Para que nos resulte más sencillo de entender, podemos compararlo
Como podemos observar en la figura las keyspace están formadas por ColumnFamily y estas a su
2.8 CQL
CQL (Cassandra Query Language) es el lenguaje de comunicación con la base de datos Apache
Cassandra. Para poder interactuar con él accedemos al terminal (shell) CQL que recibe el nombre
Con este lenguaje podemos realizar diferentes operaciones como insertar datos en una
ColumnFamily, crear una Keyspace o ColumnFamily con sus diferentes Column. También
podemos modificar datos, borrarlos o consultarlos. Aunque es un lenguaje bastante parecido a SQL
se depositan datos de los distintos cambios del clima. En base el grafico muestra puntos donde se
utilizan bases de datos tradicionales y el tiempo que tarda en el depósito de datos. Se realizó una
prueba con bases de datos Cassandra NoSQL que lo llamaron Arbol R, en el cual el depósito de
datos tardo un menor tiempo al realizar la consulta en comparación a las bases de datos
tradicionales.
3. Definición
En el mundo cada año ocurren 330 millones de accidentes laborales, al igual que se diagnostican
160 millones de enfermedades por causa del trabajo, incluso se registran más de dos millones de
muertes por este mismo motivo. Un dato que también preocupa es que el 90% de estos suceden en
el área. En la actualidad cuenta con un aproximado de 150 a 200 trabajadores entre personal
y mano de obra. La empresa cuenta con certificaciones ISO 9001 Gestión de la calidad, ISO 14001
Sistemas de Gestión ambiental, ISO 14006 Gestión ambiental del proceso de diseño y desarrollo,
indemnizaciones y accidentes, así como una relativa baja en la producción, se realizó una auditoría
interna y se descubrió que el personal de la empresa trabaja con condiciones mínimas en cuanto a
trabajo y equipo de protección personal, falta de conocimiento acerca de las reglas, normas y
procedimientos que precautelan un eficiente Programa de Seguridad. Por lo cual, esto causa un
malestar dentro de la empresa, existe el constante riesgo de sufrir algún tipo de accidente,
3.1. Antecedentes
La finalidad del Programa de la Organización Internacional del Trabajo (OIT) intenta mejorar la
calidad de la vida laboral en todos sus aspectos mediante, la prevención de los accidentes del
informó, con datos del INE que de 2010 a 2012 el Ministerio de Trabajo registro 22.847 accidentes
laborales y 967 enfermedades ocupacionales, y considerando que cada uno tuvo al menos un día
de baja, las empresas gastaron más de 430.000 Bs al año por sus accidentados. (Eju, 2012).
El bajo conocimiento y capacitación del personal, falta del manejo adecuado de los riesgos
presentes en los ambientes laborales de sus empresas, sumado a la baja inversión de recursos
financieros, humanos para el control y mitigación de dichos riesgos. Un correcto manejo de estos
factores de riesgos dentro de la empresa permitirá tener un mejor ambiente de trabajo lo que se
traducirá en mayor eficiencia en los procesos y una reducción significativa de los costos.
La existencia de normas internacionales como las OHSAS va dirigida a la seguridad y salud de los
en seguridad y salud ocupacional basada en procesos y políticas que ayuden a mejorar la situación
de los trabajadores.
condiciones de trabajo justas, donde los trabajadores y trabajadoras puedan desarrollar una
29
actividad con seguridad y donde sea posible su participación para la mejora de las condiciones de
salud y seguridad.
de información y del poco seguimiento de estos, conlleva una gran cantidad de accidentes desde
El estudio de los accidentes en este sector de la construcción indica que no tienen origen en una
sola causa, por regla general cada accidente es el resultado de la concurrencia de varias causas
primarias. Entre ellas, podemos mencionar la permanencia del trabajador dentro de una zona
procedimientos e instrucciones de trabajo, además de la falta de control del cumplimiento del plan
de seguridad, falta de señalización en las diferentes áreas de trabajo, entre otros motivos.
Sin embargo, se ha tenido que pagar un alto precio por este crecimiento y actividades constantes.
Aunque resulta difícil obtener estadísticas exactas en una industria en la que muchos accidentes
pasan desapercibidos y no se denuncian, en nuestro país las fatalidades registradas y los accidentes
que causan pérdidas de tiempo trabajado, con frecuencia superan a los de cualquier otra industria
30
Fuente: Elaboración propia muestra los puntos que se toman en cuenta en un negocio
3.1.4 Arbol de Problema
3.1.5 Modelo ER
4. Objetivo
Este capítulo explica cómo utilizar el modelado de datos basado en consultas en cassandra. El
modelado de datos NoSQL es un proceso que identifica entidades así como las relaciones entre
ellas. Se puede usar para determinar patrones al acceder a los datos, así como a los tipos de
consultas que se realizarán. Al hacerlo, revela cómo se organizan y estructuran los datos junto con
la forma en que se diseñan y crean las tablas de las bases de datos. Es importante tener en cuenta
que la indexación de los datos puede degradar el rendimiento de las consultas. Por lo tanto,
las consultas específicas son la clave para organizar los datos. Permítanme primero explicar
rápidamente estos términos: las consultas recuperan datos de tablas y el esquema define cómo se
organizan los datos en la tabla. Por lo tanto, un diseño de base de datos basado en consultas facilita
una lectura y escritura de datos más rápida, es decir, cuanto mejor sea el diseño del modelo, más
Ahora, primero, debemos crear un modelo conceptual de datos que definirá todas las entidades
conocidas, relaciones, tipos de atributos, claves, cardinalidad y otras restricciones. Este modelo de
datos debe crearse en colaboración con las partes interesadas y los analistas de negocios. Por
El siguiente paso es el modelado de datos lógicos. Aquí, el modelo conceptual de datos se asigna a
aplicación. El modelo de datos lógicos corresponde a un espacio de claves donde los esquemas de
tablas definen las columnas, así como las claves primarias, de partición y de agrupamiento. Por lo
33
tanto, el enfoque basado en consultas proporciona un modelo de datos lógicos utilizando principios
Aquí hay algunas reglas para los predicados de consulta que aseguran estabilidad y eficiencia:
Todas las columnas de clave de partición en el predicado de consulta deben tener valores
distintos
adicionales para mapear a modelos de datos lógicos. Es importante tener en cuenta que la violación
de estos principios y reglas afectará la capacidad de admitir los requisitos de consulta y puede
Conozca sus datos, en particular las claves del tipo entidad y relación que se deben
Conozca sus consultas de modo que todas las columnas se conserven en el nivel lógico.
Habilite la anidación de datos para fusionar varias entidades juntas según un criterio
conocido.
Utilice atributos de búsqueda de igualdad para correlacionar con las columnas de prefijo
de la clave principal
clústeres de tabla.
34
Utilice atributos de ordenación para correlacionar columnas de clave de clúster con orden
Utilice los tipos de atributos clave para correlacionar con columnas de clave principal e
Finalmente, debemos analizar y optimizar este modelo de datos lógico para crear el modelo de
datos físicos. Los principios de modelado, las reglas de mapeo y los patrones de mapeo
eficiencia aún se puede ver afectada por las limitaciones del motor de base de datos o los recursos
de clúster finitos, como los tamaños de partición de tabla típicos y los factores de duplicación de
datos. Hay algunas técnicas de optimización estándar que se pueden usar, incluida la división de
simultáneos. Estos métodos se pueden utilizar para optimizar el modelo de datos físicos, aunque
Este es el camino a seguir para habilitar el modelado de datos basados en consultas en Apache
Cassandra.
En este punto se toman 5 principales procedimientos a tomar en cuenta para crear el depósito o
4.2 Ejemplos
4.2.1 Personal
Encuéntrame el personal por su id, de la empresa S&D, para lo cual primero se tiene la tabla
Una vez se tiene la tabla se procede a identificar la llave primaria el cual no solo nos sirve para
identificar al usuario si no también nos servirá como identificador de partición. Es decir que el
dato personal_id representa la llave primaria y clave de partición, los demás datos son
Luego se pasa a la implementación física del modelo donde se muestra la creación de la tabla la
4.2.2 Usuario
En este ejemplo se toma que los usuarios se identifican en el sistema de forma única con su usuario
Una vez que se tiene la tabla se procede a identificar la llave primaria la cual no solo nos sirve para
identificar al usuario si no también nos servirá como identificador de partición. Es decir que el
dato user_name y user_password representa la llave primaria y clave de partición, los demás
Para el caso de Q1 ya se lo analizo en el anterior ejemplo es por ello que solo se realiza la validación
del Q2.
Luego se pasa a la implementación física del modelo donde se muestra la creación de la tabla la
Adicionalmente se debe crear el batch ya que cada que se realice esta solicitud se debe escribir en
BEGIN BATCH
APPLY BATCH
Solo se ejecutara todo solo si no existe el usuario o personal identificado por el personal_id, con
De esa forma se realizan la creación de tablas con Cassandra para el caso del sistema de seguridad
industrial.
41
CONCLUSIONES
El estudio realizado con la bases de datos NoSQL, en concreto con Cassandra, aplicando
respuesta, ya que al sistema siempre se ingresan una cantidad de datos considerable y los
tiempos de escritura con cassandra optimizan los recursos, aún cuando la forma de modelar
Las herramientas para administrar nuestros Keyspaces, clúster y nodos nos ayudan a
El lenguaje CQL nos provee funciones bastante parecidas a lo que estamos acostumbrados
con el SQL, haciendo más fácil el acostumbrarse a utilizar las diversas funcionalidades de
esta tecnología.
Cassandra, debido a sus cualidades se puede usar en muchos aspectos fuera del Big Data.
Lo ideal es tener claro su uso para saber sacarle el máximo partido, contemplando así las
diseño podrá aprovechar mejor las ventajas de esta potente base de datos distribuida.
42
RECOMENDACIONES
Si la intención es realizar muchos joins (uniones) entre diferentes entidades quizás Cassandra no
es la tecnología NoSQL que se recomienda. Ya que entre sus principales desventajas que se puede
tiempos cortos (minutos, segundos). Esto se debe a la replicación y sobre escritura de datos en los
BIBLIOGRAFÍA
R. Cattell, (2010) "Scalable SQL and NoSQL Data Stores," ACM SIGMODRecord, vol. 39.
Ros, A. (2017). Primeros pasos con Cassandra. Fecha de consulta: 10 de Agosto 2018. Recuperado
de: https://geekytheory.com/primeros-pasos-con-apache-cassandra/
Ramírez, F. (2017). Que es base de datos Cassandra Big Data. Fecha de consulta: 11 de Agosto
Gracia, L. (2012). Un poco de Cassandra. Fecha de consulta: 11 de Agosto 2018. Recuperado de:
https://unpocodejava.com/2012/07/12/un-poco-de-cassandra/
modelo-de-datos/
Zaforas, M. (2016). Cassandra la dama de las bases de datos NoSQL. Fecha de consulta: 18 de
bases-de-datos-nosql/
Gilmore, E. (2011). Clúster de dos Data Center. Fecha de consulta: 18 de Agosto 2018. Recuperado
de: https://www.datastax.com/dev/blog/deploying-cassandra-across-multiple-data-centers
Pablo, J. (2018). Definición claves clúster y partición Cassandra. Fecha de consulta: 18 de Agosto
particion-apache-cassandra-parte-1
44