INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y
ELÉCTRICA
UNIDAD CULHUACAN
INGENIERÍA EN COMPUTACIÓN.
COMPILADORES
INVESTIGACION:
“BASES DE DATOS ORIENTADAS A GRAFOS”
ALUMNO: PAEZ SANDOVAL ABRAHAM
GRUPO: 4CX43.
PROFR: DANIEL TAPIA SANCHEZ
INTRODUCCION
En un mundo de constantes cambios a nivel de sistemas, es necesario volver a
pensar acerca de los paradigmas que manejan la industria. Necesitamos ajustar
nuestras herramientas a las necesidades reales que tenemos hoy en día con el fin
de tener sistemas a la altura de nuestros requerimientos.
En el campo de los datos, este cambio se había detenido. Desde que en 1970 Edgar
F. Codd publicó su artículo seminal sobre bases de datos relacionales, este
paradigma ha dominado el panorama de los datos en los sistemas. Su longevidad
es debida en gran parte a que es un modelo bien fundado en bases matemáticas
que puede representarse fácilmente usando algoritmos computacionales. Gracias a
esto existe una oferta amplia de sistemas de bases de datos relacionales (RDBMS),
hecho que a su vez ha llevado a los desarrolladores a usarlos en prácticamente
todas sus aplicaciones.
Aun así, hemos llegado a un punto en que seguir usando bases de datos
relacionales para todos los casos es simplemente inviable. Existen varios problemas
con los RDBMS actuales que pueden suponer una seria limitante para la
construcción de aplicaciones. Estos problemas son en gran medida el motivo por el
que surgió el movimiento NoSQL (Not Only SQL).
El paradigma NoSQL no es un sustituto a las bases de datos relacionales, es solo
un movimiento que busca otras opciones para escenarios específicos como los que
mencionamos, “No uses sólo SQL”. Históricamente, el término fue primero usado
en los 90’s para nombrar una base de datos relacional open source. Sin embargo,
como denominador del conjunto de bases de datos alternativas al modelo relacional,
fue primero usado en 2009 por Eric Evans para nombrar una serie de conferencias
sobre este tipo de bases de datos. Aunque el término más correcto sería NoREL
(Not Only Relational), como varios han señalado, el término NoSQL ya tiene gran
aceptación. Es solo una forma de decir que no todos los problemas son clavos que
pueden ser atacados con un RDBMS y dentro de las alternativas que surgen para
solucionar estos inconvenientes tenemos el surgimiento de las bases de datos
orientadas a grafos.
Las Bases de Datos Orientadas a Grafos (BDOG) se caracterizan porque las
estructuras de datos para el esquema e instancia se basan en modelos de datos de
grafo. Un grafo es básicamente un conjunto de puntos (vértices) en el espacio, que
están conectados por un conjunto de líneas (aristas). Como una de las formas más
generales de modelado de datos, un grafo permite representar fácilmente
entidades, sus atributos y sus relaciones. Esto permite darle importancia no solo a
los datos, sino a las relaciones entre ellos.
Estos modelos se iniciaron en los años ochenta y a principios de los noventa, junto
con modelos orientados a objetos
Su influencia decayó poco a poco con la aparición de nuevos modelos de bases de
datos. Recientemente, la necesidad de gestionar la información a través de una
estructura de grafo y las limitaciones de las bases de datos tradicionales (en
particular el modelo relacional), para cubrir las necesidades de las aplicaciones
actuales ha llevado al desarrollo de nuevas tecnologías, y por consiguiente ha
restablecido la importancia de esta área.
Bases de datos orientadas a grafos
Las bases de datos basadas en grafos, abordan una de las nuevas tendencias de
negocio que podemos encontrarnos actualmente y que consiste en aprovechar las
relaciones complejas y dinámicas que existen en los datos, para generar nuevos
conocimiento y ventajas competitivas en las empresas. Si nuestro objetivo es que
queremos ser capaces de entender las relaciones de compra de nuestros clientes,
el funcionamiento de los genes dentro del ADN o los aminoácidos de las proteínas,
o como las fuerzas actúan sobre las partículas subatómicas, por poner algunos
ejemplos de naturaleza muy dispar, es necesario tener la capacidad de comprender
y analizar enormes cantidades de datos, datos que se encuentran relacionados
unos con otros siguiendo un modelo basado en grafos.
Una de las ventajas que encontramos con las bases de datos orientadas a grafos,
es que a diferencia de los modelos relacionales, la forma en la que los datos son
almacenados es muy similar a la manera en la que las personas pensamos sobre
ellos, lo que facilita su comprensión y hace de las relaciones el elemento más
importante dentro del modelo de datos. Es decir, cada elemento que forma parte del
grafo, puede ser algo tan simple como un nodo o tan complejo como un documento
o una persona, y todos ellos van a tener un conjunto de descriptores o metadatos
que los describen, algo perfectamente posible dentro del modelo relacional.
Pero si nos detenemos a mirar las relaciones se este modelo estas no pasan de
convertirse en meras restricciones (constraints) en tiempo de ejecución, una
relación de tipo 1 a N, no posee la semántica que podemos encontrar cuando
hablamos de una relación del tipo “amigo de” en un modelo basado en grafos, y por
supuesto no es igual de fácil de comprender, y aunque podamos modelar esta idea
en una base de datos relacional, lo tenemos que hacer de un modo forzado, y
utilizando mecanismos que no son los más óptimos.
Pero, ¿qué es un grafo?
Formalmente un grafo es una colección de vértices y aristas o de nodos y las
relaciones que los conectan. Los grafos nos sirven para modelar toda clase de
escenarios, pensemos en los ejemplos que hemos puesto al principio para hacernos
una idea de sus posibilidades.
Los grafos tienen una serie de características muy sencillas de comprender:
 Están formados por nodos y relaciones
 Los nodos contienen propiedades (del tipo clave-valor)
 Las relaciones tienen un nombre y siempre parte de un nodo de inicio a otro
