SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
NoSQL Databases – MongoDB
Y CASSANDRA
1 Introducción No-SQL
2 Tipos de bases de datos No-SQL
3 MongoDB - Document Oriented
DataBase
4 Cassandra – Columnar Database
1 - Not Only SQL
2 – Sistemas de almacenaje masivo
3 – Fácilmente escalables (sharding , nodes)
4 – Altamente distribuibles
“
1 Introducción No-SQL
Almacenamiento de un recibo
1 Introducción No-SQL - Ejemplo
RDBMS:
Generación de Tablas
Cliente, Factura, Albaran
Junto con las joins
adecuadas
No-SQL:
Guardado directo del
recibo, formato
documento, columnal,
grafo, clave-valor …
{
"clientId": "39323657F",
"totalamount": "100€",
"description": {
"ligth": "75€",
"IVA": "25€"
}
}
MongoDB Insert :
Db.recibos.insert(JSON)
MongoDB Find:
Db.recibos.findOne({“clientId” : “39323657F”})
Simple, rápido, eficaz
“
1 Introducción No-SQL - Ejemplo
•Key – Value
•Column Family
•Document Oriented
•Graph
•Others
“
2 Tipos de bases de datos
2 Key – Value DataBases
Store en formato clave – valor
{ clave1 : valor1, clave2 : valor2 …}
Algunas permiten guardar
Listas como Redis y otras
no son consistentes como
Memcached
2 Column Family DataBases
Store en formato columnar
ColumnFamily Recibo
Key : 39354999F
Store : { version_1 : { key : value, key2:
value2 } }
Se basan en tener
columnas de datos, Limite
en las Column Families de
3 a 100, más de 1B de
columnas internas.
2 Document Oriented Databases
Store en Documento : Colection User
{
FirstName: "Jonathan",
Address: "15 Wanamassa Point Road",
Children: [
{Name: "Michael", Age: 10},
{Name: "Jennifer", Age: 8},
{Name: "Samantha", Age: 5},
{Name: "Elena", Age: 2}
]
}
Capacidad de insertar
directamente desde REST
API’s, JSON > DB.
Lecturas muy rápidas, no
schemas.
2 Graph Databases
Inserción basada en
nodos, que mantienen
relación con los arcos con
otros nodos
2 Other No-SQL Databases
Bases de datos MultiModel – Storage K/V , Columnar, Document
Oriented…
3 - MongoDB
1 Instalación
2 Starting Query
3 Complex Operations
4 Is your TURN!
3.1 Instalación
http://www.mongodb.org/downloads
Ubuntu Instalation:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' |
sudo tee /etc/apt/sources.list.d/mongodb.list
Sudo apt-get update
sudo apt-get install mongodb-org
sudo /etc/init.d/mongod start
3.2 Starting Query
1 – Connect to DataBase
 Mongo
2 – Show current databases
 Dbs
3 - Show Current DB
 Db
4 – Select DB
 Use DB_NAME
Creating Documents:
 doc1 = { name : “Cristian” , age :
“25” }
 doc2 = { x : 3 }
 db.people.insert(doc1)
 db.numbers.insert(doc2)
1 – Mostrar las colecciones de la DB
 show collections
2 – Look for register in DB
 db.people.find().pretty()
 db.numbers.find()
Insertando varios documentos con un for
i = 0
 for (i ; i < 10 ; i++) { db.numbers.insert({ x : i }) }
 db.numbers.findOne( { x : 1 } )
Recorriendo con un cursor
var cursor = db.numbers.find()
while( cursor.hasNext() ) printjson ( cursor.next() )
Acceso como un array : > printjson ( cursor [ 4 ] )
3.3 Complex Operations
1 – Query with Limit
 db.numbers.find().limit(4)
2 – Query by criteria
 db.people.find( { age : { $gt : 25 } } )
3 – Sorting Results
 db.people.find( { age : { $gt : 25 } } ).
sort( { age : 1 } )
Creating more Documents:
 doc2 = { name : “Juan” , age : 19 }
 doc3 = { name : “Sonia” , age : 24}
 doc4 = { name : “Carla” , age : 30 }
 db.people.remove( { name :
“Cristian” })
 db.people.insert({“name” :
“Cristian” , age : 25})
 db.people.insert(doc1 to doc5)
