Sei sulla pagina 1di 11

Propuesta trabajo de grado Departamento EEST

Cdigo Pgina

00 1 de 11

IMPLEMENTACIN DE UN SISTEMA DE INFORMACIN PROTOTIPO CON BASE DE DATOS ORIENTADA A GRAFOS SOBRE PLATAFORMA LINUX, MEDIANTE NEO4J COMO SOPORTE DE DATOS.

Autor JHONATAN CASTRO CARDONA

Director SERGIO PEALOZA ROJAS

INGENIERIA DE SISTEMAS DEPARTAMENTO DE INGENIERAS ELCTRICA ELECTRNICA SISTEMAS Y TELECOMUNICACIONES FACULTAD DE INGENIERAS Y ARQUITECTURA

UNIVERSIDAD DE PAMPLONA PAMPLONA, 25 de Septiembre de 2012

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

1.
Ttulo:

INFORMACIN GENERAL DEL TRABAJO DE GRADO

IMPLEMENTACIN DE UN SISTEMA DE INFORMACIN PROTOTIPO CON BASE DE DATOS ORIENTADA A GRAFOS SOBRE PLATAFORMA LINUX, MEDIANTE NEO4J COMO SOPORTE DE DATOS.
Nombre Autor: JHONATAN CASTRO CARDONA. C.C. : 73006276

FIRMA: E-mail: jh45o@hotmail.com Lugar de Ejecucin del Proyecto: Pamplona Norte de Santander Duracin de Proyecto (en semanas):16 Modalidad: Investigacin Objetivo General: Telfono: 3012906926

Prctica Empresarial

Diplomado

Docencia

Implementar un sistema de informacin prototipo bajo el motor de base de datos Neo4j para la representacin y la persistencia de datos en grafos sobre plataforma Linux.
Objetivos especficos Documentar las bases de datos orientadas a grafos. Analizar el funcionamiento de Neo4j como motor de base de datos orientado a grafos. Modelar un sistema de informacin por medio del motor de base de datos Neo4j. Desarrollar un aplicativo prototipo para formato nico de hojas de vida persona natural del DAFP (Departamento Administrativo de la Funcin Publica) que muestre las mejores caractersticas de la base de datos Neo4j. Valor Total del Proyecto: Aceptacin director de la tesis: NOMBRE: Sergio Pealoza rojas FIRMA: Acepto y certifico que revis el presente anteproyecto antes de firmarlo.
Jurado 1: Jurado 2: Jurado 3: Sustentacin Anteproyecto: Lugar : ____________________________________Fecha: _____________________ Hora__________________ Aprobado Observaciones del jurado: ___________________________________________________________________________________________________ __________________________________________________________________________________________________ Firma Jurado 1: ________________ Realizacin de Correcciones Lugar : ____________________________________Fecha: _____________________ Hora__________________ Aprobado Rechazado Firma Jurado 3: ______________ ____________________ Firma Jurado 2: ___________________ Firma Jurado 3: Incompleto Rechazado Firma Jurado 1:

$ 2.000.000 Autorizacin director del programa: NO SI

FIRMA:

Firma Jurado 2:

Firma Jurado 3:

Firma Jurado 1: ____________________ Firma Jurado 2: _________________

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