de destino.
 Las relaciones también pueden tener propiedades.
Pensemos por ejemplo en Facebook, y cómo podría ser su modelo de datos
utilizando grafos para una pequeña red de amigos, y en donde la semántica de la
relación “amigo de” es fundamental para poder establecer el contexto. Esta relación
queda establecida por la flecha que une cada una de las cajas siguientes:
En el grafo anterior observamos las relaciones de Carlos-Sara y Carolina-Sara son
ambas de amigos mutuos, a pesar de que Carlos aparece como amigo de Carolina,
esta no ha aceptado la solicitud de amistad. El modelo de Facebook al que se hace
referencia es increíblemente más grande que el ejemplo anterior, pero ejemplifica
adecuadamente lo que buscamos entender en cuanto a BDOG se refiere.
Otro ejemplo es el del famoso “me gusta (like)” que se puede implementar en el
ejemplo que anteriormente se vio. Consideremos que Sara ha actualizado su estado
en repetidas ocasiones, lo que resulta en una relación “último” entre Sara y su última
actualización, una relación “anterior” entre una actualización y otra, y una relación
“me gusta” entre Carlos y alguna de las actualizaciones de Sara, lo cual se
representaría de la siguiente manera:
Una base de datos basada en grafos debe permitir tanto el modelado de un
escenario como el anteriormente establecido, como proporcionar las herramientas
necesarias para su consulta y análisis.
Fortalezas de una BDOG
Cualquier cosa puede ser modelada en una base de datos orientada a grafos debido
a que usa los grafos como estructuras de control, pero que una base de datos
orientada a grafos ofrezca una poderosa y novedosas técnicas de modelado
de datos, no es una justificación suficiente para que una técnica bien conocida,
como lo son las bases de datos tradicionales, sean sustituidas. En las bases de
datos con grafos existen ciertos casos donde el uso de datos en una aplicación
mejora el rendimiento en uno o más pedidos si se lo implementa con grafos, y cuya
latencia es menor en comparación al procesamiento por lotes tradicional. Además
de este beneficio, las bases de datos con grafos ofrecen un modelo de datos muy
flexible, y un modelo para la entrega de datos con la agilidad que necesita el
software, como son:
- Rendimiento
Una de las principales razones por las que se implementan las BDOG es su mayor
rendimiento, en comparación con las bases de datos relacionales y otras NoSQL. A
diferencia de las bases de datos relacionales, cuyos rendimientos se deterioran
en las consultas intensivas y con un procesamiento de datos muy alto; las BDOG
ofrecen un rendimiento que tiende a permanecer constante, así como un
crecimiento de los datos. Esto se debe a que las consultas se realizan de manera
gráfica, haciendo recorridos entre las relaciones (aristas) que posea la base. Como
resultado, el tiempo de ejecución de esta consulta es proporcional solo al tamaño
de la parte grafica que tenga que recorrer para satisfacerla, en lugar del tamaño
global del grafo.
- Flexibilidad
Al desarrollador de aplicaciones le interesa conectar los datos permitiendo una
estructura donde el esquema que surja del conjunto de Interés pueda crecer sin
ningún problema. Las bases de datos orientadas a grafos abordan directamente
este tema, porque su modelo de datos se expresa y se acomoda a las necesidades
del negocio, de tal manera que se permite mover a mayor velocidad en la resolución
problema.
Los grafos son auditivos, por lo que se pueden añadir nuevos tipos de relaciones,
nuevos nodos y sub-grafos a una estructura ya existente sin alterar las consultas y
la funcionalidad de la aplicación. Y, en general, esto tiene consecuencias positivas
para el desarrollador debido a la flexibilidad del modelo con grafos, lo que también
tiene tendencia a realizar menos migraciones para poder reducirlos gastos de
mantenimiento y el riesgo que conlleva.
- Agilidad
A medida que la aplicación vaya creciendo, también se precisa que el modelo de
datos evolucione para adaptarse a las nuevas necesidades. Las bases de datos nos
equipan para llevar a cabo el mantenimiento progresivo de los sistemas, en
particular, la naturaleza sin esquema, junto con la comprobación de las aplicaciones
y el lenguaje de consulta, damos paso para que evolucionen las aplicaciones en un
entorno controlado. Al mismo tiempo, como son libres de esquemas, las bases de
datos con grafos carecen de la clase de mecanismos que son familiares en las
bases de datos relacionales. Pero esto no es un riesgo debido a que estas se
alinean al desarrollo ágil del software, lo que permite respaldar la evolución que
tienen las aplicaciones actualmente para que se acoplen al ritmo cambiante del
entorno de negocio.
Conclusiones.
Primero que nada considero que todo esto surge principalmente a partir del
concepto de “Big data”, ya que debido a que en la actualidad la información que se
genera día con día necesita ser almacenada, procesada y organizada para que
cuando se requiera acceder a esta, se muestre de una manera eficiente, además
de que la cantidad de esta es cada vez es más grande. Ante esta situación es
requerida la creación de sistemas que realicen estas tareas, por ello surgen distintos
tipos de sistemas de bases de datos como el relacionales uno de los principales
modelos utilizados para hacer frente a esta necesidad, sin embargo no es una
solución perfecta ya que tiene algunas limitantes. Por ello las bases de datos
orientadas a grafos comienzan a obtener una amplia implementación en el manejo
de la información. Los motivos por los que se sobreponen a las bases de datos
relacionales son de resaltar: eficiencia, flexibilidad, agilidad, etc; todo esto debido a
que el uso de grafos permite representar fácilmente entidades, sus atributos y sus
relaciones. Además de darle importancia no solo a los datos, sino a las relaciones
entre ellos.
Bibliografía.
http://es.wikipedia.org/wiki/Base_de_datos_orientada_a_grafos
http://dspace.utalca.cl/bitstream/1950/9359/2/cornejo_diaz.pdf
http://sg.com.mx/revista/42/nosql-la-evolucion-las-bases-datos#.VBjSgdLuLRU
https://www.academia.edu/5731075/Bases_de_datos_orientadas_a_grafos_y_su_enfoque_en_el_
mundo_real
http://www.javamexico.org/blogs/ezamudio/neo4j_base_de_datos_orientada_grafos
http://santiagomarquezsolis.com/herramientas-para-big-data-neo4j-parte-1/
http://www.tesis.uchile.cl/tesis/uchile/2009/angles_r/html/index-frames.html

