Graph Databases-apuestas de la empresa en él?


Mirando a Neo4j, y el límite de 32 mil millones de relaciones me tiene preocupado (imagina 40 millones de usuarios que suben 500 fotos, tienen 500 amigos, hacen 500 comentarios, etc. y antes de que te des cuenta estás más allá de 32 mil millones).. Así que tengo algunas preocupaciones y tengo que asegurarme de que estoy tomando la mejor decisión en qué base de datos utilizar.

No buscando respuestas subjetivas ni debate aquí - es decir. cuál es mejor, etc.-más bien, ya que Estoy apostando el futuro de una startup en qué base de datos de gráficos es usos , necesito saber los riesgos que presentan las diferentes bases de datos, como Neo4j que no tiene más de 32 mil millones de relaciones.

Ahora, varias compañías han llamado a sus bases de datos de gráficos la "base de datos de gráficos líder".. pero vamos a mirar más allá del bombo- ¿cuál tiene el mayor respaldo financiero? ¿Qué db disfruta de un gran apoyo de la comunidad? ¿Cuál tiene una compañía sólida detrás de él para el apoyo comercial?

¿Cuál es más probable que sea lo suficientemente maduro para que si querido, usted podría crear fácilmente facebook con el mínimo esfuerzo?

Es fácil elegir una base de datos de gráficos sobre características técnicas o familiaridad - pero estoy buscando más que eso - Quiero asegurarme de que a pocos años de la compañía todavía esté presente. Quiero asegurarme de que no estoy eligiendo ir con Neo4j basado en el bombo y el impulso que actualmente (temporalmente?) tener...

Y Qué otros gráficos pueden lidiar con Neo4gj para crear una red social completa similar a facebook (de nuevo, no buscando mejor, solo buscando un competidor sólido ).

Por favor, no dejes que esto se convierta en un debate subjetivo Neo vs Dex - solo hechos y respuestas sólidas por favor..

Author: Ruben Catchme Obregon, 2013-03-25

7 answers

Michael me venció en el golpe, pero permítanme agregar, responder por Neo4j, y dejar que otros respondan sobre otras tecnologías.

El siguiente enlace incluye una variedad de hechos sobre el estado de la comunidad Neo4j, la adopción del producto y la compañía detrás del producto:

Http://blog.neo4j.org/2013/01/2012-year-in-review-happy-2013-it-looks.html

El siguiente enlace habla de la hoja de ruta de este año, que entre otras cosas levantará el límite de tamaño actual. Limite es simplemente una optimización del rendimiento del espacio que se eligió cuando las relaciones precio-rendimiento eran un poco diferentes. Haremos el trabajo este año para aumentar algunos tamaños de puntero, y lanzaremos una versión sin límite superior práctico en los próximos meses:

Http://blog.neo4j.org/2013/01/2013-whats-coming-next-in-neo4j.html

Hay instalaciones de producción con la mitad del gráfico social de Facebook en un cluster Neo4j, en la parte posterior de sitios web altamente activos. El solo el clúster de base de datos de Amazon entre regiones que conozco (para cualquier sistema de administración de bases de datos) se ejecuta en Neo4j: 10 instancias repartidas entre EE.UU., Asia y Europa. Uno de los servicios de paquetería más grandes del mundo realiza todo su enrutamiento de paquetes utilizando Neo4j, enrutando más de 2000 paquetes por segundo en el pico. Las decisiones se toman en tiempo real literalmente cuando los paquetes se deslizan por una rampa. Se pusieron en marcha el otoño pasado y la Navidad pudo suceder para decenas de millones de personas. Montón mas. Esto es una muestra.

Bienvenido al impresionante mundo de gráficos! Sea cual sea la solución que elija, nos complace tenerlo como parte de la comunidad de graph database.

Philip

 10
Author: Philip Rathle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-25 23:49:30

Descargo de responsabilidad: Trabajo para/con Neo4j

Solo hablando de la madurez aquí (no tecnicismos) - Neo Technology como una empresa con más de 50 empleados, funding 25 MILLONES de fondos y una próspera base de usuarios con medio millón de descargas, 30k nuevas bases de datos que se ejecutan cada mes y una comunidad activa no desaparecerá. También puedes consultar las preguntas SO para ver la actividad de la comunidad.

Tenemos un conjunto saludable de clientes en muchos dominios de los grandes como Adobe (ejecuta creative cloud en Neo4j), Cisco (Org-Management, MDM), redes sociales como Viadeo y muchas empresas de búsqueda de empleo (GlassDoor, y otras) a startups como fiftythree que publicaron la popular aplicación "Paper" en iOS.

Nuestro sitio de la comunidad neo4j.org debe ser un buen lugar para ir, para empezar, encontrará allí contenido introductorio así como información sobre lenguajes de programación, drivers y despliegues que deberían ayudarle a obtener comenzar.

Emil, Ian y Jim escribieron un libro introductorio sobre "graph databases" con O'Reilly que actualmente está disponible como descarga gratuita de ebook.

Así que ya ves que no solo nos estamos preocupando por nuestro propio producto, sino también por el ecosistema de gráficos más grande, también con muchas conferencias, grupos de meetup (41 en todo el mundo) y soporte del ecosistema de código abierto.

Espero que eso te ayude a decidir.

P.d. Con respecto a sus preocupaciones: Tamaño los límites (que son artificialmente de todos modos) se incrementarán este año.

 17
Author: Michael Hunger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:23:02

