Sistem operasi terdistribusi DBOS yang berjalan di atas DBMS disajikan

Proyek DBOS (Sistem Operasi Berorientasi DBMS) disajikan, mengembangkan sistem operasi baru untuk menjalankan aplikasi terdistribusi yang dapat diskalakan. Fitur khusus dari proyek ini adalah penggunaan DBMS untuk menyimpan aplikasi dan status sistem, serta mengatur akses ke status hanya melalui transaksi. Proyek ini dikembangkan oleh para peneliti dari Massachusetts Institute of Technology, University of Wisconsin dan Stanford, Carnegie Mellon University serta Google dan VMware. Karya tersebut didistribusikan di bawah lisensi MIT.

Komponen untuk berinteraksi dengan peralatan dan layanan manajemen memori tingkat rendah ditempatkan di mikrokernel. Kemampuan yang disediakan oleh mikrokernel digunakan untuk meluncurkan lapisan DBMS. Layanan sistem tingkat tinggi yang memungkinkan eksekusi aplikasi hanya berinteraksi dengan DBMS terdistribusi dan terpisah dari mikrokernel dan komponen spesifik sistem.

Membangun di atas DBMS terdistribusi memungkinkan untuk membuat layanan sistem pada awalnya terdistribusi dan tidak terikat pada node tertentu, yang membedakan DBOS dari sistem cluster tradisional, di mana setiap node menjalankan instance sistem operasinya sendiri, di atasnya terpisah. penjadwal cluster, sistem file terdistribusi dan manajer jaringan diluncurkan.

Sistem operasi terdistribusi DBOS yang berjalan di atas DBMS disajikan

Perlu dicatat bahwa menggunakan DBMS terdistribusi modern sebagai dasar DBOS, menyimpan data dalam RAM dan mendukung transaksi, seperti VoltDB dan FoundationDB, dapat memberikan kinerja yang cukup untuk pelaksanaan banyak layanan sistem secara efisien. DBMS juga dapat menyimpan penjadwal, sistem file, dan data IPC. Pada saat yang sama, DBMS sangat terukur, menyediakan atomisitas dan isolasi transaksi, dapat mengelola data berukuran petabyte, dan menyediakan alat untuk kontrol akses dan pelacakan aliran data.

Di antara kelebihan arsitektur yang diusulkan adalah perluasan kemampuan analitik yang signifikan dan pengurangan kompleksitas kode karena penggunaan kueri biasa ke DBMS dalam layanan sistem operasi, di samping implementasi transaksi dan alat untuk memastikan tingkat tinggi ketersediaan dilakukan (fungsi tersebut dapat diimplementasikan pada sisi DBMS satu kali dan digunakan dalam OS dan aplikasi).

Misalnya, penjadwal klaster dapat menyimpan informasi tentang tugas dan penangan dalam tabel DBMS dan mengimplementasikan operasi penjadwalan sebagai transaksi reguler, mencampurkan kode penting dan SQL. Transaksi mempermudah penyelesaian masalah seperti manajemen konkurensi dan pemulihan kegagalan karena transaksi menjamin konsistensi dan persistensi keadaan. Dalam konteks contoh penjadwal, transaksi memungkinkan akses bersamaan ke data bersama dan memastikan integritas negara dipertahankan jika terjadi kegagalan.

Mekanisme logging dan analisis data yang disediakan oleh DBMS dapat digunakan untuk melacak akses dan perubahan status aplikasi, memantau, melakukan debug, dan menjaga keamanan. Misalnya, setelah mendeteksi akses tidak sah ke suatu sistem, Anda dapat menjalankan kueri SQL untuk menentukan tingkat kebocoran, mengidentifikasi semua operasi yang dilakukan oleh proses yang memperoleh akses ke informasi rahasia.

Proyek ini telah dikembangkan selama lebih dari satu tahun dan sedang dalam tahap pembuatan prototipe komponen arsitektur individual. Saat ini, prototipe layanan sistem operasi yang berjalan di atas DBMS, seperti FS, IPC dan penjadwal, telah disiapkan, dan sedang dikembangkan lingkungan perangkat lunak yang menyediakan antarmuka untuk menjalankan aplikasi berdasarkan FaaS (function-as- model layanan-).

Tahap pengembangan selanjutnya berencana untuk menyediakan tumpukan perangkat lunak lengkap untuk aplikasi terdistribusi. VoltDB saat ini digunakan sebagai DBMS dalam eksperimen, namun diskusi sedang berlangsung mengenai pembuatan lapisan kami sendiri untuk menyimpan data atau mengimplementasikan kemampuan yang hilang dalam DBMS yang ada. Pertanyaan tentang komponen mana yang harus dijalankan pada tingkat kernel dan mana yang dapat diimplementasikan di atas DBMS juga sedang dibahas.

Sumber: opennet.ru

Tambah komentar