Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Dqlite 1.0, Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ SQLite ΠΎΡ‚ компания Canonical

Компания Canonical Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π»Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ принос Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Dqlite 1.0 (Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ SQLite), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с SQLite Π²Π³Ρ€Π°Π΄Π΅Π½ SQL Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π», ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ рСпликация Π½Π° Π΄Π°Π½Π½ΠΈ, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ слСд Π°Π²Π°Ρ€ΠΈΠΈ ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Ρ‰ надСТдност Ρ‡Ρ€Π΅Π· Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° няколко възСла. Π‘Π£Π‘Π” Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‰Π° C Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° към прилоТСния ΠΈ сС разпространява ΠΏΠΎΠ΄ лицСнцията Apache 2.0 (оригиналният SQLite Π΅ прСдоставСн ΠΊΠ°Ρ‚ΠΎ общСствСно достояниС). Π”ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ са Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ Π·Π° Π΅Π·ΠΈΠΊΠ° Go.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° прСдставлява надстройка Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π°Ρ‚Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° Π½Π° SQLite, която добавя ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° няколко инстанции Π½Π° прилоТСния, изпълнявани Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ хостовС. Π‘ΡŠΠ±Ρ€Π°Π½Π°Ρ‚Π° с Dqlite апликация ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ самостоятСлСн отказоустойчив ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€, нСзависим ΠΎΡ‚ външни Π‘Π£Π‘Π”. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Dqlite сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ компания Canonical Π² систСмата Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ LXD. Π‘Ρ€Π΅Π΄ областитС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° са ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ устройства Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π½Π° Π½Π΅Ρ‰Π°Ρ‚Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ Π² систСмитС
Edge-изчислСния.

Π—Π° осигуряванС Π½Π° послСдоватСлност ΠΏΡ€ΠΈ рСпликацията Π½Π° Π΄Π°Π½Π½ΠΈ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° достиганС Π½Π° консСнсус Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Raft, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Ρ‚Π°ΠΊΠΈΠ²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ etcd, RethinkDB, CockroachDB ΠΈ OpenDaylight. Π’ Dqlite Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½Π° собствСна асинхронна рСализация C-raft, написана Π½Π° Π΅Π·ΠΈΠΊΠ° C. Π—Π° мултиплСксиранС Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° стартиранСто Π½Π° ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libuv ΠΈ libco.

Π’ сравнСниС с ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ rqlite, Dqlite прСдоставя пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π° с всякакви ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C, позволява ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° функцията time() ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π° рСпликация Π½Π° основС Π½Π° ΠΊΠ°Π΄Ρ€ΠΈ вмСсто рСпликация Π½Π° основС Π½Π° SQL ΠΈΠ·Ρ€Π°Π·ΠΈ.

Π₯арактСристики Π½Π° Dqlite:

  • ИзпълнСниС Π½Π° всички дискови ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ;
  • НаличиС Π½Π° тСстов Π½Π°Π±ΠΎΡ€ Π·Π° ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° корСктността Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅;
  • Ниска консумация Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°;
  • ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° диска Π½Π° Π‘Π” ΠΈ Π»ΠΎΠ³ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ (с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°);
  • Π‘ΡŠΡ€Π·ΠΎ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ слСд Π°Π²Π°Ρ€ΠΈΠΈ;
  • Π‘Ρ‚Π°Π±ΠΈΠ»Π΅Π½ CLI ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π° Π΅Π·ΠΈΠΊΠ° Go, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° инициализация Π½Π° Π‘Π”, настройка Π½Π° рСпликация ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅/Ρ€Π°Π·Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° възли;
  • ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ ARM, X86, POWER ΠΈ IBM Z;
  • Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡΡ‚Π° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Raft Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π° Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° забавяния ΠΏΡ€ΠΈ ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster