release av öppen databas , avsedd för effektiv lagring av stora mÀngder relaterad data som bildar en graf som kan bestÄ av miljarder noder och biljoner kopplingar. Projektet Àr skrivet i C++ och licensierad under Apache 2.0. Klientbiblioteken för att interagera med databasen Àr förberedda för sprÄk som Go, Python och Java. Det vÀxande databassstartupföretaget VESoft fick för nÄgra dagar sedan den första omgÄngen investeringar pÄ 8 miljoner dollar.
Databasen har en distribuerad arkitektur utan resursdelning (shared-nothing), vilket innebÀr att oberoende och sjÀlvförsörjande processer för att bearbeta förfrÄgningar (graphd) och lagra data (storaged) kan köras. Orkestreringen av datarörelser och tillhandahÄllandet av metadata om grafen hanteras av en metatjÀnst. För att sÀkerstÀlla datakonsistens anvÀnds en protokoll baserat pÄ algoritmen .
Huvudfunktioner i Nebula Graph:
- Att sÀkerstÀlla genom att ge Ätkomst endast till autentiserade anvÀndare, vars behörigheter definieras genom ett rollbaserat Ätkomstkontrollsystem (RBAC).
- att ansluta olika typer av lagringsmotorer. Stöd för att utöka frÄgesprÄk med nya algoritmer.
- Att sÀkerstÀlla minimala fördröjningar vid lÀsning eller skrivning av data och upprÀtthÄlla hög bandbredd. Vid en kluster med en nod av graphd och tre noder av storaged dÀr databasen Àr 632 GB stor, inklusive en graf med 1,2 miljarder noder och 8,4 miljarder kanter, var fördröjningarna pÄ nivÄn av nÄgra millisekunder och bandbredden nÄdde upp till 140 000 förfrÄgningar per sekund.
- Imponerande linjÀr skalbarhet.
- SQL-liknande frÄgesprÄk som Àr tillrÀckligt kraftfullt och lÀtt att förstÄ. Stöder operationer som GO (tvÄvÀgs traversering av grafens noder), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (anvÀndning av resultatet frÄn föregÄende frÄga). Index och anvÀndardefinierade variabler stöds.
- SÀkerstÀllande av hög tillgÀnglighet och motstÄndskraft mot fel.
- Stöd för att skapa snapshots av databasens tillstÄnd för att underlÀtta sÀkerhetskopiering.
- Redo för industriell anvÀndning (redan i bruk i infrastrukturen hos företag som JD, Meituan och Xiaohongshu).
- Möjlighet att Àndra lagringsschemat och uppdatera data utan att stoppa eller pÄverka pÄgÄende operationer.
- TTL-stöd för att begrÀnsa livslÀngden pÄ data.
- Kommandon för att hantera lagringsinstÀllningar och vÀrdar.
- Verktyg för att hantera jobb och schemalÀggning av jobb (för tillfÀllet stöds JOBB-TYPERNA COMPACT och FLUSH).
- Operationer för att söka efter den fullstÀndiga vÀgen och kortaste vÀgen mellan angivna noder.
- OLAP-grÀnssnitt för integration med tredjepartsanalysplattformar.
- Verktyg för att importera data frÄn CSV-filer eller frÄn Spark.
- Exportera mÀtvÀrden för övervakning med hjÀlp av Prometheus och Grafana.
- WebbgrÀnssnitt
för visualisering av operationer med grafen, navigering i grafen, design av lagringsschema och dataladdning.
KĂ€lla: opennet.ru
