Unitatea de baza a datelor grafice Amazon Neptun este un element cu patru pozitii (quad), care este similar cu un quad Resource Description Framework (RDF). Urmatoarele sunt cele patru pozitii ale unui quad Neptun:

  • subiect (S)

  • predicat (P)

  • obiect (O)

  • grafic (G)

Fiecare quad este o afirmatie care face o afirmatie despre una sau mai multe resurse. O declaratie poate afirma existenta unei relatii intre doua resurse sau poate atasa o proprietate (pereche cheie-valoare) la o resursa. Va puteti gandi la valoarea predicatului quad in general ca la verbul enuntului. Descrie tipul de relatie sau proprietate care este definita. Obiectul este tinta relatiei sau valoarea proprietatii. Urmatoarele sunt exemple:

  • O relatie intre doua varfuri poate fi reprezentata prin stocarea identificatorului varfului sursa in pozitia S, a identificatorului varfului tinta in pozitia O si a etichetei de margine in pozitia P.

  • O proprietate poate fi reprezentata prin stocarea identificatorului elementului in pozitia S, cheia proprietatii in pozitia P si valoarea proprietatii in pozitia O.

Pozitia graficului G este utilizata diferit in diferite stive. Pentru datele RDF din Neptun, pozitia G contine un identificator de grafic numit. Pentru graficele de proprietati din Gremlin, este utilizat pentru a stoca valoarea ID-ului de margine in cazul unei margini. In toate celelalte cazuri, valoarea implicita este o valoare fixa.

Valorile orientate catre utilizator intr-o instructiune quad sunt de obicei stocate separat intr-un index de dictionar, unde indexurile de instructiuni le refera folosind un identificator pe termen lung de 8 octeti. Exceptia de la aceasta o reprezinta valorile numerice, inclusiv valorile datei si datelor (reprezentate ca milisecunde din epoca). Acestea pot fi stocate in linie direct in indexurile declaratiei.

Un set de instructiuni quad cu identificatori de resurse partajate creeaza un grafic.

Cum sunt indexate declaratiile in Neptun

Cand interogati un grafic de quad-uri, pentru fiecare pozitie quad, puteti specifica fie o constrangere de valoare, fie nu. Interogarea returneaza toate quad-urile care se potrivesc cu constrangerile de valoare pe care le-ati specificat.

Neptun foloseste indexuri pentru a rezolva interogari. In lucrarea din 2005, Structuri indexate optimizate pentru interogarea RDF de pe web , Andreas Harth si Stefan Decker au observat ca exista 16 (24) modele de acces posibile pentru cele patru pozitii quad. Puteti interoga toate cele 16 modele in mod eficient, fara a fi nevoie sa scanati si sa filtrati utilizand sase indici de instructiuni quad. Fiecare index de instructiuni quad foloseste o cheie care este compusa din cele patru valori de pozitie concatenate intr-o ordine diferita.

Comanda cheie index tipar de acces ——————————————— ——- ————— 1. ???? (Fara constrangeri; returneaza fiecare quad) SPOG 2. SPOG (Fiecare pozitie este constransa) SPOG 3. SPO? (S, P si O sunt constranse; G nu este) SPOG 4. SP ?? (S si P sunt constranse; O si G nu sunt) SPOG 5. S ??? (S este constrans; P, O si G nu sunt) SPOG 6.

mia kalifa fire force hentai
me follo a mi madre porno abuelas españolas
edurne follando violadas xxx
vidios xxx trio con gordas
tata_latina tetas amateur
michelle jenner desnuda tios desnudos
nenas peludas maduras españolas amateur
video sexo gratis xxx gratis en español
follate a mi novia se follan a su mujer
mujeres maduras corriendose abuelas tragando leche
scat porno lesbianas cagando
videos porno xxx incesto culos gordos
anita teen pillada por torbe tetona amateur
follando cincuentonas zoofila
lesbianas preciosas supertetas
viejas masturvandose madura se corre
descargar peliculas porno completas videos mamadas
xxx torrent magnet porno tens
videos prono videos porno violada
porno online gratis corrida en el culo