Updating Operation
db.people.update( { name : “Cristian” } , { $set : { age
: 30 } } )
db.people.findOne( { name : “Cristian” } )
Remove Operations
db.people.remove( { name : “Carla” } )
db.people.remove( { age : { $gt : 25 } } )
db.people.find().pretty()
3.4 Is your TURN!
Creación de una base de datos para un blog
Colecciones:
Users : id_user, name, age, posts => array de posts que tiene el usuario
Posts : id_post , post
Crear 3 usuarios
Crear 6 posts
Asignar 2 posts a cada Usuario
Listar los usuarios
Listar los posts de un usuario
Pistas!
Posts es un array! ( posts : [] )
Para añadir un post al usuario teneis que utilizar o el $set modificando el
array o un $push con un $each
db.collection.update( { QUERY } , { $push : { posts { $each : [ num1 ,
num2..] } } } )
Para listar los posts de un usuario se pueden/deben usar 2 query.
4 - Cassandra
1 Instalación
2 Primeros Conceptos
3 Starting Query – Cassandra-cli
4 Is your TURN!
4.1 Instalación
Requisitos : Java JDK :
1. sudo add-apt-repository ppa:webupd8team/java
2. sudo apt-get update
3. sudo apt-get install oracle-java7-installer
4. java –version
Instalación:
1. wget http://apache.rediris.es/cassandra/1.2.16/apache-cassandra-
1.2.16-bin.tar.gz
2. tar -xvf apache-cassandra-1.2.16-bin.tar.gz
3. mv apache-cassandra-1.2.16 cassandra
4. sudo mkdir /var/lib/cassandra
5. sudo mkdir /var/log/cassandra
6. sudo chown -R $USER:$GROUP /var/lib/cassandra
7. sudo chown -R $USER:$GROUP /var/log/cassandra
8. export CASSANDRA_HOME=~/cassandra
9. export PATH=$PATH:$CASSANDRA_HOME/bin
Ejecución:
1. cd cassandra/bin
2. ./cassandra
1 – Base de datos Columnal
2 – Sistema basado en Nodos
3 – Dos sistemas de Query : CLI / CQL
4 – Diferentes Tipos de Column Family
“
4.2 Primeros Conceptos
1 – Column Family
2- Super Column Family
“
4.2 Primeros Conceptos – CF’s
4.2 Primeros Conceptos – CF Ejemplo
Column Family Recibos:
Row Key Column1 Column2 Column3
Id_recibo1 Version_1 Version_2 Version_3
Id_recibo2 Version_1 Version_2 Version_3
Version_1 Version_2
Key1 : value1 Key1 : value1
Key2 : value2 Key2 : value2
Key3 : value3 Key3 : value3
4.2 Primeros Conceptos – Super CF Ejemplo
Super Column Family Productos:
Row Key Column1 Column2 Column3
Limpieza Producto1 Producto2 Producto3
Abono Producto4 Producto5 Producto6
Version_1 Version_2
Key1 : value1 Key1 : value1
Key2 : value2 Key2 : value2
Key3 : value3 Key3 : value3
Row Key Column1 Column2 Column3
Producto1 Version_1 Version_2 Version_3
Producto4 Version_1 Version_2 Version_3
4.3 Starting Query – Cassandra-cli
1. Starting the cli
 cd cassandra/bin
 ./cassandra-cli
2. Creating a keyspace
 Create keyspace test;
3. Select the keyspace
 Use test;
4. Creating a CF
 Create column family User with comparator = UTF8Type;
5. Updating Column Family Schema
 Update column family User with column_metadata = [
{column_name : first , validation_class : UTF8Type},
{column_name : last , validation_class : UTF8Type},
{column_name : age , validation_class : UTF8Type, index_type : KEYS},
]
6.Vamos a insertar un registro en la Column Family
 assume User keys as utf8;
 set User['cristian']['first'] = ‘Cristian’;
 set User['cristian']['last'] = ‘Vitales’;
 set User['cristian']['age'] = '38';
4.3 Starting Query – Cassandra-cli
1. Update the register
 SET User[‘cristian’][‘first’] = ‘Juan’;
2. Get Data
 GET User[‘cristian’];
 GET User where age = ‘38’;
3.Create SuperColumn Family
 create column family Super with column_type = 'Super' and comparator = ‘UTF8Type’;
 Make assumptions for CF Super in ( KEYS / Comparator / Sub_Comparator / Validator )
 Set Super[‘Limpieza’][‘version_1’][‘nombre’] = ‘KH7’;
 Get Super[‘Limpieza’];
4.3 Starting Query – CQL
1. Mostrar los keyspace -> describe keyspaces;
2. Usar un keyspace -> use [Keyspace] -> use test;
3. Crear una Columna/Table:
 Create Table usuarios ( user_id int primary key , fname text , lname text);
 Describe tables;
 INSERT INTO usuarios (user_id, fname, lname) VALUES (1745, 'john', 'smith');
 INSERT INTO usuarios (user_id, fname, lname) VALUES (1744, 'john', 'doe');
 INSERT INTO usuarios (user_id, fname, lname) VALUES (1746, 'john', 'smith');
 Select * from usuarios
 Create index on usuarios (lname);
 Select * from usuarios where lname = ‘doe’;
 DROP table usuarios;
