digilib@itb.ac.id +62 812 2508 8800

13519189 Leonardus James Wang.pdf
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan

CockroachDB merupakan basis data yang populer dan sudah dipakai oleh beberapa perusahaan saat ini. Namun, saat ini CockroachDB hanya memiliki satu tingkat isolasi, yaitu serializable. Pada versi v2.0.7 CockroachDB memiliki pilihan tingkat isolasi yang lebih rendah dari serializable, yaitu snapshot isolation. Dengan tingkat isolasi snapshot isolation, CockroachDB seharusnya berjalan lebih cepat pada kasus tertentu. TA ini bertujuan untuk menunjukan bahwa snapshot isolation memiliki kinerja lebih baik dibandingkan serializable pada CockroachDB. Untuk mencari kasus dimana snapshot isolation lebih cepat dari serializable dan mencari tahu seberapa besar perbedaan snapshot isolation dibandingkan serializable, diikuti metodologi sebagai berikut. Pertama-tama, studi literatur dan rancangan pengujian untuk mengerti perbedaan serializable dan snapshot isolation, gambaran bagaimana isolasi diimplementasikan di CockroachDB dan arsitektur umum CockroachDB. Dicari juga benchmark yang cocok dipakai pada TA ini menurut studi literatur. Lalu implementasikan driver CockroachDB pada benchmark yang sudah dipilih. Benchmark kemudian dijalankan, dan hasilnya dianalisis. Terakhir kesimpulan ditarik dari hasil yang analisis. TA ini menggunakan benchmark TPC-C dan SIBench yang sudah tersedia. Meskipun benchmark untuk mengukur kinerja snapshot isolation sudah ada (SIBench), benchmark tersebut tidak melingkupi kasus dimana snapshot isolation bisa lebih cepat dibandingkan serializable secara signifikan. Sehingga, dikembangkan benchmark baru bemama FPMicrobenchmark. Menggunakan benchmark TPC-C, SIBench dan FPMicrobenchmark, dapat disimpulkan bahwa walaupun untuk kasus umum, perbedaan antara kedua tingkat isolasi tidak begitu signifikan, untuk kasus khusus dimana snapshot isolation bisa lebih cepat dari serializable, perbedaan kinerja antara kedua tingkat isolasi cukup signifikan. Khususnya, pada kasus dimana sebuah sistem memiliki banyak fenomena write skew ataufalse positive untuk write skew, snapshot isolation bisa bekerja lebih dari 20% lebih cepat dibandingkan serializable.