Ang proyekto ng libSQL ay nagsimulang bumuo ng isang tinidor ng SQLite DBMS

Sinubukan ng proyekto ng libSQL na lumikha ng isang tinidor ng SQLite DBMS, na nakatuon sa pagiging bukas sa pakikilahok ng developer ng komunidad at pagsulong ng mga inobasyon na higit sa orihinal na layunin ng SQLite. Ang dahilan ng paglikha ng tinidor ay ang medyo mahigpit na patakaran ng SQLite tungkol sa pagtanggap ng third-party na code mula sa komunidad kung may pangangailangan na magsulong ng mga pagpapabuti. Ang fork code ay ipinamamahagi sa ilalim ng lisensya ng MIT (Inilabas ang SQLite bilang pampublikong domain).

Ang mga tagalikha ng tinidor ay naglalayon na mapanatili ang pagiging tugma sa pangunahing SQLite at mapanatili ang parehong antas ng kalidad, pinapanatili ang isang hanay ng mga kaso ng pagsubok at unti-unting palawakin ito habang nagdaragdag ng mga pagbabago. Upang bumuo ng bagong pag-andar, iminungkahi na magbigay ng kakayahang gamitin ang Rust na wika, habang pinapanatili ang pangunahing bahagi sa wikang C. Kung ang patakaran ng pangunahing proyekto ng SQLite tungkol sa pagtanggap ng mga pagbabago ay nagbabago, nilayon ng mga developer ng libSQL na ilipat ang mga naipon na pagbabago sa pangunahing proyekto at sumali sa pagbuo nito.

Kabilang sa mga ideya para sa posibleng pagpapalawak ng pag-andar ng SQLite ay nabanggit:

  • Pagsasama-sama ng mga tool para sa pagbuo ng mga distributed database na gumagana sa antas ng library mismo, at hindi sa pamamagitan ng pagtitiklop ng mga pagbabago sa file system (LiteFS), at nang walang pagbuo ng isang hiwalay na produkto (dqlite, rqlite, ChiselStore).
  • Pag-optimize para sa paggamit ng mga asynchronous na API, tulad ng io_uring interface na ibinigay ng Linux kernel.
  • Ang kakayahang gumamit ng SQLite sa kernel ng Linux, katulad ng suporta sa kernel ng virtual machine ng eBPF, para sa mga sitwasyon kung saan kinakailangang i-save ang mga set ng data mula sa kernel na hindi umaangkop sa RAM.
  • Suporta para sa mga function na tinukoy ng user na nakasulat sa anumang programming language at pinagsama-sama sa WebAssembly intermediate code.

Pinagmulan: opennet.ru

Magdagdag ng komento