Dqlite 1.0, Canonical ұсынған SQLite-тің таратылған нұсқасы қол жетімді

Канондық жарияланған маңызды жобаның шығарылымы Dqlite 1.0 (Distributed SQLite), ол деректерді репликациялауды, сәтсіздіктерден автоматты түрде қалпына келтіруді және өңдеушілерді бірнеше түйіндер бойынша тарату арқылы қатеге төзімділікті қолдайтын SQLite-үйлесімді ендірілген SQL механизмін әзірлейді. ДҚБЖ қосымшаларға тіркелген Си кітапханасы түрінде жүзеге асырылады және таралады Apache 2.0 лицензиясы бойынша (түпнұсқа SQLite жалпыға қолжетімді доменде берілген). Тілдік байламдар қолжетімді Go.

Кітапхана әртүрлі хосттарда жұмыс істейтін қолданбаның бірнеше даналарын өзара қосу үшін желілік протоколды қолдауды қосатын бар SQLite кодтық базасына қосымша болып табылады. Dqlite көмегімен құрастырылған қолданба сыртқы ДҚБЖ-дан тәуелсіз, өзін-өзі қамтамасыз ететін ақауларға төзімді кластер ретінде жұмыс істей алады. Іс жүзінде Dqlite Canonical компаниясы контейнерлерді басқару жүйесінде қолданылады LXD. Кітапхананы қолдану салаларының арасында жүйеде ақауларға төзімді құрылғылар мен процессорларды құру да атап өтілген.
Edge- есептеулер.

Деректерді репликациялауда дәйектілікті қамтамасыз ету үшін алгоритмге негізделген консенсус әдісі қолданылады Рафт, ол etcd, RethinkDB, CockroachDB және OpenDaylight сияқты жобаларда қолданылады. Dqlite өзінің асинхронды орындалуын пайдаланады C-сал, Си тілінде жазылған. Дайын кітапханалар қосылымды өңдеуді мультиплекстеу және корутиндерді іске қосуды ұйымдастыру үшін қолданылады libuv и libco.

Ұқсас жобамен салыстырғанда rqlite,Dqlite толық транзакциялық қолдауды қамтамасыз етеді, кез келген C жобасымен байланыса алады, time() функциясын пайдалануға мүмкіндік береді және ,SQL аудармасына негізделген репликацияның орнына кадр негізіндегі репликацияны пайдаланады.

Dqlite мүмкіндіктері:

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

Ақпарат көзі: opennet.ru

пікір қалдыру