Agregasi dan Partisi Berdasarkan Query Pada NoSQL Abstract Model (NOAM)

P2MI-Pengabdian Masyarakat Maret - November 2024

Fazat Nur Azizah
STE-ITB

NG Kyle
STEI-ITB

Abstrak
NoSQL Abstract Model (NOAM) adalah salah satu teknik pemodelan data untuk basis data NoSQL. Pemodelan data logis NoAM mempertimbangkan komonalitas basis data NoSQL berbasis agregat. Walaupun disebutkan dalam pemodelan NOAM, pola akses data seharusnya dipertimbangkan, belum terdapat prosedur yang jelas tentang bagaimana memanfaatkan pola akses data (query) dalam proses pemodelan. Pada penelitian ini, pola akses data dalam bentuk partisi dan agregasi berdasarkan query diterapkan dalam tahap pemodelan NOAM dengan memanfaatkan tiga artefak pemodelan UML Class Diagram, dokumen query, dan dokumen frekuensi sebagai model konseptual. Modifikasi terhadap metode desain agregat Chen dkk. digunakan sebagai prosedur pembentukan agregat. Algoritma partisi vertikal Navathe & Ra digunakan sebagai metode partisi agregat. Eksperimen untuk melihat kinerja model data yang dihasilkan dilakukan terhadap basis data NoSQL berjenis key-value store dan document store. Hasil dari eksperimen menunjukkan kinerja yang baik pada operasi query dengan kekurangan pada operasi create/update baik pada basis data key-value maupun document-store.

Kata kunci: basis data, pemodelan data, NoSQL, NOAM, UML class diagram

Pendahuluan
NoSQL adalah sistem basis data yang menyimpan data dalam format selain relasional. Ciri khas basis data NoSQL yang membedakannya dari basis data relasional adalah sifatnya yang minim skema (schema-less) yang memberikan fleksibilitas kepada pengembang untuk mendefinisikan struktur basis data. Walaupun demikian, tidak berarti proses pemodelan data yang baik tidak diperlukan. Pemodelan data diperlukan selain untuk mendefinisikan struktur data yang diperlukan, juga untuk mengakomodasi kebutuhan pengembangan, pemeliharaan, dan operasional aplikasi yang memanfaatkan basis data.

NoSQL Abstract Model dikembangkan oleh Atzeni dkk. (2020) sebagai teknik pemodelan data untuk basis data NoSQL memiliki tiga aktivitas dalam transformasi model konseptual menjadi model data pada target sistem basis data NoSQL, yaitu (1) pemodelan data konseptual dan desain agregasi; (2) representasi data NoAM dan proses partisi agregat, serta (3) implementasi yaitu transformasi menjadi model data kelompok basis data NoSQL target.

Tujuan dari penelitian ini adalah mengembangkan proses pemodelan data NOAM dengan memanfaatkan pola akses data (query) untuk mendukung proses agregasi dan partisi. Sebagai pemodelan konseptual dimanfaatkan UML Class Diagram untuk mendefinisikan struktur dari data yang akan dimodelkan, ditambah dengan dokumen query dan dokumen frekuensi query.

Metodologi
Model data NoAM didefinisikan sebagai kumpulan koleksi (collections) yang terdiri kumpulan blocks yang diidentifikasikan unik dengan sebuah key dan terdiri dari himpunan tidak kosong atas entry yang diidentifikasikan sebagai pasangan <ek,ev> dengan ek: entry key dan ev: entry value. Terdapat tiga jenis representasi model logis NoAM yaitu, (1) Entry per Aggregate Object (EAO), yaitu setiap block agregat direpresentasikan sebagai sebuah entry dengan ek kosong dan ev berupa nilai kompleks objek agregat; (2) Entry per Top-level Field (ETF), yaitu setiap agregat direpresentasikan sebagai kumpulan entry unik dengan key merupakan nama atribut data dan value merupakan data atribut yang mungkin kompleks; (3) Aggregate Partitioning, yaitu bentuk intermediat antara ETF dan EAO.

Gambar 1. Metode Pemodelan

Penelitian ini mengembangkan dua aspek pada pemodelan data NOAM yang belum terdefinisi dengan baik, yaitu pemodelan agregasi pada tahap pemodelan konseptual serta aggregate portioning pada tahap pemodelan logis NoAM. Metode yang dikembangkan dalam penelitian ini dapat dilihat pada Gambar 1. Metode ini dibagi menjadi dua tahap, yaitu (1) pemodelan data konseptual serta desain model agregat dan (2) transformasi model agregat menjadi model logis NoAM. Agregasi model konseptual dilakukan dalam dua tahap, yaitu pengelompokan berdasarkan relasi dan pengelompokan berdasarkan query. Masing-masing tahapan ditujukan untuk agregasi kelas-kelas pada class diagram.

Prosedur agregasi model konseptual dilakukan dalam dua tahap, yaitu pengelompokan berdasarkan relasi dan pengelompokan berdasarkan query. Masing-masing tahapan ditujukan untuk agregasi kelas-kelas pada class diagram.

Pengujian
Dua kelompok pengujian dilakukan, yaitu pengujian pemodelan dan pengujian performa. Pengujian pemodelan ditujukan menghasilkan skema ketiga model logis NoAM dari UML Class Diagram dan artefak-artefak lainnya. Pengujian performa ditujukan menghasilkan metrik berupa kecepatan setiap operasi read/write pada basis data berdasarkan masing-masing skema yang dihasilkan dari pemodelan. Kelompok basis data tujuan yang digunakan adalah Document Store, yaitu MongoDB, dan Key-Value Store, yaitu RiakKV. Pengujian performa dibandingkan dengan pekerjaan sebelumnya oleh Valiandi dan Aizah (2022) dan metode Shin dkk (2017). Hasil pengujian pada key-value database untuk operasi read dan update dapat dilihat pada Gambar 2 dan Gambar 3.

Hasil pengujian menunjukkan bahwa operasi query read ketiga model NoAM memiliki performa yang lebih baik dari model pembanding. Hal tersebut menunjukkan hasil dari agregasi kelas yang mengurangi keperluan banyaknya query read yang perlu dilakukan untuk mendapatkan seluruh informasi yang diperlukan. Berbanding terbalik dengan model pembanding yang berbentuk lebih ternormalisasi. Namun, dengan alasan yang sama, timbul kekurangan pada update/create yang perlu dilakukan pada beberapa koleksi dengan sifat model agregat dengan duplikasi data.

Gambar 2. Performa Query Read Key-Value
Gambar 3. Performa Update/Create Key-Value

Kesimpulan
Ketiga model logis NoAM hasil metode yang dikembangkan memiliki performa query read dan kemampuan query read yang lebih baik dari model pembanding. Model logis EAO memiliki performa query terbaik di antara ketiga model NoAM. Model aggregate partitioning memiliki performa query read menyerupai EAO untuk basis data key-value dengan data yang diproses relatif lebih kecil. Aggregate Partitioning kurang cocok pada model data berbasis dokumen.

en_USEnglish