Itusilẹ ti aworan ibatan DBMS EdgeDB 2.0

Itusilẹ ti EdgeDB 2.0 DBMS ni a gbekalẹ, eyiti o ṣe imuse awoṣe data ayaworan ibatan ati ede ibeere EdgeQL, iṣapeye fun ṣiṣẹ pẹlu data iṣagbesori eka. Awọn koodu ti wa ni kikọ ni Python ati Rust (parser ati iṣẹ-lominu ni awọn ẹya ara) ati ti wa ni pin labẹ awọn Apache 2.0 iwe-ašẹ. Ise agbese na ni idagbasoke bi afikun fun PostgreSQL. Awọn ile-ikawe alabara ti pese sile fun Python, Go, Rust ati TypeScript/Javascript. Pese awọn irinṣẹ laini aṣẹ fun iṣakoso DBMS ati ipaniyan ibeere ibaraenisepo (REPL).

Dipo awoṣe data ti o da lori tabili, EdgeDB nlo eto asọye ti o da lori awọn iru nkan. Dipo awọn bọtini ajeji, sisopọ nipasẹ itọkasi ni a lo lati ṣalaye ibatan laarin awọn oriṣi (ohun kan le ṣee lo bi ohun-ini ti ohun miiran).

Iru Eniyan {orukọ ohun-ini ti a beere -> str; } Iru fiimu {akọle ohun-ini nilo -> str; awọn oṣere ọna asopọ pupọ -> Eniyan; }

Awọn atọka le ṣee lo lati yara sisẹ ibeere. Awọn ẹya bii titẹ ohun-ini to lagbara, awọn ihamọ iye ohun-ini, awọn ohun-ini iṣiro, ati awọn ilana ti o fipamọ tun jẹ atilẹyin. Awọn ẹya ti ero ibi ipamọ ohun elo EdgeDB, eyiti o jẹ iranti diẹ ti ORM kan, pẹlu agbara lati dapọ awọn igbero, awọn ohun-ini ọna asopọ lati awọn nkan oriṣiriṣi, ati atilẹyin JSON ti a ṣepọ.

Awọn irinṣẹ ti a ṣe sinu ti pese fun titoju ijira ero - lẹhin iyipada ero ti a sọ pato ninu faili esdl lọtọ, kan ṣiṣẹ aṣẹ “iṣiwa edgedb ṣẹda” ati DBMS yoo ṣe itupalẹ awọn iyatọ ninu ero naa ati ni ibaraenisepo ṣe agbekalẹ iwe afọwọkọ kan fun gbigbe si titun eto. Itan-akọọlẹ ti awọn ayipada ero jẹ tọpinpin laifọwọyi.

Lati ṣe awọn ibeere, mejeeji ede ibeere GraphQL ati ede EdgeDB ohun-ini, eyiti o jẹ aṣamubadọgba ti SQL fun data akosoagbasomode, ni atilẹyin. Dipo awọn atokọ, awọn abajade ibeere ti wa ni ọna kika, ati dipo awọn ibeere abẹlẹ ati JOIN, o le pato ibeere EdgeQL kan gẹgẹbi ikosile laarin ibeere miiran. Awọn iṣowo ati awọn iyipo ni atilẹyin.

yan Fiimu {akọle, awọn oṣere: {orukọ } } filter .title = "Matrix" fi Fiimu sii {akọle := "Awọn Ajinde Matrix", awọn oṣere := (yan Ajọ Eniyan .name ni {'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne'} )} fun nọmba ninu {0, 1, 2, 3} ẹgbẹ (yan {nọmba, nọmba + 0.5});

Ninu ẹya tuntun:

  • Ni wiwo oju opo wẹẹbu ti a ṣe sinu rẹ ti ṣafikun fun iṣakoso data data, gbigba ọ laaye lati wo ati ṣatunkọ data, ṣiṣe awọn ibeere EdgeQL ati ṣe itupalẹ ero ibi ipamọ ti a lo. Ti ṣe ifilọlẹ wiwo naa nipasẹ aṣẹ “edgedb ui”, lẹhin eyi o wa nigbati o wọle si localhost.
    Itusilẹ ti aworan ibatan DBMS EdgeDB 2.0
  • Ọrọ ikosile “GROUP” ti ni imuse, gbigba ọ laaye lati pin ati ṣajọpọ data ati data ẹgbẹ nipa lilo awọn ikosile EdgeQL lainidii, ti o jọra si ṣiṣe akojọpọ ni iṣẹ yiyan.
  • Agbara lati ṣakoso wiwọle ni ipele ohun. Awọn ofin wiwọle jẹ asọye ni ipele ero ibi ipamọ ati gba ọ laaye lati fi opin si agbara lati lo eto awọn nkan kan ni gbigbe, fi sii, paarẹ, ati awọn iṣẹ ṣiṣe imudojuiwọn. Fun apẹẹrẹ, o le ṣafikun ofin kan ti o fun laaye onkọwe nikan lati ṣe imudojuiwọn atẹjade kan.
  • Ṣe afikun agbara lati lo awọn oniyipada agbaye ni ero ibi ipamọ. Olumulo oniyipada agbaye tuntun ti ni imọran lati so mọ olumulo naa.
  • Atilẹyin ti a ṣafikun fun awọn oriṣi ti o ṣalaye awọn sakani ti awọn iye.
  • Ile-ikawe alabara ti oṣiṣẹ fun ede ipata ti pese.
  • Ilana alakomeji EdgeDB ti ni imuduro, ti o jẹ ki o ṣee ṣe lati ṣe ilana ọpọlọpọ awọn akoko oriṣiriṣi nigbakanna laarin asopọ nẹtiwọọki kanna, fifiranṣẹ nipasẹ HTTP, lilo awọn oniyipada agbaye ati awọn ipinlẹ agbegbe.
  • Atilẹyin ti a ṣafikun fun imuṣiṣẹ iho, eyiti o fun ọ laaye lati ma tọju olutọju olupin ni iranti ati ṣiṣẹ nikan nigbati o n gbiyanju lati fi idi asopọ kan mulẹ (wulo fun fifipamọ awọn orisun lori awọn eto idagbasoke).

orisun: opennet.ru

Fi ọrọìwòye kun