2. RESUMEN DEL PROYECTO Las bases de datos orientadas a grafos (BDOG) buscan representar la informacin como nodos y aristas de un grafo, teniendo en cuenta algunos conceptos de grafos se puede decir que un grafo G es un par G = (V, E), donde V es un conjunto finito (vrtices, nodos) y E es un Multiconjunto de pares no ordenados de vrtices, denotados por {x, y}, que se denominan lados o aristas. Este proyecto busca reemplazar la forma tradicional de manipular informacin con motores de base de datos SQL, ya que con grafos las bases de datos se vuelven ms robustas aceptando grandes cantidades de informacin. Para este caso se trabajar con neo4j es un software libre de base de datos orientado a grafos implementado en java, el cual se tendr en cuenta para sistematizar tablas en forma de redes de un sistema de informacin y realizar las operaciones correspondientes como son insertar, eliminar, actualizar y mostrar la manera como soporta informacin este motor de base de datos. 2.1. Palabras claves: BDOG, grafo, vrtice-Nodo, aristas, Entidad, Relacin, SQL, neo4j, Nosql. 3. PLANTEAMIENTO DEL PROBLEMA Y JUSTIFICACION Se esta acostumbrado a trabajar con motores de bases de datos SQL para la representacin de tablas de las bases de datos, existen formas de trabajar bases de datos de forma Nosql en donde la informacin se representa de manera diferente, al igual que las bases de datos SQL este paradigma tambin permite insertar, eliminar, actualizar, etc. Este proyecto busca dar a conocer la forma de trabajar bases de datos orientada a grafos con el motor neo4j un motor de base de datos bastante robusto, con este se puede desarrollar sistemas de informacin en los cuales se manejan grandes cantidades de informacin como por ejemplo las redes sociales. Teniendo en cuenta los conceptos bsicos de la teora de grafos de las ciencias computacionales de esa forma los utiliza neo4j para modelarlos, existen motores de bases de datos No SQL pero en vez de ir orientado a grafo son manipulados como objeto. Para este caso se presenta una mejor solucin por medio de grafos los cuales son fciles para navegar la informacin, otra de las buenas opciones que presenta este motor de base de dato orientado a grafos es que se puede trabajar en sistemas operativos como Linux, Windows etc. En este motor de base de datos se puede recorrer la informacin por medio de caminos mnimos, en este caso aplicndole conceptos y algoritmos de las ciencias de la computacin se puede llegar a unos buenos resultados, esta caracterstica que se acaba de mencionar muy pocos motores de bases de datos la tienen, por lo que no son orientados a grafos, los motores de bases de datos orientados a grafos tienen la facilidad de guardar la informacin de forma organizada en forma de red y fcil de recorrer. Uno de los problemas de los sistemas SQL es que generan cuellos de botellas, el cual consiste en transcribir sentencias para que puedan ser ejecutadas, en este caso Neo4j no tiene este problema. En este motor de base de dato se necesita solo lo estrictamente lo necesario, ya que son sistemas simples que no tienen un sistema de consulta complejo.

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

4. MARCO TEORICO Y ESTADO DEL ARTE. BASES DE DATOS No SQL No SQL (a veces llamado "no slo SQL") es una amplia clase de sistemas de gestin de bases de datos que difieren del modelo clsico del sistema de gestin de bases de datos relacionales (RDBMS) en aspectos importantes, el ms destacado que no usan SQL como el principal lenguaje de consultas. Los datos almacenados no requieren estructuras fijas como tablas, normalmente no soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad, coherencia, aislamiento y durabilidad). Los sistemas de bases de datos No SQL crecieron con las principales compaas de Internet, como Google, Amazon, Twitter y Facebook. Estas tenan que enfrentarse a desafos con el tratamiento de datos que las tradicionales RDBMS no solucionaban. Con el crecimiento de la web en tiempo real exista una necesidad de proporcionar informacin procesada a partir de grandes volmenes de datos que tenan unas estructuras horizontales ms o menos similares. Estas compaas se dieron cuenta que el rendimiento y sus propiedades de tiempo real eran ms importantes que la coherencia, en la que las bases de datos relacionales tradicionales dedicaban una gran cantidad de tiempo de proceso de manipulacin de la informacin. Mientras que las bases de datos relacionales basan su funcionamiento en tablas, joins y transacciones ACID, las bases de datos No SQL no imponen una estructura de datos en forma de tablas y relaciones entre ellas, ya que suelen permitir almacenar informacin en otros formatos como clave-valor, Mapeo de columnas, Documentos o Grafos que en este caso se va a trabajar, una de las clasificaciones No SQL es la de clasificar segn su fuente de datos en los cuales tenemos Clave-valor: Redis, Mapeo de Columnas: Hbase, Documentos: MongoDB, y la que quiere poner en practica Grafos: Neo4j. PROBLEMAS QUE DIERON ORIGEN A LAS BASES DE DATOS No SQL.

