Rakirina grafiya pêwendiyê DBMS EdgeDB 2.0

Serbestberdana EdgeDB 2.0 DBMS tê pêşkêş kirin, ku modela daneya grafîkî ya têkildar û zimanê pirsê EdgeQL bicîh tîne, ku ji bo xebata bi daneyên hiyerarşîk ên tevlihev ve hatî xweşbîn kirin. Kod di Python û Rust (parser û beşên krîtîk ên performansê) de hatî nivîsandin û di bin lîsansa Apache 2.0 de tê belav kirin. Proje ji bo PostgreSQL wekî pêvekek tê pêşve xistin. Pirtûkxaneyên xerîdar ji bo Python, Go, Rust û TypeScript/Javascript têne amadekirin. Amûrên rêzika fermanê ji bo rêveberiya DBMS û darvekirina lêpirsîna înteraktîf (REPL) peyda dike.

Li şûna modela daneya-based sifrê, EdgeDB pergalek daxuyandî li ser bingeha celebên tiştan bikar tîne. Li şûna mifteyên biyanî, girêdana bi referansê tê bikar anîn da ku têkiliya di navbera celeban de diyar bike (yek tişt dikare wekî taybetmendiyek tiştek din were bikar anîn).

type Person { navê milkê pêwîst -> str; } type Movie { sernavê taybetmendiyê pêwîst -> str; aktorên pir girêdan -> Kes; }

Indeks dikarin werin bikar anîn da ku pêvajoya lêpirsînê bilez bikin. Taybetmendiyên wekî tîpkirina milkê bihêz, sînorkirinên nirxa xanî, taybetmendiyên hesabkirî, û prosedurên hilanîn jî têne piştgirî kirin. Taybetmendiyên nexşeya hilanînê ya EdgeDB, ku hinekî ORM-ê tîne bîra xwe, şiyana tevlihevkirina şemaman, girêdana taybetmendiyên ji tiştên cihêreng, û piştgiriya JSON ya yekbûyî heye.

Amûrên çêkirî ji bo hilanîna koçberiya şemayê têne peyda kirin - piştî guheztina şemaya ku di pelek esdl ya cihêreng de hatî destnîşan kirin, tenê fermana "çêkirina koçberiya edgedb" bixebitîne û DBMS dê cûdahiyên di şemayê de analîz bike û bi înteraktîf skrîptek ji bo koçkirina berbi şema nû. Dîroka guhertinên şemayê bixweber tê şopandin.

Ji bo afirandina pirsan, hem zimanê pirsa GraphQL û hem jî zimanê xwedan EdgeDB, ku ji bo daneyên hiyerarşîk veguheztina SQL-ê ye, têne piştgirî kirin. Li şûna navnîşan, encamên lêpirsînê bi rengek birêkûpêk têne form kirin, û li şûna pirs û JOIN-an, hûn dikarin pirsek EdgeQL wekî îfadeyek di nav pirsek din de destnîşan bikin. Danûstandin û çerx têne piştgirî kirin.

Hilbijêre Fîlm { sernav, lîstikvan: {nav } } filter .title = "The Matrix" insert Movie { title := "The Matrix Resurrections", lîstikvan := ( Parzûna Kesê hilbijêre .navê di { 'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne' } ) } ji bo hejmara di yekîtîya {0, 1, 2, 3} de ( {hejmar, hejmar + 0.5 } hilbijêre);

Di guhertoya nû de:

  • Ji bo rêveberiya databasê navgînek tevnvî ya çêkirî hate zêdekirin, ku dihêle hûn daneyan bibînin û biguherînin, pirsên EdgeQL bimeşînin û nexşeya hilanînê ya ku hatî bikar anîn analîz bikin. Têkilî ji hêla fermana "edgedb ui" ve tê destpêkirin, piştî wê dema ku gihîştina localhost peyda dibe.
    Rakirina grafiya pêwendiyê DBMS EdgeDB 2.0
  • Gotina "GROUP" hate bicîh kirin, ku dihêle hûn bi karanîna îfadeyên kêfî yên EdgeQL, mîna komkirina di operasyonek SELECT de, daneyan dabeş bikin û berhev bikin.
  • Kapasîteya kontrolkirina gihîştina di asta objektê de. Rêzikên gihîştinê di asta şemaya hilanînê de têne destnîşan kirin û dihêle hûn şiyana karanîna komek hin tiştan di karûbarên hilgirtin, danîn, jêbirin û nûvekirinê de sînordar bikin. Mînakî, hûn dikarin qaîdeyek zêde bikin ku destûrê dide tenê nivîskar ku weşanek nûve bike.
  • Kapasîteya karanîna guhêrbarên gerdûnî di nexşeya hilanînê de zêde kir. Guherbarek gerdûnî ya nû current_user hate pêşniyar kirin ku bi bikarhêner ve were girêdan.
  • Ji bo celebên ku rêzikên nirxan diyar dikin piştgirî zêde kir.
  • Ji bo zimanê Rust pirtûkxaneyeke fermî ya muwekîlê hatiye amadekirin.
  • Protokola binar ya EdgeDB hatiye stabîlkirin, ku gengaz dike ku meriv çend danişînên cihêreng bi hevdemî di nav heman girêdana torê de, şandina bi HTTP-ê, bi karanîna guhêrbarên gerdûnî û dewletên herêmî pêk bîne.
  • Piştgiriyek ji bo aktîvkirina soketê zêde kir, ku destûrê dide te ku hûn hilgirê serverê di bîranînê de nehêlin û wê tenê gava ku hûn hewl bidin ku pêwendiyek saz bikin (ji bo hilanîna çavkaniyan li ser pergalên pêşdebiran bikêr e).

Source: opennet.ru

Add a comment