4.3 Is your Turn!
1. Crear un Keyspace llamado “Twitter”
2. Crear una Column Family llamada Tweets (id, tweet, fecha)
3. Crear una Column Family llamada Usuarios(id, nombre,apellido, edad)
4. Insertar Varios Tweets y Varios Usuarios
5. Listar los Usuarios cuya edad sea > 30
6. Listar los tweets cuya fecha sea igual a la de hoy en formato (Y/M/d)
7. Crear un indice sobre el nombre del usuario
8. Crear un indice sobre el tweet
9. Borrar la tabla usuarios.
Cristian.vitales@incubio.com
@gotha229
C/ Jordi Girona 1-3 , Edificio C6 Planta -1
,Campus Nord UPC
http://research.incubio.com/
Cristian Vitales
Research Engineer
Gracias
por asistir
Preguntas?

Más contenido relacionado

La actualidad más candente

La actualidad más candente (10)

89 Php. Tablas Inno Db
89 Php. Tablas Inno Db89 Php. Tablas Inno Db
89 Php. Tablas Inno Db
 
LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.
 
S5-Arreglos
S5-ArreglosS5-Arreglos
S5-Arreglos
 
Unidad vgestion de base de datos
Unidad vgestion de base de datosUnidad vgestion de base de datos
Unidad vgestion de base de datos
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Sentencias create
Sentencias createSentencias create
Sentencias create
 
super java
super javasuper java
super java
 
Connection en Java
Connection en JavaConnection en Java
Connection en Java
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScript
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje
 

Similar a No-SQL Databases

Presentacion sobre cassandra
Presentacion sobre cassandraPresentacion sobre cassandra
Presentacion sobre cassandrajesusnoseq
 
58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasico58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasicoLucia Zambrano Franco
 
Gustavo php
Gustavo phpGustavo php
Gustavo phpGustavo
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Julián Castiblanco
 
Taller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaTaller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaLuis Beltran
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005oswchavez
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicasel_rosales
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4cognos_uie
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)José Toro
 
Material Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de DatosMaterial Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de Datosliras loca
 

Similar a No-SQL Databases (20)

Presentacion sobre cassandra
Presentacion sobre cassandraPresentacion sobre cassandra
Presentacion sobre cassandra
 
58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasico58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasico
 
Mysql
MysqlMysql
Mysql
 
MANUAL
MANUALMANUAL
MANUAL
 
Gustavo php
Gustavo phpGustavo php
Gustavo php
 
PHP_Mysql.pptx
PHP_Mysql.pptxPHP_Mysql.pptx
PHP_Mysql.pptx
 
Tema4[php]
Tema4[php]Tema4[php]
Tema4[php]
 
Mysql
MysqlMysql
Mysql
 
Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
Base de datos
Base de datosBase de datos
Base de datos
 
Taller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaTaller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataforma
 
DBIx::Class
DBIx::ClassDBIx::Class
DBIx::Class
 
Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicas
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4
 
Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)
 
Material Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de DatosMaterial Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de Datos
 
Tuning fondo-negro-2
Tuning fondo-negro-2Tuning fondo-negro-2
Tuning fondo-negro-2
 
Pgpymongo y pgpycouch
Pgpymongo y pgpycouchPgpymongo y pgpycouch
Pgpymongo y pgpycouch
 

