Hoʻokuʻu ʻia ka pakuhi pili DBMS EdgeDB 2.0

Hōʻike ʻia ka hoʻokuʻu ʻana o ka EdgeDB 2.0 DBMS, kahi e hoʻokō ai i ke kumu hoʻohālike pili pili a me ka ʻōlelo nīnau EdgeQL, i hoʻopaʻa ʻia no ka hana ʻana me ka ʻikepili hierarchical paʻakikī. Ua kākau ʻia ke code ma Python a me Rust (parser and performance-critical parts) a māhele ʻia ma lalo o ka laikini Apache 2.0. Ke kūkulu ʻia nei ka papahana ma ke ʻano he mea hoʻohui no PostgreSQL. Hoʻomākaukau ʻia nā hale waihona puke no Python, Go, Rust a me TypeScript/Javascript. Hāʻawi i nā mea hana laina kauoha no ka hoʻokele DBMS a me ka hoʻokō nīnau nīnau (REPL).

Ma kahi o kahi hoʻohālike ʻikepili ma ka papaʻaina, hoʻohana ʻo EdgeDB i kahi ʻōnaehana declarative e pili ana i nā ʻano mea. Ma kahi o nā kī haole, hoʻohana ʻia ka hoʻopili ʻana ma ke kuhikuhi e wehewehe i ka pilina ma waena o nā ʻano (hiki ke hoʻohana ʻia kekahi mea i waiwai o kekahi mea ʻē aʻe).

ʻano kanaka { inoa waiwai makemake -> str; } type Kiʻiʻoniʻoni { i makemake ʻia ka inoa waiwai -> str; mau mea hoʻokani pila -> Kanaka; }

Hiki ke hoʻohana ʻia nā index no ka hoʻokē ʻai ʻana i nā nīnau. Kākoʻo ʻia nā hiʻohiʻona e like me ka paʻi ʻana i ka waiwai ikaika, ka palena o ka waiwai, nā waiwai i helu ʻia, a me nā kaʻina hana mālama ʻia. ʻO nā hiʻohiʻona o ka papahana mālama mea EdgeDB, kahi mea i hoʻomanaʻo ʻia i kahi ORM, e komo i ka hiki ke hoʻohui i nā schema, loulou i nā waiwai mai nā mea like ʻole, a me ke kākoʻo JSON hoʻohui.

Hāʻawi ʻia nā mea hana i kūkulu ʻia no ka mālama ʻana i ka neʻe ʻana o ka schema - ma hope o ka hoʻololi ʻana i ka schema i hōʻike ʻia ma kahi faila esdl kaʻawale, e holo wale i ke kauoha "edgedb migration create" a na ka DBMS e kālailai i nā ʻokoʻa o ka schema a hoʻohua i kahi palapala no ka neʻe ʻana i ka hoʻolālā hou. ʻIke ʻakomi ʻia ka mōʻaukala o nā hoʻololi schema.

No ka hana ʻana i nā nīnau, kākoʻo ʻia ka ʻōlelo nīnau GraphQL a me ka ʻōlelo EdgeDB proprietary, kahi hoʻololi o SQL no ka ʻikepili hierarchical. Ma kahi o nā papa inoa, ua hoʻohālikelike ʻia nā hopena nīnau ma ke ʻano i hoʻonohonoho ʻia, a ma kahi o nā subqueries a me JOINs, hiki iā ʻoe ke kuhikuhi i hoʻokahi nīnau EdgeQL ma ke ʻano he ʻōlelo i loko o kahi nīnau ʻē aʻe. Kākoʻo ʻia nā hana a me nā pōʻai.

koho Kiʻiʻoniʻoni { title, nā mea hana keaka: { inoa } } kānana .title = "The Matrix" hoʻokomo Movie { title := "The Matrix Resurrections", nā mea hana keaka := ( koho kanaka kānana .inoa ma { 'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne' } ) } no ka helu ma {0, 1, 2, 3} union (koho {helu, helu + 0.5});

Ma ka mana hou:

  • Ua hoʻohui ʻia kahi kikowaena pūnaewele i kūkulu ʻia no ka hoʻokele ʻikepili, e ʻae iā ʻoe e nānā a hoʻoponopono i ka ʻikepili, holo i nā nīnau EdgeQL a hoʻopaʻa i ka hoʻolālā mālama i hoʻohana ʻia. Hoʻomaka ʻia ka interface e ke kauoha "edgedb ui", a laila e loaʻa i ka wā e komo ai i ka localhost.
    Hoʻokuʻu ʻia ka pakuhi pili DBMS EdgeDB 2.0
  • Ua hoʻokō ʻia ka ʻōlelo "GROUP", e ʻae iā ʻoe e hoʻokaʻawale a hōʻuluʻulu i ka ʻikepili a me ka ʻikepili pūʻulu me ka hoʻohana ʻana i nā ʻōlelo EdgeQL arbitrary, e like me ka hui ʻana i kahi hana SELECT.
  • Hiki ke hoʻomalu i ke komo ma ka pae mea. Ua wehewehe ʻia nā lula komo ma ka pae schema storage a hiki iā ʻoe ke kaupalena i ka hiki ke hoʻohana i kekahi pūʻulu o nā mea i ke kiʻi, hoʻokomo, holoi a hoʻohou i nā hana. No ka laʻana, hiki iā ʻoe ke hoʻohui i kahi lula e hiki ai i ka mea kākau ke hoʻohou i kahi paʻi.
  • Hoʻohui i ka hiki ke hoʻohana i nā ʻano hoʻololi honua i ka papahana mālama. Ua manaʻo ʻia kahi hoʻololi honua hou current_user e hoʻopaʻa i ka mea hoʻohana.
  • Kākoʻo hoʻohui ʻia no nā ʻano e wehewehe ana i nā pae waiwai.
  • Ua hoʻomākaukau ʻia kahi waihona mea kūʻai kūhelu no ka ʻōlelo Rust.
  • Ua hoʻokūpaʻa ʻia ka protocol binary EdgeDB, e hiki ai ke hoʻoponopono i nā manawa like ʻole i ka manawa like i loko o ka pilina pūnaewele like, hoʻouna ʻia ma o HTTP, me ka hoʻohana ʻana i nā mea hoʻololi honua a me nā mokuʻāina kūloko.
  • Hoʻohui i ke kākoʻo no ka hoʻoulu ʻana i ka socket, kahi e hiki ai iā ʻoe ke mālama ʻole i ka mea lawelawe kikowaena i ka hoʻomanaʻo a holo wale ia i ka wā e hoʻāʻo ai e hoʻokumu i kahi pilina (pono no ka mālama ʻana i nā kumuwaiwai ma nā ʻōnaehana hoʻomohala).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka