Introducción a    Ingenieria de Sotware I – Cohorte 2010                       Ing. Liliana Paradas                       ...
Introducción●   Es un sistema de administración de base de datos    distribuida, open source, diseñado para manejar grande...
Características●   Probado    ●   Digg, Facebook, Twitter, entre otros●   Descentralizada    ●   Todos los nodos de unclus...
Modelo de Datos●   Columnas:        ●       Es una tripleta que contiene un nombre, un valor y un                timestamp...
Modelo de Datos●   Familias de Columnas:    ●   Contiene múltiples Columnas, cada familia de columnas es        almacenada...
Comparación con RDBMS●   Con 50 Gb    ●   MySQL lee en +o- 350 ms    ●   MySQL escribe en +o- 300 ms    ●   Cassandra escr...
Instalación y Puesta en Marcha1) Descargar la ultima versión (0.5.1 actual)●   Web oficial: http://cassandra.apache.org/2)...
Instalación y Puesta en Marcha1) Descargar la ultima versión (0.5.1 actual)●   Web oficial: http://cassandra.apache.org/2)...
Conectandonos a CassandraUsamos la herramienta cassandra-cli:Para correrla escribimos en la consola:$ bin/cassandra-cli --...
Conectandonos a Cassandracassandra> set Keyspace1.Standard1[wyanez][nombre]=WilliamValue inserted.cassandra> set Keyspace1...
Y los Lenguajes de Programación ?●   Ruby (http://github.com/fauna/cassandra/tree/master)●   Perl●   Python●   Java●   Php...
Ruby & Cassandra●   http://github.com/fauna/cassandra/tree/master●   gem install cassandra●   Y listo... veamos ahora el q...
Ruby & Cassandrarequire rubygemsrequire cassandrainclude Cassandra::Constantsclient = Cassandra.new(Keyspace1)res= client....
Upcoming SlideShare
Loading in...5
×

Intro cassandra

1,506

Published on

Introducción a Apache Cassandra co

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,506
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
51
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Intro cassandra

  1. 1. Introducción a Ingenieria de Sotware I – Cohorte 2010 Ing. Liliana Paradas Ing. William Yánez
  2. 2. Introducción● Es un sistema de administración de base de datos distribuida, open source, diseñado para manejar grandes cantidades de datos.● Se autodefine como “Altamente escalable, eventualmente consistente, distribuida y basada en datos clave-valor”.● Es una solución NoSQL, inicialmente desarrollada por Facebook (liberado en julio 2008) y desde Marzo 2009 es un proyecto de la fundación Apache (Feb 17 2010 top- level).● Esta basada en BigTable (Módelo de Datos) y Amazon Dynamo (infraestructura).● Desarrollado en Java.
  3. 3. Características● Probado ● Digg, Facebook, Twitter, entre otros● Descentralizada ● Todos los nodos de uncluster son identicos. No hay “Single Point of Failure” (SPOF)● Tolerante a fallas ● La data es automáticamente replicada a todos los nodos.● Elasticidad ● El incremento del rendimiento es lineal a la cantidad de nodos agregados al cluster (sin downtime).● Modelo de Datos Eficiente y Simple => clave/valor
  4. 4. Modelo de Datos● Columnas: ● Es una tripleta que contiene un nombre, un valor y un timestamp. { "name": "emailAddress", "value": "foo@bar.com", "timestamp": 123456789 } ● Son referenciadas por un row-key. ● Es el tipo de datos básico de Cassandra.
  5. 5. Modelo de Datos● Familias de Columnas: ● Contiene múltiples Columnas, cada familia de columnas es almacenada en un archivo separado● SuperColumnas: ● Columnas que contienen otras columnas.● Keyspace: ● Agrupa las Familias de Columnas, tipicamente uno por aplicación● Cluster
  6. 6. Comparación con RDBMS● Con 50 Gb ● MySQL lee en +o- 350 ms ● MySQL escribe en +o- 300 ms ● Cassandra escribe en 0.12 ms ● Cassandra lee en 15 ms
  7. 7. Instalación y Puesta en Marcha1) Descargar la ultima versión (0.5.1 actual)● Web oficial: http://cassandra.apache.org/2) Descomprimimos en cualquier carpeta.3) Creamos el directorio de datos y de log por defecto:● sudo mkdir -p /var/log/cassandra● sudo mkdir -p /var/lib/cassandra● sudo chown -R usuario /var/lib/cassandra● sudo chown -R usuario /var/log/cassandra4) Ejecutamos con: bin/cassandra -f
  8. 8. Instalación y Puesta en Marcha1) Descargar la ultima versión (0.5.1 actual)● Web oficial: http://cassandra.apache.org/2) Descomprimimos en cualquier carpeta.3) Creamos el directorio de datos y de log por defecto:● sudo mkdir -p /var/log/cassandra● sudo mkdir -p /var/lib/cassandra● sudo chown -R usuario /var/lib/cassandra● sudo chown -R usuario /var/log/cassandra4) Ejecutamos con: bin/cassandra -f● Ver conf/storage-conf.xml
  9. 9. Conectandonos a CassandraUsamos la herramienta cassandra-cli:Para correrla escribimos en la consola:$ bin/cassandra-cli --host localhost --port 9160Connected to localhost/9160Welcome to cassandra CLI.Type help or ? for help. Type quit or exit to quit.
  10. 10. Conectandonos a Cassandracassandra> set Keyspace1.Standard1[wyanez][nombre]=WilliamValue inserted.cassandra> set Keyspace1.Standard1[wyanez][apellido]=YanezValue inserted.cassandra> set Keyspace1.Standard1[wyanez][edad]=39Value inserted.cassandra> set Keyspace1.Standard1[wyanez][tlf1]=0426-5529140Value inserted.cassandra> get Keyspace1.Standard1[wyanez]=> (column=tlf1, value=0426-5529140, timestamp=1269577777158)=> (column=nombre, value=William, timestamp=1269577730679)=> (column=edad, value=39, timestamp=1269577764734)=> (column=apellido, value=Yanez, timestamp=1269577754462)Returned 4 results.
  11. 11. Y los Lenguajes de Programación ?● Ruby (http://github.com/fauna/cassandra/tree/master)● Perl● Python● Java● Php● C++● C# /. Net● Otros: Scala, Clojure, Grails.● Todos usan la API Thrift (bajo nivel)
  12. 12. Ruby & Cassandra● http://github.com/fauna/cassandra/tree/master● gem install cassandra● Y listo... veamos ahora el queso a la tostada
  13. 13. Ruby & Cassandrarequire rubygemsrequire cassandrainclude Cassandra::Constantsclient = Cassandra.new(Keyspace1)res= client.get(:Standard1 ,wyanez)puts res.inspect
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×