El uso de las tic en la vida ,lo importante que son
Apache Cassandra
1. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Empecemos
a aprender
un
poco mas sobre la actualidad
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
1
2. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
2
3. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
¿
Que es
Apache
?
Cassandra
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
3
4. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
Antes de Responder a esta pregunta, debemos
responder a …
¿
Que es
NoSQL
?
… es necesario responder a esto
primero, ustedes se darán cuenta del por
qué, mas adelante.
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
4
5. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
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
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
5
6. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
¿
06/11/2013
Sabias que?
Universidad Peruana de Ciencias e
Informatica - FISEI
6
7. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
¿ 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.
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
7
8. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
¿Contrastando
NoSQL y SQL?
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
8
9. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
NoSQL y SQL (contraste)
principal diferencia
La
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
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
9
10. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
Ahora que ya tenemos una base, a la respuesta
a la pregunta de …
¿
Que es
NoSQL
?
… nos toca contarte ¿Que es Cassandra?.
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
10
11. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
¿Qué es Apache Cassandra?
un motor de bases de datos
NoSQL, Open Source e implementado en
•
Es
•
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, O
oyala, …
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
11
12. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
¿Qué es Apache Cassandra?
• Cassandra puede manejar varios terabytes de datos si lo necesita y
clúster
•
puede, fácilmente, manejar millones de ficheros, incluso en un
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.
06/11/2013
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
Universidad Peruana de Ciencias e
comportan como si fuesen una única computadora
Informatica - FISEI
12
13. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
Bien!, ya tenemos un concepto de Apache
Cassandra pero…
¿
Cuáles son
sus
?
Características
… a continuación.
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
13
14. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
Cassandra (características)
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.
Alta disponibilidad. Los
datos estás disponibles
la mayor parte del
tiempo gracias a la
redundancia que
introduce la replicación
de datos.
Esquema dinámico. El
esquema que define la
estructura de los datos
puede cambiar en
tiempo de ejecución.
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
14
15. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
Cassandra (características)
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.
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
15
16. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
Uno de las preguntas mas importantes es…
¿
Cuál es
Terminologia
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
su
?
16
17. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
¿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:
–
–
–
–
–
06/11/2013
AsciiType
BytesType
LongType
TimeUUIDType
UTF8Type
Universidad Peruana de Ciencias e
Informatica - FISEI
17
18. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
¿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.
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
18
19. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
Ahora veremos …
Cómo es la
estructura
¿
de su
?
modelo de Datos
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
19
20. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
¿Cómo es la estructura de su modelo de datos?
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
20
21. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
¿Cómo es la estructura de su modelo de datos?
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
21
22. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Apache Cassandra
Espero haberles servido de ayuda en algunas de
sus dudas…
Gracias por
su Tiempo
Hasta la proxima…
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
22
23. Jonathan Ricardo, Ortiz Vilca – 6to Ciclo
Fuentes
NoSQL
• http://es.wikipedia.org/wiki/NoSQL
• http://www.slideshare.net/dipina/nosqlintroduccin-a-las-bases-de-datos-noestructuradas (recomendada).
Palabras informáticas
• http://es.wikipedia.org/wiki/Cl%C3%BAster_(info
rm%C3%A1tica) (clúster).
• http://en.wikipedia.org/wiki/Attribute%E2%80%9
3value_pair (key - value)
06/11/2013
Universidad Peruana de Ciencias e
Informatica - FISEI
23