? POG (P, O si G sunt constransi; S nu este) POGS 7.? PO? (P si O sunt constranse; S si G nu sunt) POGS 8.? P ?? (P este constrans; S, O si G nu sunt) POGS 9.? P? G (P si G sunt constransi; S si O nu sunt) GPSO 10. SP? G (S, P si G sunt constransi; O nu este) GSPO 11. S ?? G (S si G sunt constransi; P si O nu sunt) GSPO 12. ??? G (G este constrans; S, P si O nu sunt) GSPO 13. S? OG (S, O si G sunt constransi; P nu este) OGSP 14. ?? OG (O si G sunt constransi; S si P nu sunt) OGSP 15. ?? O? (O este constrans; S, P si G nu sunt) OGSP 16. S? O? (S si O sunt constranse; P si G nu sunt) OSGP

Neptun creeaza si mentine doar trei din acesti sase indici in mod implicit:

  • SPOG – Foloseste o cheie compusa din Subiect + Predicat + Obiect + Grafic.

  • POGS – Foloseste o cheie compusa din Predicat + Obiect + Grafic + Subiect.

  • GPSO – Foloseste o cheie compusa din Grafic + Predicat + Subiect + Obiect.

Acesti trei indici gestioneaza multe dintre cele mai comune modele de acces. Mentinerea doar a trei indexuri de instructiuni complete in loc de sase reduce considerabil resursele de care aveti nevoie pentru a sprijini accesul rapid fara scanare si filtrare. De exemplu, indexul SPOG permite cautarea eficienta ori de cate ori este legat un prefix al pozitiilor, cum ar fi varful sau varful si identificatorul proprietatii. Indicele POGS permite accesul eficient atunci cand numai marginea sau eticheta de proprietate stocata in pozitia P este legata.

API-ul de nivel scazut pentru gasirea instructiunilor are un model de instructiuni in care sunt cunoscute unele pozitii, iar restul sunt lasate pentru descoperire prin cautarea indexului. Prin compunerea pozitiilor cunoscute intr-un prefix cheie in conformitate cu ordinea cheii index pentru unul dintre indicii instructiunilor, Neptun efectueaza o scanare a intervalului pentru a extrage toate instructiunile care se potrivesc cu pozitiile cunoscute.

Cu toate acestea, unul dintre indexurile de declaratii pe care Neptun nu le creeaza in mod implicit este un index OSGP de traversare inversa, care poate aduna predicate intre obiecte si subiecti. In schimb, Neptun urmareste in mod implicit predicate distincte intr-un index separat pe care il foloseste pentru a face o scanare de uniune a {all P x POGS}. Cand lucrati cu Gremlin, un predicat corespunde unei proprietati sau unei etichete de margine.

Daca numarul de predicate distincte dintr-un grafic devine mare, strategia implicita de acces la Neptun poate deveni ineficienta. In Gremlin, de exemplu, un pas in () in care nu sunt date etichete de margine sau orice pas care foloseste in () intern, precum ambele () sau drop (), poate deveni destul de ineficient.

Activarea crearii indexului OSGP utilizand modul Lab

Daca modelul dvs. de date creeaza un numar mare de predicate distincte, este posibil sa experimentati performante reduse si costuri operationale mai mari, care pot fi imbunatatite dramatic utilizand modul Lab pentru a activa indexul OSPG in plus fata de cei trei indici pe care Neptun ii mentine in mod implicit.

Nota

Aceasta caracteristica este disponibila incepand cu lansarea motorului Neptun 1.0.1.0.200463.0.

Activarea indexului OSPG poate avea cateva aspecte negative:

  • Rata de inserare poate incetini cu pana la 23%.

  • Stocarea creste cu pana la 20%.

  • Cititi interogarile care ating toate indici in mod egal (ceea ce este destul de rar) poate avea latente crescute.

Cu toate acestea, in general, merita activat indexul OSGP pentru clusterele DB cu un numar mare de predicate distincte. Cautarile bazate pe obiecte devin extrem de eficiente (de exemplu, gasirea tuturor marginilor primite la un varf sau la toti subiectii conectati la un anumit obiect) si, ca urmare, caderea varfurilor devine si mai eficienta.

Important

Puteti activa indexul OSGP doar intr-un cluster DB gol, inainte de a incarca date in el.

Afirmatii Gremlin in modelul de date Neptun

Datele graficului proprietatii Gremlin sunt exprimate in modelul SPOG utilizand trei clase de afirmatii, si anume:

  • Declaratii de eticheta Vertex

  • Declaratii Edge

  • Declaratii de proprietate

Pentru o explicatie a modului in care acestea sunt utilizate in interogarile Gremlin, consultati Intelegerea modului in care functioneaza interogarile Gremlin in Neptun.