Más contenido relacionado

PPTX
Bases de datos orientadas a grafos
PDF
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
PPTX
DETECCION DE ERRORES DE REDES
PDF
Cuadro comparativo base de datos
DOCX
Cuadro comparativo sgbd
PDF
Taller de Usabilidad (HCI 1)
DOCX
Conjuntos de entidades débiles
DOCX
Gestores de bases de datos cuadros comparativos
Bases de datos orientadas a grafos
TCP (Transmission Control Protocol) Y UDP (User Datagram Protocol)
DETECCION DE ERRORES DE REDES
Cuadro comparativo base de datos
Cuadro comparativo sgbd
Taller de Usabilidad (HCI 1)
Conjuntos de entidades débiles
Gestores de bases de datos cuadros comparativos

La actualidad más candente (20)

PDF
Algoritmos de enrutamiento
PPTX
Memoria ram infografia 5
PDF
Proyecto Redes Corporativas
PDF
Protocolo de Enrutamiento RIP (Versiones 1 y 2)
PDF
Conceptos y protocolos de enrutamiento: 3. Introducción a los protocolos de e...
PPTX
Desarrollo rápido de aplicaciones (rad)
PPT
Algoritmos de enrutamiento
DOCX
Programación de dispositivos móviles UNIDAD 5
PPTX
Protocolos de comunicación
DOCX
MAPA CONCEPTUAL
PDF
Estilos y Patrones Aplicables a la Arquitectura de Software
PDF
REPLICACIÓN DE DATOS SQL-SERVER
PPTX
Enrutamiento IPv6 OSPFv3
PPT
Arquitectura de software orientada a patrones
PPTX
Cuadro comparativo
PPSX
Ciclo de vida de un sistema de información
PDF
Unidad no. 2 búsqueda en espacio de estados
PPTX
Protocolos de la capa de enlace de datos
PPTX
MongoDB
PDF
Acceso a datos en aplicaciones web del entorno servidor
Algoritmos de enrutamiento
Memoria ram infografia 5
Proyecto Redes Corporativas
Protocolo de Enrutamiento RIP (Versiones 1 y 2)
Conceptos y protocolos de enrutamiento: 3. Introducción a los protocolos de e...
Desarrollo rápido de aplicaciones (rad)
Algoritmos de enrutamiento
Programación de dispositivos móviles UNIDAD 5
Protocolos de comunicación
MAPA CONCEPTUAL
Estilos y Patrones Aplicables a la Arquitectura de Software
REPLICACIÓN DE DATOS SQL-SERVER
Enrutamiento IPv6 OSPFv3
Arquitectura de software orientada a patrones
Cuadro comparativo
Ciclo de vida de un sistema de información
Unidad no. 2 búsqueda en espacio de estados
Protocolos de la capa de enlace de datos
MongoDB
Acceso a datos en aplicaciones web del entorno servidor
Publicidad

