Mi chiedo perché neo4j abbia un limite di capacità su nodi e relazioni. Il limite su Nodi e Relazioni è 2^35 1 che è un bit "piccolo" in più rispetto al "normale" 2^32 intero. Database SQL comuni per esempio mysql memorizza la chiave primaria come int (2^32) o bigint (2^64) 2. Puoi spiegarmi i vantaggi di questa decisione? Secondo me questo è un punto di decisione chiave nella scelta di un database.Perché esiste questo limite di capacità su nodi e relazioni in neo4j?
risposta
È un limite artificiale. Stanno per rimuoverlo in un futuro non troppo lontano, anche se non ho sentito alcun ETA ufficiale.
Spesso, si verificano limiti hardware su una singola macchina prima che si raggiunga effettivamente questo limite.
L'opzione corrente consiste nel suddividere manualmente i grafici su macchine diverse. Non è l'ideale per alcuni casi d'uso, ma funziona in altri casi. In futuro avranno un modo per dividere automaticamente i dati - nessun ETA neanche su questo.
Aggiornamento: Ho imparato un po 'di più sugli interni di storage neo4j. Il motivo per cui i limiti sono esattamente ciò che sono, sono perché i numeri di identificazione sono memorizzati su disco come puntatori in diversi punti (record di nodi, record di relazioni, ecc.). Per aumentarlo con un'altra potenza di 2, avrebbero bisogno di aumentare 1 byte per nodo e 1 byte per relazione - è attualmente imballato fino in fondo senza dover utilizzare più byte su disco. Per saperne di più a questo grande post del blog: http://digitalstain.blogspot.com/2010/10/neo4j-internals-file-storage.html
Aggiornamento 2:
Ho sentito che in 2.1 essi saranno in aumento di questi limiti a circa un ordine di grandezza superiore a quello che attualmente sono.
A partire da neo4j 3.0, tutti questi vincoli vengono rimossi.
La compressione dinamica del puntatore espande lo spazio di indirizzi disponibili di Neo4j secondo necessità, rendendo possibile la memorizzazione di grafici di qualsiasi dimensione. Esatto: non più 34 miliardi di limiti di nodi!
Per ulteriori informazioni, visitare http://neo4j.com/blog/neo4j-3-0-massive-scale-developer-productivity.
- 1. Creazione di nodi e relazioni contemporaneamente in neo4j
- 2. Design di categoria in Neo4j, relazioni nodo radice e relazioni con nodi indicizzati
- 3. Modo efficiente per trovare il set di nodi che ha relazioni con determinati nodi usando neo4j
- 4. neo4j: relazioni unidirezionali/bidirezionali?
- 5. Relazioni Neo4J con limiti di tempo
- 6. Neo4j unire 2 o più nodi duplicati
- 7. Identificatori dei nodi in neo4j
- 8. Eliminazione nodi indicizzati in Neo4j
- 9. Valore univoco in neo4j Nodi
- 10. Neo4j: MERGE crea nodi duplicati
- 11. Architettare un'applicazione basata su Neo4j: attenersi all'API di vanilla utilizzando nodi e relazioni semplici o utilizzare Spring/GORM?
- 12. Capacità di scorrimento limite su elementi canvas HTML5
- 13. query di livello nodo su Neo4j con un grafico enorme (milioni di nodi e collegamenti)
- 14. Eliminazione di tutti i nodi e le relazioni in Neo4j utilizzando cifra supera lo spazio di heap
- 15. Mostra tutti i nodi e le relazioni
- 16. Ordinare i nodi per numero di relazioni -> ThisShouldNotHappenError
- 17. Neo4j: Ottieni tutti i nodi in un grafico, anche quelli che non sono collegati dalle relazioni
- 18. Come posso interrompere il movimento dei nodi in Neo4j?
- 19. Qual è la differenza tra limite e capacità in ByteBuffer?
- 20. primitive conteggio in Neo4j
- 21. Come posso ottimizzare una query MERGE Neo4j su un nodo con molte relazioni?
- 22. Trova nodi neo4j con più di una relazione in entrata
- 23. Neo4j - Abbina più nodi usando gli ID
- 24. Come eliminare tutte le relazioni nel grafico neo4j?
- 25. Ricerca di nodi foglia in un database Neo4J
- 26. Array.Initialize - Perché esiste questo metodo?
- 27. Ottenere i nodi che non hanno certo rapporto (Cypher/Neo4j)
- 28. nodo Elimina ed è relazioni (se ne ha) in Neo4j
- 29. Ottieni tutti gli itinerari tra due nodi neo4j
- 30. Come modellare le relazioni del mondo reale in un database grafico (come Neo4j)?
Hanno rimosso tutti questi vincoli in neo4j 3.0. Vedi la mia risposta [in basso] (http://stackoverflow.com/a/37033847/1925109). – Hassan