Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Megjegyzés:
Ez a funkció jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszintű szerződés nélkül érhető el, és éles számítási feladatokhoz nem ajánlott. Előfordulhat, hogy bizonyos funkciók nem támogatottak, vagy korlátozott képességekkel rendelkeznek. További információkért lásd: Microsoft Azure Previews Kiegészítő Felhasználási Feltételek.
Ebben a cikkben összehasonlítjuk a gráfadatbázisokat és a relációs adatbázisokat, kiemelve a fő különbségeket, a használati eseteket és az elemzési előnyöket. Felmérheti, hogy a Graph for Microsoft Fabricet vagy egy relációs adatbázist szeretne-e használni az Ön igényeinek megfelelően.
A gráfadatbázis csomópontok (entitások) és élek (kapcsolatok) hálózataként tárolja és lekérdezi az adatokat, így alapvetően eltér a relációs adatbázisok tábla- és sorformátumától. A gráfadatbázisok kiválóan használják a magas kapcsolatú adatok modellezését és elemzését, például a közösségi hálózatokat, a tudásgráfokat, a javaslati rendszereket és a csalásészlelést.
Alapvető különbségek
- Gráfadatbázisok: Az adatok csomópontként és élként való rendszerezése, a kapcsolatok explicit tárolása. A kapcsolatok bejárása hatékony és gyakran független a teljes adathalmaz méretétől.
- Relációs adatbázisok: Adatok rendezése sorokban és oszlopokban lévő táblákban. A kapcsolatok lekérdezési időben, JOIN műveletek használatával következtethetők ki, ami összetettsé és lassúvá válhat a magas kapcsolatú adatok esetében.
Kapcsolatok lekérdezése: Illesztések és bejárások
Relációs adatbázis-lekérdezések: A különböző táblák adatai idegen kulcsokon keresztül kapcsolódnak egymáshoz. A kapcsolódó adatok lekéréséhez a relációs adatbázisok JOIN műveletekkel kombinálják a sorokat több táblából. Ez jól működik az egyszerű kapcsolatokhoz, de a mély vagy változó hosszúságú kapcsolatok esetében költségessé és összetettsé válhat.
Gráfadatbázis-lekérdezések: A kapcsolatok élként vannak tárolva, így közvetlen bejárást tesz lehetővé az egyik csomópontról a másikra. A gráfos lekérdezések hatékonyan navigálhatnak több ugrásban és összetett mintákban. A GQL-hez hasonló gráflekérdezési nyelvek megkönnyítik a bejárások és a mintaegyezések kifejezését.
Example:
GQL:
MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o
SQL (egyenértékű):
SELECT o.*
FROM Person AS p
JOIN Friends_With AS fw ON p.id = fw.person_id
JOIN Person AS friend ON fw.friend_id = friend.id
JOIN Purchased AS pur ON friend.id = pur.person_id
JOIN "Order" AS o ON pur.order_id = o.id
WHERE p.name = 'Alice';
Megjegyzés:
A GQL a gráfadatbázisok ISO-szabvány szerinti lekérdezési nyelve, amely a gráfstruktúra szerinti adatok hatékony lekérdezésére és kezelésére lett kialakítva. Ugyanaz a nemzetközi munkacsoport, amely felügyeli az SQL-t, fejleszti azt.
Teljesítménnyel kapcsolatos következmények
A gráfadatbázisok túlteljesíthetik a relációs rendszereket a sok élt vagy ismeretlen mélységet érintő lekérdezések esetében, különösen mélyhivatkozásos elemzések vagy rekurzív lekérdezések esetén. A relációs adatbázisok a több évtizedes optimalizálásnak köszönhetően a set-orientált műveletekben és aggregációkban is kiválóak.
Skálázási szempontok
- Relációs adatbázisok: Általában vertikálisan skálázhatók (nagyobb gépekkel), és horizontálisan is, például sharding és replikáció segítségével. A nagymértékben csatlakoztatott sémák horizontális felosztása összetett, és hálózati többletterhelést okozhat.
- Gráfadatbázisok: Vertikális és vízszintes skálázás. Az elosztott gráfadatbázisok a gépeken particionálják a gráfokat, így a kapcsolódó csomópontok együtt maradnak a hatékony bejárás érdekében.
Mikor érdemes használni az egyeseket?
Akkor használjon Graph-adatbázist, ha:
- Az adatok szorosan össze vannak kapcsolva, és kapcsolatokkal telítettek (közösségi hálózatok, tudásgráfok, ajánlások).
- Ismeretlen vagy változó számú ugrást kell bejárnia.
- A séma fejlődik vagy félig strukturált.
- Intuitív modellezést szeretne azokhoz a tartományokhoz, ahol a kapcsolatok központiak.
Használjon relációs adatbázist, ha:
- Az adatok többnyire táblázatosak, vagy jól meghatározott struktúrához illeszkednek.
- A lekérdezések nagy aggregációkat vagy nagy halmazműveleteket foglalnak magukban.
- Rendelkezik az SQL-hez igazodó meglévő eszközökkel vagy szakértelemmel.
Hibrid megközelítések
Sok projekt mindkettőt használja: egy relációs adatbázist az alapvető tranzakciós adatokhoz, és egy gráfadatbázist speciális elemzési vagy hálózati elemzési funkciókhoz.