Dimittis relationis graphi DBMS EdgeDB 2.0

Dimissio EdgeDB 2.0 DBMS praesentatur, quae instrumenti graphi relationis exemplar notitiae et linguae interrogationis EdgeQL, optimized ad operandum notitia hierarchica multiplici. Codex in Pythone et Rust (parser et perficiendi-criticas partes) scriptus est et sub Apache 2.0 licentia distribuitur. Project est crescendo addendi ad PostgreSQL. Bibliothecae clientelae parantur Pythone, Go, Rust et TypeScript/Javascript. Instrumenta recta ad DBMS administratione et exsecutioni interrogationis interactive imperium praebet (REPL).

Instead of the table-funded information model, EdgeDB utitur systema declarativa secundum rationes obiecti. Loco clavium exterarum, relatio relationis inter genera definitur (unum obiectum ut proprietas alterius obiecti).

type Person {required property name -> str; } type Movie { required property title -> str; multi link histriones -> Person; }

Indices adhiberi possunt ad processum interrogationis accelerandum. Features ut validae possessiones typing, proprietas pretii restrictiones, possessiones computatae, et rationes conditae sustentantur. Lineamenta objecti EdgeDB schematis reponendi, quod ORM aliquantum simile est, includunt facultatem schemas miscendi, proprietates ex diversis obiectis nexus, et subsidium JSON integrandum.

Instrumenta instructa providentur ad schema migrationis recondendum - mutato schemate in separato esdl lima definito, mox "transmigrationis extremitas creo" mandatum et DBMS differentias in schemate resolvet et scripturam interactive generabit ad migrandum. schema novum. Schematis historia mutationes automatice pervestigata est.

Ad interrogationes generandas, tam GraphQL linguae interrogationis quam linguae proprietatis EdgeDB, quae accommodatio SQL ad notitias hierarchicas est, sustentantur. Loco electronicorum, interrogationes proventus in structuram redacti sunt, et pro subqueriis et JOINs, unam interrogationem EdgeQL exprimere potes sicut expressionem intra aliam interrogationem. Transactiones et cyclos confirmantur.

eligere cinematicam {titulum, actores: {nomen} } filter .title = "Matrix" inserta cinematographica { title := "Matrix Resurrectionum", actores := (select Persona filter .name in {'Keanu Reeves', 'Carrie- Anne Moss, 'Laurence Fishburne' } ) numero in {0, 1, 2, 3} unione (select {numerus, numerus + 0.5} );

In nova versione:

  • In interface telae aedificatae ad administrationem datorum additae sunt, permittens te inspicere et data recensere, EdgeQL queries currere et schema repositionis adhibitum resolvere. Instrumentum interface ab imperio "edgedb ui" immittitur, post quod praesto fit cum accessu locali.
    Dimittis relationis graphi DBMS EdgeDB 2.0
  • Expressio "GROUP" adactus est, permittens ut partitio data et aggregata data et coetus data utentibus sententiis arbitrariis EdgeQL, similibus adjunctio in operatione selecta.
  • Aditus ad imperium objecti elit. Accessus regulae in gradu schematis repono definiuntur et permittamus utendi facultatem utendi certo rerum ordine in operationibus arcessendis, delendis et renovandis. Exempli gratia, regulam addere potes quae auctor solum ad editionem renovandam permittit.
  • Facultatem adiecit variabilium globalium usus in schemate repositorio. Nova global variabilis current_user propositum est ligatura usoris.
  • Subsidiis additae pro speciebus quae iugis valorum definiunt.
  • Bibliotheca clientis officialis ad Rust linguam parata est.
  • Protocollum binarii EdgeDB stabilitum est, cum fieri potest ut plures sessiones diversae simul in eodem nexu network processuri, per HTTP transmittantur, utendo variabilium globalium et localium civitatum.
  • Addidit subsidium nervum activationis, quod permittit ut servo tracto in memoria tenere non sinat et currat tantum cum nexum instituere conatur (utilis ad opes salutaris in systematibus elit).

Source: opennet.ru