En el modelo relacional los datos se representan mediante conjuntos (tablas) relacionados entre s. Realizar una consulta al modelo relacional (como ya se conoce), implica juntar grandes conjuntos de datos con operaciones algebraicas (como el producto cartesiano) y luego filtrar todo el conjunto resultante lo cual lleva una gran complejidad computacional.

El objetivo de las transacciones es asegurar la integridad de los datos, aunque con este esquema se dejen de lado otros aspectos como la performance. A veces estas transacciones no son necesarias completamente. Se puede pensar en modelos de negocio en los que las transacciones sean necesarias y otros que no, en ese caso se pueden dejar de lado los motores relacionales si se encontrara una solucin ms adecuada.

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

El gran problema de las bases relacionales es la escalabilidad. Estas fueron pensadas para correr en un solo servidor con mucha potencia, como mucho tener replicaciones y balanceo de carga. Estas bases se basan en la idea de escalabilidad vertical, o sea, cuando el servidor se queda chico se puede hacer ms potente para escalar (mas CPU, RAM, disco). El costo de este mtodo aumenta exponencialmente y tiene un lmite, llegar un punto en que no podamos seguir escalando. La escalabilidad horizontal por otra parte, se basa en poner ms servidores de forma paralela y tener la base distribuida entre todos esos servidores. En un RDBMS partir la base en muchos servidores trae muchos problemas de performance, ya que se rompe la integridad del modelo al estar dividido y hacer una consulta puede involucrar traer datos de todos los servidores con el costo que esto implica. INTRODUCCIN ALA TEORIA DE GRAFOS Definicin. En un grafo G = (V,E), un eje que est asociado a un par ordenado de V x V es llamado eje dirigido de G, mientras un eje que est asociado a un par no ordenado de nodos es llamado eje no dirigido. Un grafo del cual cada nodo es dirigido es llamado dgrafo o grafo dirigido. Un grafo en el cual cada eje es no dirigido es llamado grafo no dirigido. Si algunos ejes son dirigidos y otros no dirigidos en un grafo, se trata de un grafo mixto. V y E son conjuntos, junto con una aplicacin Al conjunto V se le llama conjunto de vrtices; al conjunto E conjunto de lados o aristas, a continuacin se muestra un ejemplo de grafo con sus respectivas aristas y nodos.

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

Se nota que A, B, C, D, E, F, G son los nodos o vrtices de este grafo, tambin se puede observar las aristas con sus respectivos pesos enumeradas. BASES DE DATOS ORIENTADAS A GRAFOS Las bases de datos orientadas a grafos (BDOG) representan la informacin como nodos de un grafo y sus relaciones con las aristas del mismo, de manera que se pueda usar teora de grafos para recorrer la base de datos ya que esta puede describir atributos de los nodos(entidades) y las aristas(relaciones).Una base de datos orientada a grafos debe estar absolutamente normalizada, esto quiere decir que cada tabla tendra una sola columna y cada relacin tan solo dos, con esto se consigue que cualquier cambio en la estructura de la informacin tenga un efecto tan solo local.

Estas pueden resolver fcilmente algunos problemas que se presentan en otros modelos de base de datos, por ejemplo: * Combinacin de atributos multi-valor y atributos complejos * Flexibilidad a cambios de estructura, especialmente cuando la fuente de datos es autnoma y dinmica como el Internet. * Unificacin en la representacin de los datos, esquemas y consultas. * Algunas BDOG pueden recibir o retornar grafos completos de acuerdo a diferentes criterios de bsqueda.

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