No-SQL Databases

  • 1. NoSQL Databases – MongoDB Y CASSANDRA
  • 2. 1 Introducción No-SQL 2 Tipos de bases de datos No-SQL 3 MongoDB - Document Oriented DataBase 4 Cassandra – Columnar Database
  • 3. 1 - Not Only SQL 2 – Sistemas de almacenaje masivo 3 – Fácilmente escalables (sharding , nodes) 4 – Altamente distribuibles “ 1 Introducción No-SQL
  • 4. Almacenamiento de un recibo 1 Introducción No-SQL - Ejemplo RDBMS: Generación de Tablas Cliente, Factura, Albaran Junto con las joins adecuadas No-SQL: Guardado directo del recibo, formato documento, columnal, grafo, clave-valor … { "clientId": "39323657F", "totalamount": "100€", "description": { "ligth": "75€", "IVA": "25€" } } MongoDB Insert : Db.recibos.insert(JSON) MongoDB Find: Db.recibos.findOne({“clientId” : “39323657F”})
  • 5. Simple, rápido, eficaz “ 1 Introducción No-SQL - Ejemplo
  • 6. •Key – Value •Column Family •Document Oriented •Graph •Others “ 2 Tipos de bases de datos
  • 7. 2 Key – Value DataBases Store en formato clave – valor { clave1 : valor1, clave2 : valor2 …} Algunas permiten guardar Listas como Redis y otras no son consistentes como Memcached
  • 8. 2 Column Family DataBases Store en formato columnar ColumnFamily Recibo Key : 39354999F Store : { version_1 : { key : value, key2: value2 } } Se basan en tener columnas de datos, Limite en las Column Families de 3 a 100, más de 1B de columnas internas.
  • 9. 2 Document Oriented Databases Store en Documento : Colection User { FirstName: "Jonathan", Address: "15 Wanamassa Point Road", Children: [ {Name: "Michael", Age: 10}, {Name: "Jennifer", Age: 8}, {Name: "Samantha", Age: 5}, {Name: "Elena", Age: 2} ] } Capacidad de insertar directamente desde REST API’s, JSON > DB. Lecturas muy rápidas, no schemas.
  • 10. 2 Graph Databases Inserción basada en nodos, que mantienen relación con los arcos con otros nodos
  • 11. 2 Other No-SQL Databases Bases de datos MultiModel – Storage K/V , Columnar, Document Oriented…
  • 13. 1 Instalación 2 Starting Query 3 Complex Operations 4 Is your TURN!
  • 14. 3.1 Instalación http://www.mongodb.org/downloads Ubuntu Instalation: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list Sudo apt-get update sudo apt-get install mongodb-org sudo /etc/init.d/mongod start
  • 15. 3.2 Starting Query 1 – Connect to DataBase  Mongo 2 – Show current databases  Dbs 3 - Show Current DB  Db 4 – Select DB  Use DB_NAME Creating Documents:  doc1 = { name : “Cristian” , age : “25” }  doc2 = { x : 3 }  db.people.insert(doc1)  db.numbers.insert(doc2) 1 – Mostrar las colecciones de la DB  show collections 2 – Look for register in DB  db.people.find().pretty()  db.numbers.find() Insertando varios documentos con un for i = 0  for (i ; i < 10 ; i++) { db.numbers.insert({ x : i }) }  db.numbers.findOne( { x : 1 } ) Recorriendo con un cursor var cursor = db.numbers.find() while( cursor.hasNext() ) printjson ( cursor.next() ) Acceso como un array : > printjson ( cursor [ 4 ] )
  • 16. 3.3 Complex Operations 1 – Query with Limit  db.numbers.find().limit(4) 2 – Query by criteria  db.people.find( { age : { $gt : 25 } } ) 3 – Sorting Results  db.people.find( { age : { $gt : 25 } } ). sort( { age : 1 } ) Creating more Documents:  doc2 = { name : “Juan” , age : 19 }  doc3 = { name : “Sonia” , age : 24}  doc4 = { name : “Carla” , age : 30 }  db.people.remove( { name : “Cristian” })  db.people.insert({“name” : “Cristian” , age : 25})  db.people.insert(doc1 to doc5) Updating Operation db.people.update( { name : “Cristian” } , { $set : { age : 30 } } ) db.people.findOne( { name : “Cristian” } ) Remove Operations db.people.remove( { name : “Carla” } ) db.people.remove( { age : { $gt : 25 } } ) db.people.find().pretty()
  • 17. 3.4 Is your TURN! Creación de una base de datos para un blog Colecciones: Users : id_user, name, age, posts => array de posts que tiene el usuario Posts : id_post , post Crear 3 usuarios Crear 6 posts Asignar 2 posts a cada Usuario Listar los usuarios Listar los posts de un usuario Pistas! Posts es un array! ( posts : [] ) Para añadir un post al usuario teneis que utilizar o el $set modificando el array o un $push con un $each db.collection.update( { QUERY } , { $push : { posts { $each : [ num1 , num2..] } } } ) Para listar los posts de un usuario se pueden/deben usar 2 query.
  • 19. 1 Instalación 2 Primeros Conceptos 3 Starting Query – Cassandra-cli 4 Is your TURN!
  • 20. 4.1 Instalación Requisitos : Java JDK : 1. sudo add-apt-repository ppa:webupd8team/java 2. sudo apt-get update 3. sudo apt-get install oracle-java7-installer 4. java –version Instalación: 1. wget http://apache.rediris.es/cassandra/1.2.16/apache-cassandra- 1.2.16-bin.tar.gz 2. tar -xvf apache-cassandra-1.2.16-bin.tar.gz 3. mv apache-cassandra-1.2.16 cassandra 4. sudo mkdir /var/lib/cassandra 5. sudo mkdir /var/log/cassandra 6. sudo chown -R $USER:$GROUP /var/lib/cassandra 7. sudo chown -R $USER:$GROUP /var/log/cassandra 8. export CASSANDRA_HOME=~/cassandra 9. export PATH=$PATH:$CASSANDRA_HOME/bin Ejecución: 1. cd cassandra/bin 2. ./cassandra
  • 21. 1 – Base de datos Columnal 2 – Sistema basado en Nodos 3 – Dos sistemas de Query : CLI / CQL 4 – Diferentes Tipos de Column Family “ 4.2 Primeros Conceptos
  • 22. 1 – Column Family 2- Super Column Family “ 4.2 Primeros Conceptos – CF’s
  • 23. 4.2 Primeros Conceptos – CF Ejemplo Column Family Recibos: Row Key Column1 Column2 Column3 Id_recibo1 Version_1 Version_2 Version_3 Id_recibo2 Version_1 Version_2 Version_3 Version_1 Version_2 Key1 : value1 Key1 : value1 Key2 : value2 Key2 : value2 Key3 : value3 Key3 : value3
  • 24. 4.2 Primeros Conceptos – Super CF Ejemplo Super Column Family Productos: Row Key Column1 Column2 Column3 Limpieza Producto1 Producto2 Producto3 Abono Producto4 Producto5 Producto6 Version_1 Version_2 Key1 : value1 Key1 : value1 Key2 : value2 Key2 : value2 Key3 : value3 Key3 : value3 Row Key Column1 Column2 Column3 Producto1 Version_1 Version_2 Version_3 Producto4 Version_1 Version_2 Version_3
  • 25. 4.3 Starting Query – Cassandra-cli 1. Starting the cli  cd cassandra/bin  ./cassandra-cli 2. Creating a keyspace  Create keyspace test; 3. Select the keyspace  Use test; 4. Creating a CF  Create column family User with comparator = UTF8Type; 5. Updating Column Family Schema  Update column family User with column_metadata = [ {column_name : first , validation_class : UTF8Type}, {column_name : last , validation_class : UTF8Type}, {column_name : age , validation_class : UTF8Type, index_type : KEYS}, ] 6.Vamos a insertar un registro en la Column Family  assume User keys as utf8;  set User['cristian']['first'] = ‘Cristian’;  set User['cristian']['last'] = ‘Vitales’;  set User['cristian']['age'] = '38';
  • 26. 4.3 Starting Query – Cassandra-cli 1. Update the register  SET User[‘cristian’][‘first’] = ‘Juan’; 2. Get Data  GET User[‘cristian’];  GET User where age = ‘38’; 3.Create SuperColumn Family  create column family Super with column_type = 'Super' and comparator = ‘UTF8Type’;  Make assumptions for CF Super in ( KEYS / Comparator / Sub_Comparator / Validator )  Set Super[‘Limpieza’][‘version_1’][‘nombre’] = ‘KH7’;  Get Super[‘Limpieza’];
  • 27. 4.3 Starting Query – CQL 1. Mostrar los keyspace -> describe keyspaces; 2. Usar un keyspace -> use [Keyspace] -> use test; 3. Crear una Columna/Table:  Create Table usuarios ( user_id int primary key , fname text , lname text);  Describe tables;  INSERT INTO usuarios (user_id, fname, lname) VALUES (1745, 'john', 'smith');  INSERT INTO usuarios (user_id, fname, lname) VALUES (1744, 'john', 'doe');  INSERT INTO usuarios (user_id, fname, lname) VALUES (1746, 'john', 'smith');  Select * from usuarios  Create index on usuarios (lname);  Select * from usuarios where lname = ‘doe’;  DROP table usuarios;
  • 28. 4.3 Is your Turn! 1. Crear un Keyspace llamado “Twitter” 2. Crear una Column Family llamada Tweets (id, tweet, fecha) 3. Crear una Column Family llamada Usuarios(id, nombre,apellido, edad) 4. Insertar Varios Tweets y Varios Usuarios 5. Listar los Usuarios cuya edad sea > 30 6. Listar los tweets cuya fecha sea igual a la de hoy en formato (Y/M/d) 7. Crear un indice sobre el nombre del usuario 8. Crear un indice sobre el tweet 9. Borrar la tabla usuarios.
  • 29. Cristian.vitales@incubio.com @gotha229 C/ Jordi Girona 1-3 , Edificio C6 Planta -1 ,Campus Nord UPC http://research.incubio.com/ Cristian Vitales Research Engineer Gracias por asistir Preguntas?