64x64
Argjira Mala
27 Maj 2018 · 5 min lexim

Graph Databases : Neo4j

Graph Databases : Neo4j

Me rritjen e prodhimit të dhënave me anë të paisjeve të ndryshme elektronike dhe platformave komerciale (facebook, instagram, twitter, google etc) databazat relacionale (RDBMS) nuk janë më të pershtatshme për ruajtjen e dhënave shumë të lidhura mes vete.

Graph Databases(GDB) janë zgjidhja më e mirë për të dhënat që janë shumë të lidhura pasi që të lejojnë ti paraqesësh bashkëveprimet komplekse në mënyrë më natyrore.

 

 Historia Graph Databases



Çka janë Grafet?

Grafet janë nje grumbull i nyjeve të lidhura mes vete. Nyjet ose pikat lidhen së bashku nga vijat, secila pike paraqet informacion në graf ndersa vijat paraqesin lidhjet mes dy pikave apo nyjeve. Grafet mund të përdoren në shumë industri të ndryshme për të modeluar skenare të ndryshme nga ndërtimi i nje rakete hapsinore, deri ne modelimin e nje sistemi të rrugëve, në historinë Mjekësore për popullsine, dhe me gjerë.

 

 

Ky perqendrim i madh ne grafe ne 10 vjeçarin e fundit eshte nga sukseset e kompanive komerciale si facebook, twitter, google. Databazat Relacionale (RDBMS) nuk I permbushin me kerkesat e këtyre kompanive pasi që po prodhohen të dhëna në masa të medha përmes paisjeve elektronike që kanë zënë vend të jashtëzakonshëm në jetën tonë të përditshme.

 

Grafiku i Pronës ka karakteristikat e mëposhtme:

• Ka nyje dhe marrëdhënie

• Nyjet përmbajnë informacione më të detajuara

• Marrëdhëniet emërohen, drejtohen dhe gjithmonë kanë një nyje fillestare dhe fundore

• Marrëdhëniet gjithashtu mund të përmbajnë informacione më të detajuara


Shumica e njerëzve gjejnë modelin e Grafit të Pronës intuitive dhe të lehtë për t'u kuptuar.

 

 

NEO4J

Neo4j është graf databazë, që përshkruhet nga zhvilluesit e saj si një bazë të dhënash transaktive në perputhje me ACID, ruajtjen dhe përpunimin e të dhënave.

ACID (Atomicity, Consistency, Isolation, Durability) është pjesë shumë e rëndësishme e transaksioneve në databazë, arsyeja pse RDBMS kanë qenë për kaq shumë kohë më të përdorurat në industri.

 

Neo4j është zhvilluar me gjuhën programuese Java por ajo mundë të përdoret edhe me gjuhë të tjera duke përdorur Cypher Query Language permes transaksioneve HTTP si pika e fundit, ose përmes protokolit bolt.

Neo4j ka dy versione, Enterprise Edition i cili është me pages dhe Community Edition i cili është falas dhe open source.

 

Cypher Query Language

Cypher është një gjuhë njërzore e query-it për zhvilluesit dhe profesionistët e operacioneve të bazës së të dhënave. Nga njeriu nënkuptojmë një gjuhë që përputhet me atë se si ne i përshkruajmë intuitivisht grafet.

Cypher mundëson një përdorues (ose një aplikacion që vepron në emër të një përdoruesi) për të kërkuar bazën e të dhënave për të gjetur të dhëna që përputhen me një model. Me fjalë të tjera, ne themi që ne i kërkojmë bazës së të dhënave për të "gjetur gjëra të tilla si kjo" - dhe mënyra se si specifikojmë gjërat që duam të gjejmë në bazën e të dhënave është të nxjerrim një pamje të tyre, në artin ASCII.

 

Ashtu si shumica e gjuhëve për query, Cypher është i përbërë nga klauzola. Një query mjaft e thjeshtë është e përbërë nga klauzola START, MATCH dhe RETURN

 START: Specifikon një ose më shumë pika fillestare në grafik. Këto pika fillestare merren nëpërmjet lookups indeksit ose më rrallë, qasen direkt në bazë të ID elementeve.

MATCH: Kjo është specifikimi me anë të shembullit. Duke përdorur shkronjat ASCII për të përfaqësuar nyjet dhe marrëdhëniet (kllapat e rrumbullakëta për nyjet, pragjet, dhe më të mëdha se dhe më pak se shenjat për marrëdhëniet), ne nxjerrim të dhënat për të cilat jemi të interesuar.

RETURN: Specifikon cilat nyje, marrëdhënie dhe prona në të dhënat e përputhura duhet t'i kthehen klientit.

 

Shembull:

START bard=node:authors('firstname:"William" AND lastname:"Shakespeare"')

MATCH (bard)-[:WROTE]->(plays)

RETURN plays

 

Klauzolat e tjera që mund t'i përdorim në një pyetje Cypher përfshijnë:

• WHERE : Ofron kritere për filtrimin e pjesëve të një modeli.

• CREATE and CREATE UNIQUE: Krijon nyjet dhe marrëdhëniet.

• DELETE: Heq nyjet, marrëdhëniet dhe pronat.

• SET: Vendosni vlerat e pronës.

• FOREACH: Kryen një veprim përditësimi për çdo element në një listë.

• WITH: Ndan një pyetje në pjesë të shumta, të dallueshme.



Permbledhje

Secili projekt i ri i ka specifikat e tij dhe teknologjitë që përdoren duhet të zgjidhen me kujdes që të ofrojnë punë më sigurt dhe kualitative që projekti të jetë i suksesëshëm. Graf databazat sygjerohen të përdoren në rastet kur kemi shum të dhëna që lidhen mes vete ose në rastet kur kemi shum tabela të lidhura shumë-me-shumë mes vete ne skemat e krijuara në RDBMS.




Gjithashtu lexoni


0 komente