Está en la página 1de 13

[ APACHE CASSANDRA Y NEO4J ]

[TOMAS ADRIAN,DANIEL VILLALTA,ANGEL GONZALEZ]


Apache Cassandra
Software
Apache Cassandra es una base de datos NoSQL distribuida y basada en un
modelo de almacenamiento de «clave-valor», de código abierto que está
escrita en Java. Permite grandes volúmenes de datos en forma distribuida.
Por ejemplo, lo usa Twitter para su plataforma.
Escrito en: Java
Última versión estable: 3.11.4 (11 de febrero del 2019)
Licencia: Apache License 2.0
Desarrollador(es): Apache Software Foundation
Lanzamiento inicial: 2008
Autor(es): Avinash Lakshman y Prashant Malik

Neo4j
Software
Neo4j es un software libre de Base de datos orientada a grafos,
implementado en Java. Los desarrolladores describen a Neo4j como un
motor de persistencia embebido, basado en disco, implementado en Java,
completamente transaccional, que almacena datos estructurados en grafos
en lugar de en tablas.
Escrito en: Java
Fecha del lanzamiento inicial: 2007
Última versión estable: 3.3.0 (info); 24 de octubre de 2017 (1 año, 10 meses
y 20 días)
Licencia: licencia dual: AGPLv3 / comercial
Plataforma: Máquina virtual Java
Desarrollador(es): Neo Technology
INSTALACION DE APACHE CASSANDRA
1.
• Descarga del Software El primer paso es descargar el software que
necesita para su máquina Windows. • Validar Requisitos Los únicos
requisitos que necesita para su máquina de Windows son: • Windows 7
o Windows Server 2008 • Java • Hay una dependencia en el Visual C + +
2008 Runtime (32 bits), pero Windows 7 y Windows Server 2008 R2 lo
tiene ya instalado.
2.
• Usar el instalador de Windows El instalador de Windows es un paquete
MSI que se ejecuta como cualquier otro en Windows. Al ejecutar el
programa de instalación, se le presentará en primer lugar con un panel
de bienvenida inicial que identifica a su instalación de paquete:

3.
• Al hacer clic en Siguiente para ir al acuerdo de licencia de usuario final
(no te preocupes, el software es libre):
4.
• El siguiente panel permite especificar que el software se va a instalar:
5.
• Una vez se ha establecido el directorio de instalación, el instalador le
preguntará cómo desea gestionar los servicios que se van a instalar.
Servicios instalados incluyen: • El servidor Apache Cassandra, etiquetado
DataStax Cassandra Servicio Comunitario • La herramienta de gestión
OpsCenter DataStax, que incluye tanto el servicio OpsCenter utilizado
para gestionar y supervisar Cassandra, y el agente OpsCenter, que se
utiliza para recopilar métricas y llevar a cabo diversas tareas en todos los
nodos.
6.
• El siguiente panel se inicia el proceso de instalación:

• El panel final le preguntará si desea iniciar DataStax OpsCenter en su navegador y


registrarse para ser actualizado cuando nuevas versiones del software están disponibles y
listo ya esta intalado apache Cassandra.
7.
• iniciamos la utilidad Cassandra Command Line Interface (CLI), que hasta la llegada de
CQL era la interfaz primaria utilizada para crear, administrar y consultar objetos:
INSTALACION DE NEO4J
1.-
Lo primero que tenemos que hacer es ir a la página de Neo4j, y pinchar en el
enlace de descarga de la versión community, hay varias versiones, pero esta
es la gratuita.

2.-
Una vez ejecutado el asistente para instalación y aceptar el acuerdo de licencia, nos
pregunta donde deseamos instalarlo y nombre. Dejo los valores por defecto.

3.-
Al iniciar este ejecutable nos aparece una ventana donde podemos ver la ruta de la base
de datos , que es C:\Users\usuario\Documents\Neo4j\default.graphdb, y aparece un
botón para iniciar el servicio.
4.-
Desde esta ventana podemos modificar la configuración por defecto.
CREACION DE UNA BASE DE DATOS EN APACHE
CASSANDRA

Empezamos creando el keyspace, que es donde se almacenan todos los


datos de nuestra aplicación

CREATE KEYSPACE geeky WITH REPLICATION = { 'class' : 'SimpleStrategy',


'replication_factor' : 1 };

Si ahora ejecutamos:

DESC KEYSPACES;

Podremos ver:

system videodb system_traces geeky

Indicamos que queremos usar el keyspace geeky:

USE geeky;

Y creamos la tabla de usuarios:

CREATE TABLE users (

firstname text,

lastname text,

email text,

organization text,

PRIMARY KEY (lastname));

Probamos a insertar unos cuantos usuarios:


INSERT INTO users (firstname, lastname, email, organization) VALUES
('nombre', 'apellido', 'correo', 'organizacion');

Cassandra nunca lee antes de escribir, no comprueba si los datos ya existen


al hacer un INSERT, por lo tanto UPDATE e INSERT sobreescriben las
columnas de una entrada sin importar los datos ya almacenados.

CREACION DE UNA BASE DE DATOS EN NEO4J


Tengo un tipo de nodo llamado Usuario y me gustaría un índice sobre las
propiedades del identificador de usuario y la dirección de correo
electrónico. ¿Cómo se puede configurar un índice cuando la base de datos
es nueva? He notado que en el archivo neo4j.properties parece que hay
soporte para crear índices. Sin embargo, cuando configuro esto como tal
# Autoindexing

# Enable auto-indexing for nodes, default is false


node_auto_indexing=true

# The node property keys to be auto-indexed, if enabled


node_keys_indexable=EmailAddress,Identifier

Y agregue un nodo y haga una consulta para encontrar un Identificador que


sepa que existe

START n=node:Identifier(Identifier = "USER0")


RETURN n;

entonces me sale un

MissingIndexException: Index `Identifier` does not exist

¿Cómo creo un índice y lo uso en una consulta de inicio?

Crear el índice automático para los nodos.

neo4j-sh (0)$ index --create node_auto_index -t Node

Comprueba si existen

neo4j-sh (0)$ index --indexes

Debería volver

Node indexes:
node_auto_index

Al realizar consultas, utilice la siguiente sintaxis para especificar el índice

start a = node:node_auto_index(Identifier="USER0")
return a;
A medida que el nodo se indexa automáticamente, el nombre del índice es
node_auto_index

Esta información provino de un comentario en la parte inferior de this page

Actualizar

En caso de que desee indexar los datos actuales que estaban allí antes de
que se activara la indexación automática (donde Property_Name es el
nombre de su índice)

START nd =node(*)
WHERE has(nd.Property_Name)
WITH nd
SET nd.Property_Name = nd.Property_Name
RETURN count(nd);

También podría gustarte