Dqlite 1.0, Canonicalдан SQLite'тин бөлүштүрүлгөн версиясы бар

Каноникалык жарыяланган маанилүү долбоорду чыгаруу Dqlite 1.0 (Distributed SQLite), ал SQLite менен шайкеш кыналган SQL кыймылдаткычын иштеп чыгат, ал маалыматтардын репликациясын, каталардан автоматтык түрдө калыбына келтирүүнү жана иштеткичтерди бир нече түйүндөр боюнча бөлүштүрүү менен катага чыдамдуулукту колдойт. DBMS тиркемелердин жана тиркелген C китепканасы түрүндө ишке ашырылат жайылуу Apache 2.0 лицензиясы боюнча (оригиналдуу SQLite коомдук доменде берилген). Тил байланыштары жеткиликтүү Go.

Китепкана - бул ар кандай хосттордо иштеген тиркеменин бир нече инстанцияларын өз ара туташтыруу үчүн тармактык протоколдун колдоосун кошо турган учурдагы SQLite код базасына кошумча. Dqlite менен түзүлгөн тиркеме тышкы DBMS көз карандысыз өзүн-өзү жетиштүү, каталарга чыдамдуу кластер катары иштей алат. Иш жүзүндө, Dqlite Canonical тарабынан контейнер башкаруу системасында колдонулат LXD. Китепкананы колдонуу багыттарынын арасында каталарга чыдамдуу Интернет буюмдарын жана системаларда процессорлорду түзүү да айтылган.
чет- эсептөөлөр.

Маалыматтарды кайталоодо ырааттуулукту камсыз кылуу үчүн алгоритмге негизделген консенсус ыкмасы колдонулат паромetcd, RethinkDB, CockroachDB жана OpenDaylight сыяктуу долбоорлордо колдонулат. Dqlite өзүнүн асинхрондук ишке ашырууну колдонот C-сал, Си тилинде жазылган. Даяр китепканалар байланышты иштетүүнү мультиплекстөө жана корутиндерди ишке киргизүү үчүн колдонулат libuv и libco.

Окшош долбоор менен салыштырганда rqlite,Dqlite транзакцияга толук колдоо көрсөтөт, каалаган C долбоору менен баарлаша алат, time() функциясын колдонууга мүмкүндүк берет жана ,SQL котормого негизделген репликациянын ордуна кадр негизиндеги репликацияны колдонот.

Dqlite өзгөчөлүктөрү:

  • Бардык диск жана тармак операцияларын асинхрондуу түрдө аткарыңыз;
  • Берилген маалыматтардын тууралыгын тастыктоо үчүн тесттик комплекстин болушу;
  • Төмөн эстутум керектөө жана тармак аркылуу натыйжалуу маалымат алмашуу;
  • Маалымат базасын жана транзакциялар журналын дискте туруктуу сактоо (эстутумда кэштөө мүмкүнчүлүгү менен);
  • катачылыктардан тез калыбына келтирүү;
  • Маалымат базасын инициализациялоо, репликацияны конфигурациялоо жана түйүндөрдү туташтыруу/ажыратуу үчүн колдонула турган Go тилиндеги туруктуу CLI кардары;
  • ARM, X86, POWER жана IBM Z архитектураларын колдойт;
  • Raft алгоритмин ишке ашыруу транзакцияларды жасоодо кечигүүлөрдү азайтуу үчүн оптималдаштырылган.

Source: opennet.ru

Комментарий кошуу