• 12/02/2019
  • 5 minute de citit

In acest articol

SE APLICA: API Gremlin

Urmatorul document este conceput pentru a oferi recomandari de modelare a datelor grafice. Acest pas este vital pentru a asigura scalabilitatea si performanta unui sistem de baze de date grafic pe masura ce datele evolueaza. Un model de date eficient este deosebit de important cu graficele pe scara larga.

Cerinte

Procesul prezentat in acest ghid se bazeaza pe urmatoarele ipoteze:

  • In entitatile din problema spatiul sunt identificate. Aceste entitati sunt menite sa fie consumate atomic pentru fiecare cerere. Cu alte cuvinte, sistemul de baze de date nu este conceput pentru a prelua datele unei singure entitati in mai multe cereri de interogare.
  • Exista o intelegere a cerintelor de citire si scriere pentru sistemul de baze de date. Aceste cerinte vor ghida optimizarile necesare pentru modelul de date ale graficului.
  • Principiile standardului graficului de proprietati Apache Tinkerpop sunt bine intelese.

Cand am nevoie de o baza de date cu grafice?

O solutie de baza de date grafice poate fi aplicata in mod optim daca entitatile si relatiile dintr-un domeniu de date au oricare dintre urmatoarele caracteristici:

  • Entitatile sunt extrem de conectate prin relatii descriptive. Beneficiul acestui scenariu este faptul ca relatiile sunt persistente in stocare.
  • Exista relatii ciclice sau entitati auto-referentiate . Acest model este adesea o provocare atunci cand se utilizeaza baze de date relationale sau de documente.
  • Exista relatii in evolutie dinamica intre entitati. Acest model este aplicabil in special datelor ierarhice sau structurate in arbori cu mai multe niveluri.
  • Exista numeroase relatii intre entitati.
  • Exista cerinte de scriere si citire atat pentru entitati, cat si pentru relatii .

Daca criteriile de mai sus sunt indeplinite, este probabil ca o abordare a bazei de date grafice sa ofere avantaje pentru complexitatea interogarii , scalabilitatea modelului de date si performanta interogarii .

Urmatorul pas este de a determina daca graficul va fi utilizat in scopuri analitice sau tranzactionale. Daca graficul este destinat sa fie utilizat pentru calcule grele si sarcini de lucru pentru prelucrarea datelor, ar merita sa explorati conectorul Cosmos DB Spark si utilizarea bibliotecii GraphX.

Cum se utilizeaza obiecte grafice

Standardul graficului de proprietati Apache Tinkerpop defineste doua tipuri de obiecte Vertices si Edges .

Urmatoarele sunt cele mai bune practici pentru proprietatile din obiectele grafice:

Obiect Tip proprietate Note Vertex ID Sir Aplicat in mod unic pe partitie. Daca o valoare nu este furnizata la inserare, va fi stocat un GUID generat automat. Eticheta vertex String Aceasta proprietate este utilizata pentru a defini tipul de entitate pe care il reprezinta varful. Daca o valoare nu este furnizata, va fi utilizata o valoare implicita „vertex”. Proprietati de varf Sir, Boolean, Numeric O lista de proprietati separate stocate ca perechi cheie-valoare in fiecare varf. Tasta de partitie vertex String, Boolean, Numeric Aceasta proprietate defineste unde vor fi stocate varful si marginile sale de iesire. Cititi mai multe despre partitionarea graficului. Sir de ID margine Aplicat in mod unic pe partitie. Generat automat in mod implicit. De obicei, marginile nu au nevoie sa fie recuperate in mod unic de un ID. Eticheta de margine Sir Aceasta proprietate este utilizata pentru a defini tipul de relatie pe care il au doua varfuri. Proprietati de margine Sir, Boolean, Numeric O lista de proprietati separate stocate ca perechi cheie-valoare in fiecare margine.

Nota

Marginile nu necesita o valoare a cheii de partitie, deoarece valoarea sa este atribuita automat pe baza varfului sursa. Aflati mai multe in articolul de partitionare a graficului.

Linii directoare de modelare a entitatilor si relatiilor

Urmatoarele sunt un set de linii directoare pentru abordarea modelarii datelor pentru o baza de date grafica API Azure Cosmos DB Gremlin. Aceste linii directoare presupun ca exista o definitie existenta a unui domeniu de date si interogari pentru acesta.

Nota

Pasii descrisi mai jos sunt prezentati ca recomandari. Modelul final ar trebui evaluat si testat inainte de a fi considerat pregatit pentru productie. In plus, recomandarile de mai jos sunt specifice implementarii API Gremlin a Azure Cosmos DB.

Modelarea varfurilor si a proprietatilor

