ΠΡΠΎΠ΅ΠΊΡΠΎΠΌ libSQL ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΠ° ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΊΠ° Π‘Π£ΠΠ SQLite, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΎΡΠΊΡΡΡΠΎΡΡΡ Π΄Π»Ρ ΡΡΠ°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ², Π²ΡΡ ΠΎΠ΄ΡΡΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ SQLite. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΊΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΆΡΡΡΠΊΠ°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° SQLite Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΡΠΌΠ° ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ Π² ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ΄ ΡΠΎΡΠΊΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT (SQLite ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΡΡΠΎΡΠ½ΠΈΠ΅).
Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΡΠΎΡΠΊΠ° Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ SQLite ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΠΎΠ²Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΡΠΎΡ ΡΠ°Π½ΡΡ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ°ΡΡΠΈΡΡΡ Π΅Π³ΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΠ΅ΡΡΠ². ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Rust, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ°ΡΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. Π ΡΠ»ΡΡΠ°Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° SQLite Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΡΠΌΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ libSQL Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ.
Π‘ΡΠ΅Π΄ΠΈ ΠΈΠ΄Π΅ΠΉ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ SQLite ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ:
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π° Π½Π΅ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ (LiteFS), ΠΈ Π±Π΅Π· ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° (dqlite, rqlite, ChiselStore).
- ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ API, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΡΠ΄ΡΠΎΠΌ Linux ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ io_uring.
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ SQLite Π² ΡΠ΄ΡΠ΅ Linux, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π² ΡΠ΄ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ eBPF, Π΄Π»Ρ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΠ· ΡΠ΄ΡΠ° Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ , Π½Π΅ ΡΠΌΠ΅ΡΠ°ΡΡΠΈΠ΅ΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Π»ΡΠ±ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ WebAssembly.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru