НаличСн Dqlite 1.0, Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ SQLite ΠΎΡ‚ компанията Canonical

Компания Canonical ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Dqlite 1.0 (Distributed 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