Así que he probado y estado trabajando con bases de datos de gráficos durante el último año. Creo que sólo usted conoce sus datos lo suficientemente bien como para ser capaz de hacer una conjetura educada en cuanto a si vas a tener nodos que necesitan más de 32 mil millones de relaciones. Yo diría que no hay muchos casos de uso adecuados para la mayoría de las personas donde esto es una limitación. Pero eso no es absoluto.

Neo4j es un producto brillante. Bien documentado y con gente como maxdemarzi escribiendo excelentes publicaciones de blog-tales as: http://maxdemarzi.com / - lo que pondrá a cualquiera al tanto de la potencia y sofisticación de neo4j bastante rápido. (Además, es un buen tipo que responderá a sus preguntas si las tiene)

Si la escala es un problema, también te recomiendo que eches un vistazo a Titan - http://thinkaurelius.github.com/titan / . Los chicos detrás de esto son brillantes y está destinado a una escala masiva. No está tan establecido en el mercado como neo4j, pero tiene mucha potencia y te da algo flexibilidad en las prioridades al permitirle seleccionar entre Cassandra, Hbase y BerkeleyDB para el almacenamiento subyacente.

Neo4j es una compañía bien respaldada, bien financiada con ingresos reales. No va a ninguna parte. Titán es más pequeño pero creo que está en una curva ascendente rápida.

La verdad es que todo es un espacio nuevo. No estás consiguiendo nada tan establecido como Postgres, MySQL o la fortaleza corporativa de Oracle. No nos engañemos.

Sin embargo, la comunidad de graph database es relativamente pequeño, amable y servicial. Se ejecuta grandes eventos - yo estaba en el evento GraphCon de Neo4j que fue impresionante, y he estado en algunas charlas de los chicos de Titan que fueron grandes. En última instancia, si quieres ser Facebook, sea lo que sea que comiences, terminarás construyendo tu propia infraestructura. Está la escala y luego está la escala de los centros de datos del tamaño de los países pequeños.

Un pensamiento final. El problema de 40 millones de usuarios y su infraestructura subyacente desafíos es un problema para una empresa bien establecida y bien financiada. No llega a 40 millones de usuarios y no atrae la financiación ni genera los ingresos necesarios para financiar la construcción de su propia infraestructura. Puedes planificar ahora para cuando tengas 40 millones de usuarios, absolutamente. Adelante. Esa es la diversión de las primeras etapas de una startup. Pero tu mayor problema es llegar a tu primer millón o incluso diez millones. Para ese uso cualquiera de estas bases de datos le lleva al mercado más rápido con un sólido producto.

 14
Author: Richard Jordan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-25 19:56:34

Mi consejo es construir su aplicación en APIs estándar como Blueprints. La página principal Blueprints enumera varias implementaciones disponibles. De esta manera, no estará bloqueado y podrá elegir la mejor implementación en función de sus necesidades (tamaño, velocidad, precio) y el estado del mercado en ese momento.

 10
Author: Sridhar Ramachandran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-02 14:45:12

Trabajamos con Neo4j desde 2010 y apostamos no solo por nuestra empresa, sino que también hemos invertido bastante tiempo en un proyecto de código abierto ( http://www.ohloh.net/p/structr ). Hay una entrada de blog de febrero de 2012 donde puedes leer los detalles:

Http://structr.org/blog/the-story-behind-structr

Es cierto que nuestra empresa es bastante pequeña. Pero hemos hecho, y estamos haciendo, alrededor de una docena de proyectos con Neo4j, y estamos muy contentos con el desenlace.

La comunidad detrás de Neo4j es vibrante, abierta y siempre muy solidaria. Deberías ir a uno de los eventos de meetup para tener una idea. :-)

Como dijo Richard, los hechos financieros están fuera de discusión. Lo que me parece más impresionante, es que la gente de Neo Technology, a pesar de ser una empresa comercial que tiene que generar ingresos, son realmente entusiastas que saben y aman lo que hacen, y están realmente comprometidos con el modelo de Código Abierto.

Así que sí, estoy sesgado, pero no sin razón. :-)

 6
Author: Axel Morgner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-25 22:57:03

Para agregar a las excelentes respuestas, también debe considerar la concesión de licencias. Si su proyecto es completamente de código abierto que cumple con los requisitos de la GPLv3, entonces algo como neo4j es una gran manera de hacerlo. Sin embargo, si lo está utilizando en un sistema propietario, necesitará comprar una licencia neo4j enterprise o usar otra base de datos con menos restricciones de licencia (licencias MIT o Apache 2) como Titan.

Este es un gran recurso para revisar licencias: http://en.wikipedia.org/wiki/Graph_database

 1
Author: David Stevens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-20 05:41:59

Lo que has pedido y en lo que deberías centrarte son dos cosas diferentes.

Aunque lo siguiente no responde a su pregunta, espero que le ayude a usted y a otros desarrolladores a considerar lo que realmente está en juego aquí:

  • Los requisitos y objetivos no siempre están claros, y eso está bien. Las cosas cambian, y su producto debe ser capaz de rodar con esos cambios. Esa es la naturaleza misma de las empresas emergentes. En consecuencia, sugiero: Centrarse en el producto, no el aplicación . En otras palabras, cree una abstracción de una implementación de base de datos (por ejemplo, Blueprint, que implementa Neo4j), en lugar de una implementación real, para que no se quede bloqueado o retenido por problemas de licencia en el futuro. Podrá cambiar fácilmente las implementaciones de bases de datos si lo necesita. Obtendrá una imagen más clara en el futuro en cuanto a la exactitud de su decisión inicial. Sobre todo prepárate para cambiar cuando lo necesites.
 0
Author: BKSpurgeon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-22 03:47:41