Unidad Educativa Salesiana
Don Bosco
•Tema: No SQL y Apache Casandra
Autor: Alvaro Cruz
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ónApache (Feb 17 2010
toplevel).
• Esta basada en BigTable (Módelo de Datos) y Amazon
Dynamo (infraestructura).
• Desarrollado en Java.
Base De Datos NoSQL
Introducción
Las Bases de Datos NoSQL crecieron con las principales compañías
de Internet, como Google, Amazon, Twitter y Facebook. Éstas
tenían que enfrentarse a desafíos con el tratamiento de datos que
las tradicionales RDBMS no solucionaban . Con el crecimiento de la
web en tiempo real existía una necesidad de proporcionar
información procesada a partir de grandes volúmenes de datos que
tenían unas estructuras horizontales más o menos similares. Estas
compañías se dieron cuenta que el rendimiento y sus propiedades
de tiempo real eran más importantes que la coherencia, en la que
las RDBMS dedicaban una gran cantidad de tiempo de proceso.
NoSQL: También llamado “no solo
SQL”, es una amplia clase de sistemas
de gestión de bases de datos que se
diferencian del modelo clásico del
sistema de gestión de bases de datos
relacionales (RDBMS) en aspectos
importantes, el más destacado es: no
usan SQL como el principal lenguaje
de consultas. Los datos almacenados
no requieren estructuras fijas como
tablas y mayormente no soportan
operaciones JOIN.
BASE DE DATOS NoSQL
Modelo de Almacenamiento
Clave -Valor
En un sistema RDBMS tenemos bases de datos y dentro de
cada base de datos tenemos tablas formadas por filas y
columnas. En cambio en un sistema clave-valor tenemos
contenedores, también se les llama cabinets, en cada
contenedor podemos tener tantas parejas de clave-valor
como queramos. En cada contenedor podemos tener datos
de la misma naturaleza o totalmente diferente.
A cada clave se asocia un valor (clave=valor), por ejemplo:
“Nombre=Jose”, “Apellido=Hernandez”.
ID Usuario Nombre EMail Fecha
1 pepe Jose ja@ja.com 02/04/1971
2 juan Juan juan@hatmail.com 18/02/1982
3 mario Mario mgarcia@correo.es null
Base de Datos Relacional
Base de Datos Clave Valor
ID Usuario
1 pepe
2 juan
3 mario
ID
usuario
Clave Valor
1 nombre Jose Alberto
1 email ja@ja.com
1 fecha 19710402
2 nombre JuanAntonio
2 email juan@hatmail.com
2 fecha 19820218
3 nombre Mario Garcia
3 email
mgarcia@micorreo.
es
Apache Cassandra
Apache Cassandra es una base
de datos NoSQL(o también No
Solo SQL),distribuida y basada
en un modelo de
almacenamiento de «clave-
valor», escrita en Java. Permite
grandes volúmenes de datos en
forma distribuida. Su objetivo
principal es la escalabilidad
lineal y la disponibilidad. La
arquitectura distribuida de
Cassandra está basada en una
serie de nodos iguales que se
comunican con un protocolo
P2P (peer to per) con lo que la
redundancia es máxima. Protocolo P2P
Historia
• Apache Cassandra fue desarrollada para impulsar su
función de búsqueda de Bandeja de entrada de
Facebook por Avinash Lakshman y Prashant Malik. Fue
lanzado como un proyecto de código abierto en julio de
2008. En marzo de 2009, se convirtió en un proyecto de
Apache. El 17 de febrero 2010 se graduó como un
proyecto de nivel superior.
Lanzamientos de
Avinash Lakshman y Prashant Malik
Lanzamientos después de la graduación incluyen
• 0.6, lanzado 12 de abril 2010, añade soporte para el almacenamiento en caché
integrado y Apache Hadoop MapReduce
• 0.7, lanzado 08 de enero 2011, añadida índices secundarios y los cambios de
esquema en línea.
• 0.8, lanzado 02 de junio 2011, añade el idioma Cassandra Query (CQL), auto-
tuning memtables, y el apoyo a las actualizaciones sin tiempo de inactividad
• 1.0, lanzado 17 de octubre 2011, agregó la compresión integrada, nivelada
compactación y mejora el rendimiento de lectura
• 1.1, lanzado 23 de abril 2012, añadió auto-tuning cachés, el aislamiento a nivel de
fila, y soporte para ssd mixta / hilado despliegues disco
• 1.2, lanzado 02 de enero 2013, añadió la agrupación en los nodos virtuales, la
comunicación entre nodos, lotes atómicas y seguimiento de solicitudes
• 2.0, lanzado 04 de septiembre 2013, añadió transacciones ligeras, disparadores,
la mejora de compactadoras.
1) Descargar la ultima versión (0.5.1 actual)
●Web oficial: http://cassandra.apache.org/
Instalación y Puesta en Marcha
2) Descomprimimos en cualquier carpeta y
procedemos a instalar .
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/cassandra
4) Pasar los Archivos de pyreadline a
C:ProgramDataMicrosoftWindowsStart
MenuProgramsDataStax Community Edition
5) Mandar a Correr en ModoTexto
5) Mandar a Correr en Modo Gráfico
URL: http://localhost:8888/opscenter/index.html
Ejemplo de una creación de
unaTabla con varios Campos
1) Crear la Base de Datos con el
Comando CREATE
Ejemplo: Una Base de un Banco
2) Usar la Base de Datos Banco con el
Comando USE para ingresar a nuestra
base
3) CrearTablas con el comando CREATE
TABLE con los varios campos que
necesitaremos
4) Con el Comando DESCRIBE servirá para
desplegar los campos de nuestra tabla y ver
si se han creado correctamente
5) Con el comando INSERT INTO
para así ingresar valores en los
campos creados.
6) Con el comando SELECT * FROM
empleados;
aparecerá toda la informacion
7) Podemos realizar varias consultas
teniendo en cuenta en donde, qué
va a buscar y qué dato queremos
8)Verificamos en el modo Gráfico
que se creo correctamente la base
de datos
Gracias Por su Atención.

