НаличСн Π΅ Dqlite 1.0, Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° вСрсия Π½Π° SQLite ΠΎΡ‚ Canonical

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

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

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

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

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

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

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€