Post on 24-Jun-2015
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
1
Empecemos a aprender un poco mas
sobre la actualidad
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
2
Apache Cassandra
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
3
¿Que es Apache Cassandra?
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
4
Antes de Responder a esta pregunta, debemos responder a …
Apache Cassandra
¿Que es NoSQL ?
… es necesario responder a esto primero, ustedes se darán cuenta del por qué, mas adelante.
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
5
NoSQL
Llamado en algunos casos “no solo SQL”, proviene de una amplia clase de gestión de base de datos que difieren del modelo clásico del Relation DataBase
Management System (RDBMS), no estructuradas, siendo el mas destacado de los que no usan SQL como su principal lenguaje de consultas.1
Apache Cassandra
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
6
¿Sabias que?
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
7
¿ Sabias que ?
El 95% de la información que se está generando actualmente en la red se corresponde con
información no estructurada y las bases de datos relacionales tradicionales no son adecuadas para el manejo de esta información. Los nuevos sistemas de gestión de datos desarrollados para su manejo, que utilizan infraestructuras de supercomputación altamente distribuidas, reciben
habitualmente el nombre de NoSQL.
Apache Cassandra
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 8
¿Contrastando NoSQL y SQL?
Universidad Peruana de Ciencias e Informatica - FISEI
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 9
NoSQL y SQL (contraste)
Apache Cassandra
La principal diferencia radica en cómo guardan los datos (por ejemplo, almacenamiento de un recibo):En una RDBMS tendríamos que partir la información en diferentes tablas y luego usar un lenguaje de programación en la parte servidora para transformar estos datos en objetos de la vida real.En NoSQL, simplemente guardas el recibo:NoSQL es libre de schemas, tú no diseñas tus tablas y su estructura por adelantado
Universidad Peruana de Ciencias e Informatica - FISEI
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 10
Ahora que ya tenemos una base, a la respuesta a la pregunta de …
Apache Cassandra
¿Que es NoSQL?
… nos toca contarte ¿Que es Cassandra?.
Universidad Peruana de Ciencias e Informatica - FISEI
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
11
¿Qué es Apache Cassandra?
• Es un motor de bases de datos NoSQL, Open Source e implementado en Java.
• Fue originalmente creada por Facebook y donada a Apache como software libre en 2009.
• Es una de las base de datos NoSQL más relevantes a nivel mundial: Netflix, eBay, Twitter, Urban Airship, Constant Contact, Reddit, Cisco, OpenX, Digg, CloudKick, Ooyala, …
Apache Cassandra
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
12
¿Qué es Apache Cassandra?
• Cassandra puede manejar varios terabytes de datos si lo necesita y puede, fácilmente,
manejar millones de ficheros, incluso en un clúster pequeño (Big Data).• La información en las bases de datos relacionales, se almacenan en forma de filas, pero en
Cassandra la información se almacena en columnas con pares key-value.
Apache Cassandra
El término clúster (del inglés cluster, "grupo" o "racimo") se aplica a los conjuntos o
conglomerados de computadoras construidos mediante la utilización de hardware comunes y que
se comportan como si fuesen una única computadora
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
13
Bien!, ya tenemos un concepto de Apache Cassandra pero…
Apache Cassandra
¿Cuáles son sus Características?
… a continuación.
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
14
Cassandra (características)
Apache Cassandra
Esquema dinámico. El esquema que define la estructura de los datos
puede cambiar en tiempo de ejecución.
Alta disponibilidad. Los datos estás disponibles
la mayor parte del tiempo gracias a la redundancia que
introduce la replicación de datos.
No hay un único punto de fallo. Los datos se
replican automáticamente a
varios nodos. Perder un nodo no causa la baja
del clúster.
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
15
Cassandra (características)
Apache Cassandra
Fragmentacióno de los datos. La topología de Cassandra es la de un anillo a través del cual se distribuyen los datos para minimizar cuellos de botella en el acceso a los mismos.
Escalabilidad horizontal. Hasta un alto número de máquinas la capacidad de cómputo aumenta linealmente con el número de máquinas.
Capacidad para manejar cientos de gigabytes de datos.
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
16
Uno de las preguntas mas importantes es…
Apache Cassandra
¿Cuál es su Terminologia?
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
17
¿Cuál es su terminología?
Column. Es la unidad mas básica en el modelo de datos de Cassandra. Una column es un triplete de un key (un nombre) un value (un valor) y un timestamp. Los valores son todos suministrados por el cliente. El tipo de dato del key y el value son matrices de bytes de Java, el tipo de dato del timestamp es un long primitive.
• Las column son inmutables para evitar problemas de multithreading.
• Las column se organizan dentro de las columns families.• Las column se ordenan por un tipo, que pueden ser uno de los
siguientes:– AsciiType– BytesType– LongType– TimeUUIDType– UTF8Type
Apache Cassandra
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
18
¿Cuál es su terminología?
• SuperColumn. Es una column cuyos values son una o más columns, que en este contexto se llamaran subcolumns. Las subcolumns están ordenadas, y el numero de columnas que se puede definir es ilimitada. Las Super columns, a diferencias de las columns, no tienen un timestamp definido.
• Column Family. Es mas o menos análogo a una tabla en un modelo relacional. Se trata de un contenedor para una colección ordenada de columns. Cada column family se almacena en un archivo separado
• Keyspace. Es el contenedor para las column family. Es mas o menos análogo a una base de datos en un modelo relacional, usado en Cassandra para separar aplicaciones. Un keyspace es una colección ordenada de columns family.
• Clúster. Conjunto de máquinas que dan soporte a Cassandra y son vistas por los clientes como una única máquina.
Apache Cassandra
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
19
Ahora veremos …
Apache Cassandra
¿Cómo es la estructura de su modelo de Datos?
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
20
¿Cómo es la estructura de su modelo de datos?
Apache Cassandra
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
21
¿Cómo es la estructura de su modelo de datos?
Apache Cassandra
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
22
Espero haberles servido de ayuda en algunas de sus dudas…
Apache Cassandra
Gracias por su Tiempo
Hasta la proxima…
Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
13/04/2023 Universidad Peruana de Ciencias e Informatica - FISEI
23
Fuentes
NoSQL• http://es.wikipedia.org/wiki/NoSQL• http://www.slideshare.net/dipina/nosql-introdu
ccin-a-las-bases-de-datos-no-estructuradas (recomendada).
Palabras informáticas• http://es.wikipedia.org/wiki/Cl%C3%BAster_(inf
orm%C3%A1tica) (clúster).
• http://en.wikipedia.org/wiki/Attribute%E2%80%93value_pair (key - value)