Primul pas pentru un model de date grafice este sa mapezi fiecare entitate identificata la un obiect de varf . O mapare unu la unu a tuturor entitatilor la varfuri ar trebui sa fie un pas initial si sa poata fi modificat.

O capcana comuna este cartografierea proprietatilor unei singure entitati ca varfuri separate. Luati in considerare exemplul de mai jos, unde aceeasi entitate este reprezentata in doua moduri diferite:

  • Proprietati bazate pe varf : in aceasta abordare, entitatea utilizeaza trei varfuri separate si doua margini pentru a-si descrie proprietatile. Desi aceasta abordare ar putea reduce redundanta, aceasta creste complexitatea modelului. O crestere a complexitatii modelului poate duce la o latenta suplimentara, la complexitatea interogarilor si la costul de calcul. Acest model poate prezenta, de asemenea, provocari in partitionare.
  • Varfuri incorporate in proprietati : aceasta abordare profita de lista perechilor cheie-valoare pentru a reprezenta toate proprietatile entitatii din interiorul unui varf. Aceasta abordare ofera o complexitate redusa a modelului, ceea ce va duce la interogari mai simple si la traversari mai rentabile.

Nota

Exemplele de mai sus arata un model de grafic simplificat pentru a arata doar comparatia dintre cele doua modalitati de divizare a proprietatilor entitatii.

Modelul varfurilor incorporate in proprietate ofera in general o abordare mai performanta si scalabila. Abordarea implicita a unui nou model de date grafice ar trebui sa graviteze catre acest tipar.

Cu toate acestea, exista scenarii in care trimiterea la o proprietate ar putea oferi avantaje. De exemplu: daca proprietatea la care se face referire este actualizata frecvent. Folosirea unui varf separat pentru a reprezenta o proprietate care este modificata in mod constant ar minimiza cantitatea de operatii de scriere pe care ar necesita-o actualizarea.

Modelarea relatiilor cu directii de margine

Dupa modelarea varfurilor, marginile pot fi adaugate pentru a indica relatiile dintre ele. Primul aspect care trebuie evaluat este directia relatiei .

Obiectele de margine au o directie implicita care este urmata de o traversare atunci cand se utilizeaza functia out () sau outE (). Utilizarea acestei directii naturale are ca rezultat o operatie eficienta, deoarece toate varfurile sunt stocate cu marginile lor de iesire.

Cu toate acestea, parcurgerea in directia opusa a unei margini, folosind functia in (), va duce intotdeauna la o interogare de partitie incrucisata. Aflati mai multe despre partitionarea graficului. Daca este nevoie sa traversati in mod constant folosind functia in (), este recomandat sa adaugati margini in ambele directii.

Puteti determina directia muchiei utilizand predicatele .to () sau .from () la pasul .addE () Gremlin. Sau folosind biblioteca executorului in bloc pentru API-ul Gremlin.

Nota

Obiectele Edge au o directie in mod implicit.

Etichetarea relatiilor

Utilizarea etichetelor de relatii descriptive poate imbunatati eficienta operatiunilor de rezolutie a muchiilor. Acest model poate fi aplicat in urmatoarele moduri:

  • Folositi termeni non-generici pentru a eticheta o relatie.
  • Asociati eticheta varfului sursa la eticheta varfului tinta cu numele relatiei.

Cu cat este mai specifica eticheta pe care traversatorul o va folosi pentru a filtra marginile, cu atat mai bine. Aceasta decizie poate avea un impact semnificativ si asupra costului interogarii. Puteti evalua costul interogarii in orice moment folosind pasul de executareProfil.

Pasii urmatori:

  • Consultati lista pasilor Gremlin acceptati.
  • Aflati despre partitionarea bazei de date grafice pentru a face fata graficelor la scara larga.
  • Evalueaza-ti interogarile Gremlin folosind pasul Profil de executie.

cento x cento trans laura rey porn
video nappi valentina laura rey porno
film porno di salieri laura rey pornostar
max felicitas porno video laura rey xxx
sukki malena layla porn
valentina nappi ambulanza layla porno
centoxcento download le maison de l’amour
sara terry centoxcento le mani dentro spoleto
angeli e demoni streaming hd le solite ignote
malen porno leccare cazzi
alex magni iafd lena centoxcento
doppia in culo lesbian italian porn
gucci xxx lina scotti 100×100
genova porn lina scotti porno
roxana ardi porno lingua porn
porno culo nero lisa amane hard
betty foxxx porn lisa dagli occhi blu centoxcento
valentina nappi xxx video lisa dagli occhi blu film completo
yuo porno gratis italiano lisa occhi blu
xxx zoccole lisa pornostar