Traditionella databaser är relationsdatabaser som lagrar data i rader och kolumner och betonar förmågan att denormalisera data och länka den till primära och främmande nycklar. Detta passar bra för traditionella användningsfall som en kund- och orderdatabas för att lagra och spåra dina kunder, inventeringen, produkterna och artiklarna som kunden har köpt.
Grafdatabaser löser ett annat problem, de betonar förhållandet mellan data i stora anslutna nätverk och möjliggör lagring, modellering och frågeställning av dessa nya datamängder och användningsfall. Vi kommer att beskriva sammanhanget och några av exemplen använder fall där en grafdatabas är mer lämpad än en relationsdatabas.
Vad är en grafdatabas
Grafdatabaser ger en relation-första metod för att lagra och fråga data. De lagrar data på ett logiskt sätt som representerar det verkliga nätverket och prioriterar representationer, upptäckbarhet och underhåll av dataförhållanden.
Grafdatabaser använder grafstrukturer för semantiska frågor med noder, så kallade toppar, kanter och egenskaper för att representera och lagra data.
- Vertex - representerar ett verkligt objekt som en film eller person.
- Kant - representerar en relation mellan två hörnpunkter.
- Egenskaper - liknar fält i en surfplatta men mer flexibel. Kan appliceras på en kant eller ett toppunkt.
Grafdatabaser kan frågas med graforienterade språk som sparkql, som är lämpliga för att uttrycka problem i stora grafdomäner.
Mest populära grafdatabaser
Det finns dussintals databaser med öppen källkod och kommersiell graf, men den mest populära grafdatabasen som för närvarande är tillgänglig är avgörande Neo4j, som är en grafisk databas med öppen källkod som beskrivs av dess utvecklare som en ACID-kompatibel transaktionsdatabas med inbyggd graflagring och bearbetning.
Andra populära grafdatabaser inkluderar OrientDB (ett öppen källkod NoSQL-databashanteringssystem skrivet i Java), ArangoDB (ett inbyggt multimodelldatabassystem utvecklat av triAGENS GmbH), MarkLogic (en databas med flera modeller designad för NoSQL-hastighet och skala) och AllegroGraph (en triplestore med sluten källa som är utformad för att lagra RDF-tripplar), för att bara nämna några.
Användningsfall för diagramdatabaser
Grafdatabaser är tillgängliga överallt där dataförhållanden är värdefulla i realtid:
- Sociala nätverk - Det kanske mest typiska användningsfallet för en grafdatabas är sociala nätverk med sina komplexa relationer och användaraktivitet.
- Spårning av bedrägerier - För att avslöja bedrägerier i realtid är snabb analys av dataförhållanden nödvändig, och grafdatabaser ger nödvändig prestanda.
- Kunskapsdiagram - Används av både sökmotorer och företag, samlar kunskapsdiagram information från en mängd olika källor, vilket möjliggör bättre digital tillgångshantering och enklare informationshämtning.
- IT-nätverksanalys - Hanteringen av nätverk och IT-infrastrukturer kretsar kring komplexa ömsesidiga beroenden, och diagramdatabaser är i sig mer lämpliga för detta användningsfall än relationsdatabaser.
- Rekommendationer - Företag kan använda diagramdatabaser för att driva sofistikerade rekommendationsmotorer för att anpassa produkter, innehåll och tjänster.
- Identitetshantering - Grafdatabaser möjliggör effektiv användaraktivitetsspårning och snabba auktorisationer och tillgångshantering.
Slutsats
Grafdatabaser löser dagens datautmaningar genom att inte bara fokusera på data utan också på kopplingarna mellan enskilda databasposter. De har många användningsfall och är tillgängliga både som community-driven mjukvaruprodukter och som kommersiell programvara med support av företagsklass.