NO SQL y Cassandra

  • 1.
    Unidad Educativa Salesiana DonBosco •Tema: No SQL y Apache Casandra Autor: Alvaro Cruz
  • 2.
    Introducción • Es unsistema 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ónApache (Feb 17 2010 toplevel). • Esta basada en BigTable (Módelo de Datos) y Amazon Dynamo (infraestructura). • Desarrollado en Java.
  • 3.
    Base De DatosNoSQL Introducción Las Bases de Datos NoSQL crecieron con las principales compañías de Internet, como Google, Amazon, Twitter y Facebook. Éstas tenían que enfrentarse a desafíos con el tratamiento de datos que las tradicionales RDBMS no solucionaban . Con el crecimiento de la web en tiempo real existía una necesidad de proporcionar información procesada a partir de grandes volúmenes de datos que tenían unas estructuras horizontales más o menos similares. Estas compañías se dieron cuenta que el rendimiento y sus propiedades de tiempo real eran más importantes que la coherencia, en la que las RDBMS dedicaban una gran cantidad de tiempo de proceso.
  • 4.
    NoSQL: También llamado“no solo SQL”, es una amplia clase de sistemas de gestión de bases de datos que se diferencian del modelo clásico del sistema de gestión de bases de datos relacionales (RDBMS) en aspectos importantes, el más destacado es: no usan SQL como el principal lenguaje de consultas. Los datos almacenados no requieren estructuras fijas como tablas y mayormente no soportan operaciones JOIN. BASE DE DATOS NoSQL
  • 5.
    Modelo de Almacenamiento Clave-Valor En un sistema RDBMS tenemos bases de datos y dentro de cada base de datos tenemos tablas formadas por filas y columnas. En cambio en un sistema clave-valor tenemos contenedores, también se les llama cabinets, en cada contenedor podemos tener tantas parejas de clave-valor como queramos. En cada contenedor podemos tener datos de la misma naturaleza o totalmente diferente. A cada clave se asocia un valor (clave=valor), por ejemplo: “Nombre=Jose”, “Apellido=Hernandez”.
  • 6.
    ID Usuario NombreEMail Fecha 1 pepe Jose ja@ja.com 02/04/1971 2 juan Juan juan@hatmail.com 18/02/1982 3 mario Mario mgarcia@correo.es null Base de Datos Relacional Base de Datos Clave Valor ID Usuario 1 pepe 2 juan 3 mario ID usuario Clave Valor 1 nombre Jose Alberto 1 email ja@ja.com 1 fecha 19710402 2 nombre JuanAntonio 2 email juan@hatmail.com 2 fecha 19820218 3 nombre Mario Garcia 3 email mgarcia@micorreo. es
  • 7.
    Apache Cassandra Apache Cassandraes una base de datos NoSQL(o también No Solo SQL),distribuida y basada en un modelo de almacenamiento de «clave- valor», escrita en Java. Permite grandes volúmenes de datos en forma distribuida. Su objetivo principal es la escalabilidad lineal y la disponibilidad. La arquitectura distribuida de Cassandra está basada en una serie de nodos iguales que se comunican con un protocolo P2P (peer to per) con lo que la redundancia es máxima. Protocolo P2P
  • 8.
    Historia • Apache Cassandrafue desarrollada para impulsar su función de búsqueda de Bandeja de entrada de Facebook por Avinash Lakshman y Prashant Malik. Fue lanzado como un proyecto de código abierto en julio de 2008. En marzo de 2009, se convirtió en un proyecto de Apache. El 17 de febrero 2010 se graduó como un proyecto de nivel superior.
  • 9.
    Lanzamientos de Avinash Lakshmany Prashant Malik Lanzamientos después de la graduación incluyen • 0.6, lanzado 12 de abril 2010, añade soporte para el almacenamiento en caché integrado y Apache Hadoop MapReduce • 0.7, lanzado 08 de enero 2011, añadida índices secundarios y los cambios de esquema en línea. • 0.8, lanzado 02 de junio 2011, añade el idioma Cassandra Query (CQL), auto- tuning memtables, y el apoyo a las actualizaciones sin tiempo de inactividad • 1.0, lanzado 17 de octubre 2011, agregó la compresión integrada, nivelada compactación y mejora el rendimiento de lectura • 1.1, lanzado 23 de abril 2012, añadió auto-tuning cachés, el aislamiento a nivel de fila, y soporte para ssd mixta / hilado despliegues disco • 1.2, lanzado 02 de enero 2013, añadió la agrupación en los nodos virtuales, la comunicación entre nodos, lotes atómicas y seguimiento de solicitudes • 2.0, lanzado 04 de septiembre 2013, añadió transacciones ligeras, disparadores, la mejora de compactadoras.
  • 10.
    1) Descargar laultima versión (0.5.1 actual) ●Web oficial: http://cassandra.apache.org/ Instalación y Puesta en Marcha
  • 11.
    2) Descomprimimos encualquier carpeta y procedemos a instalar .
  • 12.
    3) Creamos eldirectorio 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/cassandra
  • 14.
    4) Pasar losArchivos de pyreadline a C:ProgramDataMicrosoftWindowsStart MenuProgramsDataStax Community Edition
  • 15.
    5) Mandar aCorrer en ModoTexto
  • 16.
    5) Mandar aCorrer en Modo Gráfico URL: http://localhost:8888/opscenter/index.html
  • 17.
    Ejemplo de unacreación de unaTabla con varios Campos
  • 18.
    1) Crear laBase de Datos con el Comando CREATE Ejemplo: Una Base de un Banco
  • 19.
    2) Usar laBase de Datos Banco con el Comando USE para ingresar a nuestra base
  • 20.
    3) CrearTablas conel comando CREATE TABLE con los varios campos que necesitaremos
  • 21.
    4) Con elComando DESCRIBE servirá para desplegar los campos de nuestra tabla y ver si se han creado correctamente
  • 22.
    5) Con elcomando INSERT INTO para así ingresar valores en los campos creados.
  • 23.
    6) Con elcomando SELECT * FROM empleados; aparecerá toda la informacion
  • 24.
    7) Podemos realizarvarias consultas teniendo en cuenta en donde, qué va a buscar y qué dato queremos
  • 25.
    8)Verificamos en elmodo Gráfico que se creo correctamente la base de datos
  • 26.
    Gracias Por suAtención.