Di SQLite mereka sudah bekerja pada backend HCTree dengan dukungan untuk penulisan paralel

SQLite

adalah sistem manajemen basis data relasional yang sesuai dengan ACID, terdapat dalam pustaka yang relatif kecil yang ditulis dalam bahasa C

Pengembang proyek SQLite telah mulai menguji backend HCtree eksperimental yang mendukung penguncian tingkat baris dan menyediakan paralelisme tingkat tinggi dalam pemrosesan kueri.

Mengenai backend baru tempat mereka bekerja, disebutkan bahwa ini bertujuan untuk meningkatkan efisiensi penggunaan SQLite dalam sistem client-server Mereka harus memproses sejumlah besar permintaan tulis bersamaan ke database.

itu struktur b-tree awalnya digunakan di SQLite untuk menyimpan data Mereka tidak dirancang untuk jenis beban ini., yang membatasi SQLite untuk menulis hanya ke satu aliran. Sebagai percobaan, pengembang mulai mengembangkan solusi alternatif yang menggunakan struktur HCtree untuk penyimpanan, lebih cocok untuk memparalelkan operasi tulis.

Proyek HC-tree (hctree) adalah upaya untuk mengembangkan backend database baru yang meningkatkan SQLite reguler sebagai berikut:

Peningkatan konkurensi: Menggunakan ekstensi start-concurrent mengubah ini sehingga dapat dijalankan secara bersamaan menggunakan penguncian optimis pada tingkat halaman. Ini agak meningkatkan konkurensi, tetapi penguncian tingkat halaman dapat mendeteksi konflik antara transaksi yang independen secara logis, dan operasi COMMIT masih perlu diserialisasi.

Dukungan replikasi: Stock SQLite mendukung perpanjangan sesi, yang memungkinkan konten transaksi yang dikomit untuk diserialkan untuk transmisi dan aplikasi ke database kedua. Hctree mengintegrasikan ini ke dalam database backend dan menambahkan dukungan untuk menerapkan transaksi tersebut ke database pengikut dalam konfigurasi pemimpin-pengikut. Dalam hal ini, transaksi yang diterima dari database utama dapat diterapkan lebih cepat dan dengan konkurensi yang lebih besar daripada yang awalnya diterapkan ke database utama, karena tidak ada validasi transaksi.

Penghapusan batasan ukuran basis data: Stock SQLite menggunakan nomor halaman 32-bit. Menggunakan ukuran halaman default 4 KiB, ini menghasilkan ukuran database maksimum 2^44 byte atau 16 TiB.

Untuk menangani beberapa operasi pada waktu yang sama, Log HCtree menggunakan mekanisme pemisahan transaksi yang menggunakan kunci tingkat halaman, mirip dengan MVCC (kontrol penahanan versi ganda), tetapi menggunakan kontrol transaksi berdasarkan rentang kunci dan rentang kunci, bukan kumpulan halaman.

Operasi baca dan tulis dilakukan relatif terhadap snapshot basis data, yang perubahannya dapat dilihat oleh basis data utama hanya setelah transaksi selesai.

Klien dapat menggunakan tiga operasi untuk membuka transaksi:

  • «MULAI«: Transaksi tidak memperhitungkan data akses pelanggan lain. Jika operasi tulis dilakukan dalam sebuah transaksi, transaksi hanya dapat dilakukan jika tidak ada operasi tulis lainnya ke database selama waktu pelaksanaannya.
    «MULAI BERSAMAAN«: Transaksi mengumpulkan informasi tentang akses klien lain. Jika operasi tulis dilakukan dalam transaksi, transaksi dapat dilakukan jika transaksi lain telah dilakukan ke database sejak snapshot dibuat.
    «MULAI EKSKLUSIF«: setelah membuka transaksi, blokir operasi transaksi lain hingga selesai.

HCtree mendukung replikasi master-slave, memungkinkan transaksi ditransfer ke database lain dan menjaga sinkronisasi database sekunder dengan database utama.

HCtree juga menghapus batas ukuran basis data: alih-alih pengidentifikasi halaman data 32-bit, HCtree menggunakan pengidentifikasi 48-bit, yang meningkatkan ukuran basis data maksimum dari 16 tebibyte menjadi 1 exbibyte (juta tebibyte).

Performa SQLite dengan backend HCtree diharapkan setidaknya sama baiknya dengan backend single-threaded klasik. Klien SQLite dengan dukungan HCtree akan dapat mengakses database HC-tree dan database SQLite lawas.

sumber: https://sqlite.org/


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.