Las BDOG tambin ofrecen servicios nuevos o mejorados como: * Consultas ms amplias y no demarcadas por tablas, ejemplo Muestre todas las tablas que posean un nombre Carlos. * No hay que definir un nmero determinado de atributos, esto quiere decir que una persona puede tener relacionados 4 nombres mientras que otra tan solo 2, esto sin desperdiciar espacio. * Los registros tambin son de longitud variable, evitando tener que definir un tamao y tambin posibles fallas en la base de datos. * Se puede recorrer directamente la base de datos de forma jerrquica, obtener el nodo abuelo del nodo y viceversa.

El Isomorfismo es de vital importancia en las BDOG, ya que este trmino se refiere a cuando se va a ingresar un grafo a la base de datos y este ya se encuentre en la misma, o se pueda obtener de permutar otro grafo. El poder identificar estas situaciones puede ayudar a ahorrar espacio de almacenamiento.

Aunque pareciera ser una novedad en el rea de las bases de datos, el modelo orientado a grafos ya lleva un buen tiempo de haber sido inventado, sin embargo debido a la aparicin de otros modelos como el de orientacin a objetos y el ms conocido de todos, el relacional, las BDOG pasaron a un segundo plano, debido principalmente por la simplicidad y fcil manejo del ltimo mencionado, el modelo relacional. El uso de las BD orientadas a grafos es escaso y actualmente hay muy pocas herramientas para su desarrollo, una de las ms conocida es la Plataforma G, la cual es un gestor de bases de datos orientadas a grafos desarrollado por el ingeniero Alfonso Ros Alonso CEO de MaatGknwoledge. 5. DELIMITACION 5.1. OBJETIVO GENERAL Implementar un sistema de informacin prototipo bajo el motor de base de datos Neo4j para la representacin y la persistencia de datos en grafos sobre plataforma Linux. 5.2. OBJETIVOS ESPECFICOS Documentar las bases de datos orientadas a grafos. Analizar el funcionamiento de Neo4j como motor de base de datos orientado a grafos.

Modelar un sistema de informacin por medio del motor de base de datos Neo4j.

Desarrollar un aplicativo prototipo para formato nico de hojas de vida persona natural del DAFP (departamento administrativo de la funcin publica) que muestre las mejores caractersticas de la base de datos Neo4j.

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

5.3. ACOTACIONES

Para mostrar las ventajas de manipular informacin con neo4j se tomar un ejemplo de base de datos que anteriormente se ha realizado con motores SQL. Se utilizara sistema operativo Ubuntu para el manejo de neo4j. Mostrar la forma como estn guardada la informacin en forma de grafo, mostrando sus respectivos nodos y aristas. Durante su desarrollo se tendrn en cuenta algunos conceptos bsicos de la teora de grafos, como el concepto de arista y nodo. No se tendr en cuenta metodologas en particular, ya que el proyecto se trata es de analizar el comportamiento de neo4j como motor de base de dato y la realizacin de un (sistema de informacin prototipo) con el cual mostrar sus buenas caractersticas. Como es una base de dato orientada a grafos se representara la informacin en su forma, este grafo es arrojado por este motor de base de dato por su botn de simulacin dependiendo el modelo que sea llevado a la practica, mas no es escogido. El objetivo de mostrar el aplicativo prototipo del formato nico de hojas de vida persona natural del DAFP (Departamento Administrativo de la Funcin Pblica), es darse cuenta del funcionamiento de neo4j como motor de base de dato y no del aplicativo en si. 6. TAREAS Y CRONOGRAMA DE ACTIVIDADES 6.1 Cronograma y descripcin de Actividades.
ACTIVIDAD
1 2 3 4 5 6 7 8 9 10

SEMANAS 9 10

11

12

13

14

15

16

x x

x x

x x

x x

x x x X x x x x x x x

Tabla 6.1. Cronograma y descripcin de Actividades

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

Descripcin de actividades: (Lista de tareas)

Documentar las bases de datos orientadas a grafos. 1. Recopilacin de informacin de aquellas bases de datos orientadas a grafos destacando sus mejores caractersticas. Analizar el funcionamiento de Neo4j como motor de base de datos orientado a grafos. 2. Conocer la forma como la informacin es llevada a ser representada por medio de grafos y la manipulacin de la misma. 3. Conocer que tipo de grafos se pueden crear a partir del modelaje de la informacin. Modelar un sistema de informacin por medio del motor de base de datos Neo4j. 4. instalacin y configuracin de Neo4j sobre plataforma Linux. 5. Escogemos un ejercicio ejemplo de lo que se va a modelar mediante Neo4j. Desarrollar un aplicativo prototipo para formato nico de hojas de vida persona natural del DAFP (departamento administrativo de la funcin publica) que muestre las mejores caractersticas de la base de datos Neo4j. 6. desarrollo del aplicativo. 7. Escoger las mejores caractersticas de Neo4j. 8. compararlo con algn motor de base de datos que no tenga su mismo paradigma. 9. ingreso de cantidad de datos al aplicativo para ponerlo funcionamiento. 10. todas las conclusiones que podamos sacar del motor Neo4j. en

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

7. RESULTADOS/PRODUCTOS ESPERADOS Y POTENCIALES BENEFICIARIOS 7.1. Impactos esperados a partir del uso de los resultados:
Tabla 7.1. Impactos esperados despus de finalizar el proyecto

Impactos

Plazo Mediano Mediano

Indicador
Nmero de aplicaciones desarrolladas bajo motor neo4j. Cantidad de estudiantes que aprendern a usar el concepto de bases de datos orientas a grafos. Cantidad de docentes que aprendern usar el manejo de bases de datos orientada a grafos, ejemplo neo4j. Puede aplicarse este motor neo4j a lugar donde se manejen informaciones valiosas y con respuestas eficientes. Numero de redes sociales adoptando este motor de base de dato neo4j. Semilleros de investigacin acerca de este paradigma de base de datos orientados a grafos (BDOG). Nmero de docentes de bases de datos que emplearan el paradigma No SQL para el aprendizaje. Nmero de estudiantes que se apropian del No SQL para su aprendizaje.

Supuestos
Que los docentes de bases de datos intenten aplicar el concepto de orientada a grafos dentro de la materia. Que la universidad brinde oportunidades aquellos estudiantes que desarrollen un aplicativo bajo motores orientados a grafos. Que la universidad le ofrezca esta capacitacin a profesores de l rea de bases de datos y de las ciencias computacionales. Lugares donde se necesitaba mucha gente para manejar informacin puede ser simplificada con unas que manejen este motor neo4j. Que las redes sociales lo adopten para un manejo eficiente de la informacin. Que la Universidad financie este tipo de semilleros para los interesados. Que los docentes comparten de forma excelente el conocimiento de No SQL. Que los estudiantes conozcan los No SQL y las apliquen en su formacin profesional.

Sociales Mediano Mediano Econmicos Largo Productividad Mediano Mediano Competitividad Mediano

Cdigo

Propuesta trabajo de grado Departamento EEST


Pgina

00 2 de 11

8. REFERENCIAS BIBLIOGRAFICAS [1] http://neo4j.org/. [2] http://www.javamexico.org/blogs/ezamudio/neo4j_base_de_datos_orientada_grafo s. [3] http://es.wikipedia.org/wiki/Neo4j [4] http://es.scribd.com/doc/92550499/nosqlll. [5] http://www.google.com.co/search?hl=es&site=&source=hp&q=Neo+database.pdf& oq=Neo+database.pdf&gs_l=hp.3...2713.11675.0.12756.56.35.0.0.0.10.379.4463. 13j12j5j2.32.0...0.0...1c.1j2.1j5CdYLscuI.

Potrebbero piacerti anche