Similar a Bases de datos orientadas a grafos (20)

PDF
Bases de datos de grafos
PDF
Sql 2017 bases datos orientadas a grafos
PPTX
Introduccion a Base de Datos en SQL Server.pptx
PPTX
Base de datos 1
PPTX
Tipos de base de datos
DOCX
Base de datos
PPTX
Base de datos
DOC
Tipos de bases de datos
PPTX
Bases De Datos
DOCX
Bases de datos
PDF
Tipos de bases de datos no sql
DOCX
Base de datos
DOCX
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
PPTX
Bases de datos de grafos
PPTX
Bases de datos orientadas a grafos y su enfoque en el Mundo Real
PDF
Resumen - Introducción a la base de datos
PDF
INTRODUCCION BASES DE DATOS - NOSQL - MONGODB
PPTX
Yorman román corredor
PPTX
Julieth
DOCX
Clasificacion y modelos de bases de datos
Bases de datos de grafos
Sql 2017 bases datos orientadas a grafos
Introduccion a Base de Datos en SQL Server.pptx
Base de datos 1
Tipos de base de datos
Base de datos
Base de datos
Tipos de bases de datos
Bases De Datos
Bases de datos
Tipos de bases de datos no sql
Base de datos
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
Bases de datos de grafos
Bases de datos orientadas a grafos y su enfoque en el Mundo Real
Resumen - Introducción a la base de datos
INTRODUCCION BASES DE DATOS - NOSQL - MONGODB
Yorman román corredor
Julieth
Clasificacion y modelos de bases de datos
Publicidad

