Ua wehe ʻo Yandex i ke code o ka DBMS YDB i hāʻawi ʻia e kākoʻo ana iā SQL

Ua paʻi ʻo Yandex i nā kikokikona kumu o ka YDB DBMS i hāʻawi ʻia, e hoʻokō nei i ke kākoʻo no ka dialect SQL a me nā kālepa ACID. Ua hoʻokumu ʻia ka DBMS mai ka wā ʻōpala a hoʻomohala mua ʻia me ka maka e hōʻoia i ka hoʻomanawanui hewa, hoʻihoʻi maʻalahi i ka hihia o nā hemahema a me ka scalability. Ua ʻike ʻia ua hoʻomaka ʻo Yandex i nā pūʻulu YDB hana, me ka ʻoi aku o 10 tausani mau nodes, e mālama ana i nā haneli o nā petabytes o ka ʻikepili a me ka lawelawe ʻana i nā miliona o nā kālepa i hāʻawi ʻia i kēlā me kēia kekona. Hoʻohana ʻia ʻo YDB i nā papahana Yandex e like me Market, Cloud, Smart Home, Alice, Metrika a me Auto.ru. Ua kākau ʻia ke code ma C/C++ a māhele ʻia ma lalo o ka laikini Apache 2.0. No ka hoʻomaʻamaʻa a me ka hoʻomaka wikiwiki, hiki iā ʻoe ke hoʻohana i kahi pahu Docker i mākaukau.

Nā hiʻohiʻona o ka papahana:

  • Ke hoʻohana nei i ka ʻikepili pili me nā papa. Hoʻohana ʻia ʻo YQL (YDB Query Language) e nīnau a wehewehe i ka schema data, ʻo ia ka dialect o SQL i hoʻololi ʻia no ka hana ʻana me nā ʻikepili puʻupuʻu nui. I ka hana ʻana i kahi hoʻolālā mālama, kākoʻo ʻia kahi hui ʻana o nā papa e like me ka lāʻau, e like me nā papa kuhikuhi ma kahi ʻōnaehana faila. Hāʻawi ʻia kahi API no ka hana ʻana me ka ʻikepili ma ke ʻano JSON.
    Ua wehe ʻo Yandex i ke code o ka DBMS YDB i hāʻawi ʻia e kākoʻo ana iā SQL
  • Kākoʻo no ka loaʻa ʻana o ka ʻikepili me ka hoʻohana ʻana i nā nīnau scan i hoʻolālā ʻia e hana i nā nīnau ad-hoc analytical e kūʻē i ka waihona, i hana ʻia ma ke ʻano heluhelu-wale nō a hoʻihoʻi i kahi kahawai grpc.
  • Hoʻokō ʻia ka pilina me ka DBMS a me ka hoʻouna ʻana i nā noi me ka hoʻohana ʻana i ka laina kauoha, ka mea i kūkulu ʻia i loko o ka pūnaewele a i ʻole ka YDB SDK, e hāʻawi ana i nā hale waihona puke no C ++, C # (.NET), Go, Java, Node.js, PHP a me Python.
  • ʻO ka hiki ke hana i nā hoʻonohonoho hoʻomanawanui hewa e hoʻomau i ka hana i ka wā e hāʻule ai nā disks, nodes, racks, a me nā kikowaena data. Kākoʻo ʻo YDB i ka hoʻopili ʻana a me ka hoʻopiʻi ʻana ma waena o ʻekolu mau wahi i loaʻa i ka wā e mālama ana i ke olakino o ka puʻupuʻu i ka wā o ka hāʻule ʻole o kekahi o nā ʻāpana.
  • Hoʻihoʻi hou mai nā hemahema me ka liʻiliʻi o nā lohi no nā noi a mālama pono i ka redundancy i kuhikuhi ʻia i ka wā e mālama ai i ka ʻikepili.
  • Hoʻokumu 'akomi i nā kuhikuhi ma ke kī mua a me ka hiki ke wehewehe i nā kuhikuhi helu lua e hoʻomaikaʻi i ka pono o ke komo ʻana i nā kolamu arbitrary.
  • Hiki ke hoʻonui ʻia. Ke ulu nei ka ukana a me ka nui o ka ʻikepili i mālama ʻia, hiki ke hoʻonui ʻia ka puʻupuʻu ma ka hoʻopili wale ʻana i nā nodes hou. Hoʻokaʻawale ʻia nā papa helu helu a me ka waiho ʻana, e ʻae ana i ka helu ʻana a me ka hoʻopaʻa ʻana i kahi kaʻawale. Na ka DBMS ponoʻī e nānā i ka hāʻawi like ʻana o ka ʻikepili a me ka ukana, me ka noʻonoʻo ʻana i nā kumuwaiwai lako lako. Hiki ke kau i nā hoʻonohonoho hoʻolaha ʻāina e uhi ana i kekahi mau kikowaena ʻikepili ma nā wahi like ʻole o ka honua.
  • Kākoʻo no ke kumu hoʻohālikelike ikaika a me nā kālepa ACID i ka wā e hoʻoponopono ai i nā nīnau e pili ana i nā node a me nā papa. No ka hoʻomaikaʻi ʻana i ka hana, hiki iā ʻoe ke hoʻopau i ka mana kūlike.
  • ʻO ka hoʻopiʻi ʻana i ka ʻikepili maʻalahi, ka hoʻokaʻawale ʻana i ka ʻikepili (ʻokiʻoki, sharding) i ka wā e piʻi ai ka nui a i ʻole ka ukana, a me ka hoʻouka ʻakomi a me ke kaulike ʻikepili ma waena o nā nodes.
  • E mālama pono ana i ka ʻikepili ma nā polokalamu poloka me ka hoʻohana ʻana i ka ʻāpana PDisk maoli a me ka papa VDisk. Ma luna o VDisk, holo ʻo DSProxy, e nānā ana i ka loaʻa a me ka hana o nā disks i mea e haʻalele ai iā lākou inā ʻike ʻia nā pilikia.
  • ʻO kahi hoʻolālā maʻalahi e hiki ai iā ʻoe ke hana ma luna o ka YDB, nā lawelawe like ʻole, a hiki i nā polokalamu poloka virtual a me nā queue mau (persistent queue). Kūpono ka noi no nā ʻano hana like ʻole, OLTP a me OLAP (nā nīnau noiʻi).
  • Kākoʻo no nā mea hoʻohana lehulehu (multitenant) a me nā kikowaena serverless. Hiki ke hōʻoia i nā mea kūʻai aku. Hiki i nā mea hoʻohana ke hana i kā lākou mau puʻupuʻu virtual a me nā ʻikepili i loko o kahi ʻenehana like like, e noʻonoʻo ana i ka hoʻohana ʻana i nā kumuwaiwai ma ke kiʻekiʻe o ka nui o nā noi a me ka nui o ka ʻikepili, a i ʻole ma ka hoʻolimalima / mālama ʻana i kekahi mau kumuwaiwai computing a me kahi waihona.
  • Hiki ke hoʻololi i ke ola o nā moʻolelo no ka holoi ʻana i nā ʻikepili kahiko.

Source: opennet.ru

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