Достапна Π΅ Dqlite 1.0, дистрибуирана Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° SQLite ΠΎΠ΄ Canonical

Канонски објавСно Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Dqlite 1.0 (Дистрибуиран SQLite), кој Ρ€Π°Π·Π²ΠΈΠ²Π° Π²Π³Ρ€Π°Π΄Π΅Π½ SQL ΠΌΠΎΡ‚ΠΎΡ€ ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π΅Π½ со SQLite кој ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, автоматско Π²Ρ€Π°ΡœΠ°ΡšΠ΅ ΠΎΠ΄ нСуспСси ΠΈ Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ со Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π½Π° Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈ Π½ΠΈΠ· повСќС јазли. DBMS Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° C Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€ΠΈΠΊΠ°Ρ‡Π΅Π½Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ дистрибуирани ΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° Apache 2.0 (ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ‚ SQLite Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ Π²ΠΎ Ρ˜Π°Π²Π½ΠΈΠΎΡ‚ Π΄ΠΎΠΌΠ΅Π½). Достапни сС Ρ˜Π°Π·ΠΈΡ‡Π½ΠΈ врски Go.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π΅ Π΄ΠΎΠ΄Π°Ρ‚ΠΎΠΊ Π½Π° постоСчката Π±Π°Π·Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ SQLite ΡˆΡ‚ΠΎ Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΌΡ€Π΅ΠΆΠ΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° мСѓусСбно ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° повСќС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° која Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ хостови. ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° составСна со Dqlite ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ самодоволна кластСра Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ‚Π½Π° Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, нСзависно ΠΎΠ΄ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ DBMS. Π’ΠΎ пракса, Dqlite сС користи ΠΎΠ΄ Canonical Π²ΠΎ ΡΠ²ΠΎΡ˜ΠΎΡ‚ систСм Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ LXD. ΠœΠ΅Ρ“Ρƒ областитС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° сС спомСнува ΠΈ создавањС Π½Π° ΡƒΡ€Π΅Π΄ΠΈ ΠΈ процСсори Π·Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π½Π° Π½Π΅ΡˆΡ‚Π°Ρ‚Π° Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ‚Π½ΠΈ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π²ΠΎ систСмитС.
Π Π°Π±ΠΎΡ‚- прСсмСтки.

Π—Π° Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ конзистСнтност Π²ΠΎ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅, сС користи ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π° консСнзус Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ Π‘ΠΏΠ»Π°Π², кој сС користи Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΊΠ°ΠΊΠΎ etcd, RethinkDB, CockroachDB ΠΈ OpenDaylight. Dqlite користи сопствСна асинхрона ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π‘-сплав, напишано Π½Π° јазик Π¦. Π“ΠΎΡ‚ΠΎΠ²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сС користат Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° мултиплСкс ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ΠΈ Π»ΠΈΠ±ΡƒΠ² ΠΈ libco.

Π’ΠΎ спорСдба со сличСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ rqlite,Dqlite ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° цСлосна трансакциска ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° со кој Π±ΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ C, Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° time() ΠΈ , користи Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Ρ€Π°ΠΌΠΊΠ° намСсто SQL Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° ΠΏΡ€Π΅Π²ΠΎΠ΄.

ΠšΠ°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈ Π½Π° Dqlite:

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

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€