Último (20)

PPTX
Plantilla-Hardware-Informático-oficce.pptx
PDF
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
PPTX
PARTE DE UNA PC _ SEIRY.pptx.........................
PPTX
Charla 3 - La gestión de servicios de TI.pptx
PPTX
Qué es Google Classroom Insertar SlideShare U 6.pptx
PDF
Webinar Jscrambler & Integrity360 Update
PDF
Libro de Oraciones guia virgen peregrina
PDF
.GUIA DE GUIA DE TRABAJO NUEVO TESTAMENTO.pdf
PPTX
PRESENTACION NIA 220 idhsahdjhJKSDHJKSHDJSHDJKHDJHSAJDHJKSAHDJkhjskdhasjdhasj...
PDF
EL BRANDBOOK MUNDUS DE PERFUMERIA NICHO
DOCX
TRABAJO DE ESTRATEGIA MAXIMILIANO ELIZARRARAS.docx
DOCX
Proyecto del instituto Gilda Ballivian Rosado
PPTX
jajajajajajajajajajjajajajajjajajajahdegdhwgfedhgfdhdfe
PPTX
presentación sobre Programación SQL.pptx
PPTX
Informática e inteligencia artificial (2).pptx
PPT
redes.ppt unidad 2 perteneciente a la ing de software
PDF
aguntenlos femboysssssssssssssssssssssssssssssss
PPTX
NACIONALIDAD Y CIUDADANIA (1).pptxggggfffddd
PDF
ACCESORIOS Y ATAJOS WINDOWS empleados en Windows
PDF
AWS CloudOpS training español (Operaciones en la nube)
Plantilla-Hardware-Informático-oficce.pptx
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
PARTE DE UNA PC _ SEIRY.pptx.........................
Charla 3 - La gestión de servicios de TI.pptx
Qué es Google Classroom Insertar SlideShare U 6.pptx
Webinar Jscrambler & Integrity360 Update
Libro de Oraciones guia virgen peregrina
.GUIA DE GUIA DE TRABAJO NUEVO TESTAMENTO.pdf
PRESENTACION NIA 220 idhsahdjhJKSDHJKSHDJSHDJKHDJHSAJDHJKSAHDJkhjskdhasjdhasj...
EL BRANDBOOK MUNDUS DE PERFUMERIA NICHO
TRABAJO DE ESTRATEGIA MAXIMILIANO ELIZARRARAS.docx
Proyecto del instituto Gilda Ballivian Rosado
jajajajajajajajajajjajajajajjajajajahdegdhwgfedhgfdhdfe
presentación sobre Programación SQL.pptx
Informática e inteligencia artificial (2).pptx
redes.ppt unidad 2 perteneciente a la ing de software
aguntenlos femboysssssssssssssssssssssssssssssss
NACIONALIDAD Y CIUDADANIA (1).pptxggggfffddd
ACCESORIOS Y ATAJOS WINDOWS empleados en Windows
AWS CloudOpS training español (Operaciones en la nube)

