Traditionelle databaser er relationsdatabaser, der gemmer data i rækker og kolonner og understreger muligheden for at denormalisere dataene og forbinde dem med primære og udenlandske nøgler. Dette er velegnet til traditionelle brugssager som en kunde- og ordredatabase til at gemme og spore dine kunder, lagerbeholdningen, produkterne og de varer, kunden har købt.
Grafdatabaser løser et andet problem, de understreger forholdet mellem dataene i store tilsluttede netværk og giver mulighed for lagring, modellering og forespørgsel af disse nye datasæt og brugssager. Vi vil beskrive konteksten og nogle af eksemplerne bruger tilfælde, hvor en grafdatabase er mere egnet end en relationsdatabase.
Hvad er en grafdatabase
Grafdatabaser giver en relation-første tilgang til lagring og forespørgsel om data. De gemmer data på en logisk måde, der repræsenterer det virkelige netværk og prioriterer repræsentationer, opdagelsesevne og vedligeholdelse af dataforhold.
Grafdatabaser bruger grafstrukturer til semantiske forespørgsler med noder, kaldet hjørner, kanter og egenskaber til at repræsentere og gemme data.
- Hvirvel - repræsenterer et objekt i den virkelige verden, såsom en film eller person.
- Edge - repræsenterer et forhold mellem to hjørner.
- Ejendomme - svarer til felter i en tablet, men mere fleksibel. Kan påføres på en kant eller et toppunkt.
Grafdatabaser kan forespørges ved hjælp af graforienterede sprog som sparkql, som er velegnede til at udtrykke problemer i store grafdomæner.
Mest populære grafdatabaser
Der er snesevis af open source og kommercielle grafdatabaser, men den mest populære grafdatabase, der i øjeblikket er tilgængelig, er afgørende Neo4j, som er en open source-grafdatabase, der er beskrevet af dens udviklere som en ACID-kompatibel transaktionsdatabase med indbygget graflagring og -behandling.
Andre populære grafdatabaser inkluderer OrientDB (et open source NoSQL database management system skrevet i Java), ArangoDB (et native multi-model database system udviklet af triAGENS GmbH), MarkLogic (en multi-model database designet til NoSQL hastighed og skala) og AllegroGraph (en triplestore med lukket kilde, der er designet til at gemme RDF-tredobler), bare for at nævne nogle få.
Grafdatabaseanvendelsestilfælde
Grafdatabaser kan anvendes overalt, hvor dataforhold er værdifulde i realtid:
- Sociale netværk - Det mest typiske brugstilfælde for en grafdatabase er måske sociale netværk med deres komplekse forhold og brugeraktivitet.
- Bedrageri - For at afdække svindel i realtid er hurtig analyse af dataforhold afgørende, og grafdatabaser giver den nødvendige ydeevne.
- Videngrafer - Brugt af søgemaskiner og virksomheder, indsamler videngrafer information fra en lang række kilder, hvilket giver bedre digital aktivstyring og lettere hentning af information.
- IT-netværksanalyse - Forvaltningen af netværk og it-infrastrukturer drejer sig om komplekse indbyrdes afhængigheder, og grafdatabaser er i sagens natur mere egnede til denne brugssag end relationsdatabaser.
- Anbefalinger - Virksomheder kan bruge grafdatabaser til at drive sofistikerede anbefalingsmotorer til at personalisere produkter, indhold og tjenester.
- Identitetsstyring - Grafdatabaser muliggør effektiv brugeraktivitetssporing og hurtig godkendelse og aktivstyring.
Konklusion
Grafdatabaser løser nutidens dataudfordringer ved ikke kun at fokusere på data, men også på forbindelserne mellem individuelle databaseindgange. De har adskillige brugssager og er tilgængelige både som community-drevne softwareprodukter og som kommerciel software med enterprise-grade support.