Beberapa bulan lalu kami kembali tertarik untuk mengikuti perkembangan database yang satu ini, Yugabyte. Janji manis yang menawarkan horizontal scalability yang mudah dan cepat sangat menarik hati kami.
Postgresql yang manjadi basis teknologi si Yugabyte ini hampir memiliki segalanya menurut kami, kecuali kemudahan dalam proses horizontal scale nya.
Ketika kami dijanjikan proses horizontal scale yang mudah dan postgresql wire compatible protocol maka kami sangat-sangat tertarik
Jadilah kami mencoba nya. Kami tidak menggunakan Docker atau Kubernetes untuk mendeploy-nya. Kami memilih old fashioned way. Dengan mengikuti tutorial yang kami ambil dari dokumentasi official nya di sini
Kami benar-benar mengikuti tutorial yang ada dengan mengerahkan 6 buah Virtual Machine. Tiga (3) buah diantaranya menjalankan YB-Master + YB-TServer sedangka ke Enam (6) server itu menjalankan YB-TServer.
Dengan konfigurasi yang dibuat ini mereka mengklaim kita dapat menggunakan 3 replication factor. Dan mampu bertahan dari kehilangan 2 YB-Master host.
Selain itu kita mendapat 6 host yang mampu menerima read-write query dari client postgres. Kami tentu sangat senang mendengarnya. Langsung saja kami coba buat database baru di salah satu host dan benar saja, seketika database tersebut terreplikasi ke semua host.
Selanjutnya kami mulai mencoba me-restore database yang sudah kami buat sebelumnya. Di sini masalah pertama muncul, postgresql yang kami gunakan sebelumnya menggunakan versi 15.0 dan ternyata terlalu tinggi untuk dapat di import ke postgresql yang digunakan yugabyte yaitu versi 11.
Sehingga kami menggunakan export-import dengan format plain SQL. Proses import pun berhasil. Lanjutlah kami coba query database baru ini dengan menggunakan Tools kesayangan kami yaitu DBeaver, berhasil juga dengan menggunakan driver postgresql biasa. Sejauh ini masih ok lah ya. Namun ada sedikit yang mengganjal, proses run query dirasa agak lambat.
Setelah itu kami periksa utilitasi CPU dan Memory dan di sanalah kami terkejut. Proses YB-TServer menggunakan prosesor cukup tinggi. Entah apa yang dia lakukan di sana, kami belum tau. Dari penemuan ini kami sedikit berteori inilah yang menyebabkan query terasa lambat ketika dijalankan.
Selanjutnya kami mencoba menjalankan aplikasi berbasis Framework Django terhadap database tersebut dan hasilnya semakin memperlihatkan perbedaan yang sangat menjengkelkan. Aplikasi menjadi jaul lebih lambat ketimbang menggunakan Postgresql biasa.
Kami bahkan sudah menggunakan driver dari Psycopg2 biasa ke driver yang mereka rekomendasikan yaitu https://github.com/yugabyte/psycopg2 hasilnya masih tetap sama.
Beberapa usaha mencari dari google mengarahkan kami pada beberapa diskusi yang memiliki tema sama,
Kenapa yugabyte terasa lebih rambat dari plain postgresql?
Namun semuanya tidak mencapai kesimpulan yang memuaskan. Kami putuskan untuk tidak memperpanjang research ini.
Mungkin dilain kesempatan akan kami coba kembali .