Bases de datos orientadas a grafos

  • 1. INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACAN INGENIERÍA EN COMPUTACIÓN. COMPILADORES INVESTIGACION: “BASES DE DATOS ORIENTADAS A GRAFOS” ALUMNO: PAEZ SANDOVAL ABRAHAM GRUPO: 4CX43. PROFR: DANIEL TAPIA SANCHEZ
  • 2. INTRODUCCION En un mundo de constantes cambios a nivel de sistemas, es necesario volver a pensar acerca de los paradigmas que manejan la industria. Necesitamos ajustar nuestras herramientas a las necesidades reales que tenemos hoy en día con el fin de tener sistemas a la altura de nuestros requerimientos. En el campo de los datos, este cambio se había detenido. Desde que en 1970 Edgar F. Codd publicó su artículo seminal sobre bases de datos relacionales, este paradigma ha dominado el panorama de los datos en los sistemas. Su longevidad es debida en gran parte a que es un modelo bien fundado en bases matemáticas que puede representarse fácilmente usando algoritmos computacionales. Gracias a esto existe una oferta amplia de sistemas de bases de datos relacionales (RDBMS), hecho que a su vez ha llevado a los desarrolladores a usarlos en prácticamente todas sus aplicaciones. Aun así, hemos llegado a un punto en que seguir usando bases de datos relacionales para todos los casos es simplemente inviable. Existen varios problemas con los RDBMS actuales que pueden suponer una seria limitante para la construcción de aplicaciones. Estos problemas son en gran medida el motivo por el que surgió el movimiento NoSQL (Not Only SQL). El paradigma NoSQL no es un sustituto a las bases de datos relacionales, es solo un movimiento que busca otras opciones para escenarios específicos como los que mencionamos, “No uses sólo SQL”. Históricamente, el término fue primero usado en los 90’s para nombrar una base de datos relacional open source. Sin embargo, como denominador del conjunto de bases de datos alternativas al modelo relacional, fue primero usado en 2009 por Eric Evans para nombrar una serie de conferencias sobre este tipo de bases de datos. Aunque el término más correcto sería NoREL (Not Only Relational), como varios han señalado, el término NoSQL ya tiene gran aceptación. Es solo una forma de decir que no todos los problemas son clavos que
  • 3. pueden ser atacados con un RDBMS y dentro de las alternativas que surgen para solucionar estos inconvenientes tenemos el surgimiento de las bases de datos orientadas a grafos. Las Bases de Datos Orientadas a Grafos (BDOG) se caracterizan porque las estructuras de datos para el esquema e instancia se basan en modelos de datos de grafo. Un grafo es básicamente un conjunto de puntos (vértices) en el espacio, que están conectados por un conjunto de líneas (aristas). Como una de las formas más generales de modelado de datos, un grafo permite representar fácilmente entidades, sus atributos y sus relaciones. Esto permite darle importancia no solo a los datos, sino a las relaciones entre ellos. Estos modelos se iniciaron en los años ochenta y a principios de los noventa, junto con modelos orientados a objetos Su influencia decayó poco a poco con la aparición de nuevos modelos de bases de datos. Recientemente, la necesidad de gestionar la información a través de una estructura de grafo y las limitaciones de las bases de datos tradicionales (en particular el modelo relacional), para cubrir las necesidades de las aplicaciones actuales ha llevado al desarrollo de nuevas tecnologías, y por consiguiente ha restablecido la importancia de esta área.
  • 4. Bases de datos orientadas a grafos Las bases de datos basadas en grafos, abordan una de las nuevas tendencias de negocio que podemos encontrarnos actualmente y que consiste en aprovechar las relaciones complejas y dinámicas que existen en los datos, para generar nuevos conocimiento y ventajas competitivas en las empresas. Si nuestro objetivo es que queremos ser capaces de entender las relaciones de compra de nuestros clientes, el funcionamiento de los genes dentro del ADN o los aminoácidos de las proteínas, o como las fuerzas actúan sobre las partículas subatómicas, por poner algunos ejemplos de naturaleza muy dispar, es necesario tener la capacidad de comprender y analizar enormes cantidades de datos, datos que se encuentran relacionados unos con otros siguiendo un modelo basado en grafos. Una de las ventajas que encontramos con las bases de datos orientadas a grafos, es que a diferencia de los modelos relacionales, la forma en la que los datos son almacenados es muy similar a la manera en la que las personas pensamos sobre ellos, lo que facilita su comprensión y hace de las relaciones el elemento más importante dentro del modelo de datos. Es decir, cada elemento que forma parte del grafo, puede ser algo tan simple como un nodo o tan complejo como un documento o una persona, y todos ellos van a tener un conjunto de descriptores o metadatos que los describen, algo perfectamente posible dentro del modelo relacional. Pero si nos detenemos a mirar las relaciones se este modelo estas no pasan de convertirse en meras restricciones (constraints) en tiempo de ejecución, una relación de tipo 1 a N, no posee la semántica que podemos encontrar cuando hablamos de una relación del tipo “amigo de” en un modelo basado en grafos, y por supuesto no es igual de fácil de comprender, y aunque podamos modelar esta idea en una base de datos relacional, lo tenemos que hacer de un modo forzado, y utilizando mecanismos que no son los más óptimos.
  • 5. Pero, ¿qué es un grafo? Formalmente un grafo es una colección de vértices y aristas o de nodos y las relaciones que los conectan. Los grafos nos sirven para modelar toda clase de escenarios, pensemos en los ejemplos que hemos puesto al principio para hacernos una idea de sus posibilidades. Los grafos tienen una serie de características muy sencillas de comprender:  Están formados por nodos y relaciones  Los nodos contienen propiedades (del tipo clave-valor)  Las relaciones tienen un nombre y siempre parte de un nodo de inicio a otro de destino.  Las relaciones también pueden tener propiedades. Pensemos por ejemplo en Facebook, y cómo podría ser su modelo de datos utilizando grafos para una pequeña red de amigos, y en donde la semántica de la relación “amigo de” es fundamental para poder establecer el contexto. Esta relación queda establecida por la flecha que une cada una de las cajas siguientes: En el grafo anterior observamos las relaciones de Carlos-Sara y Carolina-Sara son ambas de amigos mutuos, a pesar de que Carlos aparece como amigo de Carolina, esta no ha aceptado la solicitud de amistad. El modelo de Facebook al que se hace referencia es increíblemente más grande que el ejemplo anterior, pero ejemplifica adecuadamente lo que buscamos entender en cuanto a BDOG se refiere.
  • 6. Otro ejemplo es el del famoso “me gusta (like)” que se puede implementar en el ejemplo que anteriormente se vio. Consideremos que Sara ha actualizado su estado en repetidas ocasiones, lo que resulta en una relación “último” entre Sara y su última actualización, una relación “anterior” entre una actualización y otra, y una relación “me gusta” entre Carlos y alguna de las actualizaciones de Sara, lo cual se representaría de la siguiente manera: Una base de datos basada en grafos debe permitir tanto el modelado de un escenario como el anteriormente establecido, como proporcionar las herramientas necesarias para su consulta y análisis.
  • 7. Fortalezas de una BDOG Cualquier cosa puede ser modelada en una base de datos orientada a grafos debido a que usa los grafos como estructuras de control, pero que una base de datos orientada a grafos ofrezca una poderosa y novedosas técnicas de modelado de datos, no es una justificación suficiente para que una técnica bien conocida, como lo son las bases de datos tradicionales, sean sustituidas. En las bases de datos con grafos existen ciertos casos donde el uso de datos en una aplicación mejora el rendimiento en uno o más pedidos si se lo implementa con grafos, y cuya latencia es menor en comparación al procesamiento por lotes tradicional. Además de este beneficio, las bases de datos con grafos ofrecen un modelo de datos muy flexible, y un modelo para la entrega de datos con la agilidad que necesita el software, como son: - Rendimiento Una de las principales razones por las que se implementan las BDOG es su mayor rendimiento, en comparación con las bases de datos relacionales y otras NoSQL. A diferencia de las bases de datos relacionales, cuyos rendimientos se deterioran en las consultas intensivas y con un procesamiento de datos muy alto; las BDOG ofrecen un rendimiento que tiende a permanecer constante, así como un crecimiento de los datos. Esto se debe a que las consultas se realizan de manera gráfica, haciendo recorridos entre las relaciones (aristas) que posea la base. Como resultado, el tiempo de ejecución de esta consulta es proporcional solo al tamaño de la parte grafica que tenga que recorrer para satisfacerla, en lugar del tamaño global del grafo. - Flexibilidad Al desarrollador de aplicaciones le interesa conectar los datos permitiendo una estructura donde el esquema que surja del conjunto de Interés pueda crecer sin ningún problema. Las bases de datos orientadas a grafos abordan directamente este tema, porque su modelo de datos se expresa y se acomoda a las necesidades
  • 8. del negocio, de tal manera que se permite mover a mayor velocidad en la resolución problema. Los grafos son auditivos, por lo que se pueden añadir nuevos tipos de relaciones, nuevos nodos y sub-grafos a una estructura ya existente sin alterar las consultas y la funcionalidad de la aplicación. Y, en general, esto tiene consecuencias positivas para el desarrollador debido a la flexibilidad del modelo con grafos, lo que también tiene tendencia a realizar menos migraciones para poder reducirlos gastos de mantenimiento y el riesgo que conlleva. - Agilidad A medida que la aplicación vaya creciendo, también se precisa que el modelo de datos evolucione para adaptarse a las nuevas necesidades. Las bases de datos nos equipan para llevar a cabo el mantenimiento progresivo de los sistemas, en particular, la naturaleza sin esquema, junto con la comprobación de las aplicaciones y el lenguaje de consulta, damos paso para que evolucionen las aplicaciones en un entorno controlado. Al mismo tiempo, como son libres de esquemas, las bases de datos con grafos carecen de la clase de mecanismos que son familiares en las bases de datos relacionales. Pero esto no es un riesgo debido a que estas se alinean al desarrollo ágil del software, lo que permite respaldar la evolución que tienen las aplicaciones actualmente para que se acoplen al ritmo cambiante del entorno de negocio.
  • 9. Conclusiones. Primero que nada considero que todo esto surge principalmente a partir del concepto de “Big data”, ya que debido a que en la actualidad la información que se genera día con día necesita ser almacenada, procesada y organizada para que cuando se requiera acceder a esta, se muestre de una manera eficiente, además de que la cantidad de esta es cada vez es más grande. Ante esta situación es requerida la creación de sistemas que realicen estas tareas, por ello surgen distintos tipos de sistemas de bases de datos como el relacionales uno de los principales modelos utilizados para hacer frente a esta necesidad, sin embargo no es una solución perfecta ya que tiene algunas limitantes. Por ello las bases de datos orientadas a grafos comienzan a obtener una amplia implementación en el manejo de la información. Los motivos por los que se sobreponen a las bases de datos relacionales son de resaltar: eficiencia, flexibilidad, agilidad, etc; todo esto debido a que el uso de grafos permite representar fácilmente entidades, sus atributos y sus relaciones. Además de darle importancia no solo a los datos, sino a las relaciones entre ellos. Bibliografía. http://es.wikipedia.org/wiki/Base_de_datos_orientada_a_grafos http://dspace.utalca.cl/bitstream/1950/9359/2/cornejo_diaz.pdf http://sg.com.mx/revista/42/nosql-la-evolucion-las-bases-datos#.VBjSgdLuLRU https://www.academia.edu/5731075/Bases_de_datos_orientadas_a_grafos_y_su_enfoque_en_el_ mundo_real http://www.javamexico.org/blogs/ezamudio/neo4j_base_de_datos_orientada_grafos http://santiagomarquezsolis.com/herramientas-para-big-data-neo4j-parte-1/ http://www.tesis.uchile.cl/tesis/uchile/2009/angles_r/html/index-frames.html