Argomenti di tendenza
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
SQL fallisce a 3+ salti. I GraphDB no.
Immagina di trovare tutti gli account entro 3 salti da una transazione sospetta. O di collegare record di clienti frammentati tra sistemi tramite email e numeri di telefono condivisi.
Queste sono query di traversata del grafo. SQL può gestire le relazioni ma non la profondità.
Certo, puoi scrivere CTE ricorsivi e self-join. Funziona a 1-2 salti. Ma vai più in profondità e succedono due cose:
- La query diventa illeggibile
- E le prestazioni crollano
Ogni salto aggiunge un altro self-join. A salto 5-6, stai guardando query che girano per minuti e si rompono sotto carico.
La stessa query in Cypher:
𝗠𝗔𝗧𝗖𝗛 (𝘁:𝗧𝗿𝗮𝗻𝘀𝗮𝗰𝘁𝗶𝗼𝗻 {𝗶𝗱: '𝗧𝗫𝗡-𝟬𝟬𝟭'})-[:𝗜𝗡𝗩𝗢𝗟𝗩𝗘𝗦*𝟭..𝟯]-(𝗮:𝗔𝗰𝗰𝗼𝘂𝗻𝘁)
𝗥𝗘𝗧𝗨𝗥𝗡 𝗗𝗜𝗦𝗧𝗜𝗡𝗖𝗧 𝗮.𝗻𝗮𝗺𝗲, 𝗮.𝗽𝗵𝗼𝗻𝗲
3 righe. Legge come la domanda che stai ponendo. Scala a qualsiasi profondità.
Questo è ciò per cui sono costruiti i database a grafo.
FalkorDB è uno da conoscere. È open-source. E adotta un approccio architettonico diverso rispetto alla maggior parte dei GraphDB.
La maggior parte dei database a grafo insegue puntatori da nodo a nodo durante la traversata. FalkorDB non fa così. È costruito su GraphBLAS, un framework di algebra lineare che rappresenta le operazioni grafiche come calcoli di matrici sparse. Ogni salto diventa un'operazione di matrice ottimizzata invece.
Il risultato:
- Migliore comportamento della cache
- Computazione parallela attraverso i salti...
Principali
Ranking
Preferiti
