Alasan memilih penyimpanan Mysql dibandingkan Firebase
Berawal dari surat cinta dari Google pada tanggal Sabtu, 14 Agustus 2021, dengan detail di bawah ini, mengharuskan perhatian saya tertuju ke masalah ini. Berdasarkan surat ini, akun developer saya akan ditutup karena tidak pernah digunakan, saya memang sudah sangat lama mendaftar akun google developer seharga 25$ yang berlaku seumur hidup dan tidak pernah men-publish satu pun aplikasi, dan di deadline tanggal 13 Oktober 2021.
Setelah menerima email ini, maka saya kalang kabut dan mencoba membuat aplikasi mobile karena tidak ingin akun google developer yang sudah saya beli dihapus, awal-awal aplikasi yang saya buat men-copy aplikasi cashflow seperti:
https://github.com/TomasGB/CashFlow-React-Native-App
Namun karena aplikasi ini menggunakan Firebase sebagai storagenya, mengharuskan saya harus memodifikasi lagi dengan menggunakan Mysql, ada 3 alasan kenapa saya tidak menggunakan penyimpanan Firebase
1. Firebase storage tidak gratis/Free
Ya, Firebase storage tidak gratis, untuk jumlah data yang kurang dari 1 juta record, Firebase gratis dan tidak memungut biaya, billing biaya akan mulai setelah jumlah data kita lebih dari 1 juta record, dan biaya akan dikenakan berdasarkan penggunaan data. Memang kuota 1 juta record cukup besar, dan aplikasi dapat berjalan dengan Firebase untuk bertahun-tahun, tergantung penggunaan data dari aplikasi kita, namun karena saya tidak ingin ada biaya-biaya tambahan lain setelah aplikasi cukup berkembang maka saya lebih memilih Mysql
2. Menghindari perubahan format penyimpanan di tengah jalan
Apabila di awal suatu proyek aplikasi menggunakan Firebase, kemudian setelah aplikasi berkembang dengan user yang besar, dan mengetahui biaya / cost sehingga mengharuskan perubahan format penyimpanan. Perubahan penyimpanan ini dapat menjadi masalah karena berbagai alasan: user yang banyak, data sudah sangat besar, timbul bug-bug baru yang harus diselesaikan karena akan ada banyak perubahan code di aplikasi bahkan perubahan diperkirakan mencapai sekitar 40-50% dan akan menghabiskan waktu mengulang menulis kembali kode-kode untuk aplikasi yang sama, akan lebih baik jika kita sudah tentukan penyimpanan secara permanen tanpa perubahan arsitektur aplikasi, dsb.
3. Firebase tidak mendukung operasi SQL
The Firebase Realtime Database is a cloud-hosted NoSQL database that lets you store and sync data between your users in realtime.
Berdasarkan kutipan di atas, Firebase adalah penyimpanan di cloud dengan NoSQL database yang dapat menyimpan dan sync antar user secara real time, namun karena aplikasi yang ingin saya membutuhkan berbagai macam operasi yang tersedia di database seperti Select, Join, Where, relasi antar tabel, dan lain sebagainya. Operasi-operasi tersebut tidak didukung oleh Firebase. Selain itu masih banyak lagi limit yang akan Anda temui dalam development, salah satunya adalah limit mengambil records, lebih detail tentang berbagai limit bisa cek di dokumentasi web firebase https://firebase.google.com/docs/firestore/quotas
Setelah selesai mengkonversi dari Firebase ke Mysql, akhirnya pada tanggal 22 September 2021, aplikasi akhirnya di publish, aplikasi yang pada awalnya dinamakan Personal Note kemudian diganti namanya menjadi Iuran Warga, Buku Kas & Arisan.
Berikut adalah contoh tampilan awal aplikasi:
1 Respon
[…] ini merupakan lanjutan dari artikel sebelumnya, Alasan memilih penyimpanan Mysql dibandingkan Firebase. Jadi singkat cerita setelah menpublish aplikasi baru di Play Store, ternyata lumayan sulit […]