Dulu database kepemilikan adalah satu-satunya opsi yang dapat diterima.
“Tidak ada yang pernah dipecat karena membeli dari Oracle/Microsoft/IBM” adalah pepatah.
Basis data monolitik besar yang digunakan untuk setiap tujuan. Dukungan berbayar - seperti itulah lanskap database di tahun 90-an dan awal 00-an. Tentu, basis data sumber terbuka ada di sana tetapi diperlakukan seperti "basis data mainan", cocok untuk situs web kecil, mungkin blog, atau toko elektronik yang sangat kecil. Tidak ada orang waras yang akan menggunakannya untuk hal penting.
Segalanya telah berubah dari waktu ke waktu dan database open source telah matang. Semakin banyak yang dibuat setiap tahun. Kami sekarang melihat spesialisasi, memungkinkan pengguna untuk memilih opsi terbaik untuk beban kerja tertentu - deret waktu, analitis, penyimpanan kolom, NoSQL, relasional, nilai kunci - Anda dapat memilih database apa pun yang Anda butuhkan dan, biasanya, ada banyak opsi untuk dipilih. Hal ini menyebabkan open source menjadi semakin populer di dunia database. Perusahaan sekarang melihat tagihan mereka dari vendor database milik mereka dan bertanya-tanya apakah mereka dapat menguranginya sedikit dengan mengadopsi database open source gratis.
Seperti biasa, ada pro dan kontra. Hal-hal apa yang mungkin ingin Anda pertimbangkan sebelum mengimplementasikan database open source? Dalam postingan blog ini, kami akan membagikan beberapa tips yang mungkin ingin Anda ingat ketika berencana untuk bermigrasi ke database open source.
Mulai dari yang Kecil dan Perluas
Jika organisasi Anda tidak menggunakan database open source, kemungkinan besar organisasi tersebut juga tidak memiliki pengalaman dalam mengelolanya. Meskipun dapat dilakukan melalui konsultan eksternal, mungkin bukan ide yang baik untuk memigrasikan seluruh lingkungan Anda ke dalam database open source.
Sebagai gantinya, pendekatan yang lebih baik adalah memulai dengan proyek-proyek kecil. Mungkin Anda perlu membangun semacam alat internal atau situs web, mungkin semacam alat pemantauan - itu adalah peluang bagus untuk menggunakan basis data sumber terbuka dan mendapatkan pengalaman menggunakannya di lingkungan dunia nyata. Ini akan memungkinkan Anda mempelajari seluk beluk database - cara mendiagnosisnya, cara melacak kinerjanya, cara menyetelnya untuk meningkatkan kinerjanya.
Selain itu, Anda akan mempelajari lebih lanjut tentang opsi dan implementasi ketersediaan tinggi. Bekerja dengannya juga membantu untuk memahami perbedaan antara database berpemilik yang Anda gunakan dan database open source yang Anda terapkan untuk proyek yang lebih kecil. Pada saatnya Anda akan melihat jejak database open source di organisasi Anda meningkat secara signifikan seiring dengan pengalaman tim Anda.
Pada titik tertentu, setelah mengumpulkan cukup pengalaman untuk menjalankan database open source, Anda dapat memutuskan untuk menarik tuas dan memulai proyek migrasi. Opsi lain, yang juga sangat mungkin, adalah Anda akan secara bertahap memindahkan operasi Anda ke database open source berdasarkan proyek per proyek. Pada akhirnya aplikasi Anda yang sudah ada yang menggunakan RDBMS berpemilik akan menjadi usang dan, pada akhirnya, digantikan oleh iterasi baru dari perangkat lunak, yang mengandalkan database open source.
Pilih Database yang Tepat untuk Pekerjaan
Kami telah menyebutkan bahwa database open source, biasanya, cukup terspesialisasi. Anda dapat memilih penyimpanan data yang cocok untuk penggunaan yang berbeda - deret waktu, penyimpanan dokumen, penyimpanan nilai kunci, penyimpanan kolom, pencarian teks. Ini, dikombinasikan dengan tip sebelumnya, memungkinkan Anda memilih dengan tepat jenis database yang dibutuhkan proyek kecil Anda. Katakanlah Anda ingin membangun tumpukan pemantauan untuk lingkungan Anda.
Anda mungkin ingin melihat ke database deret waktu seperti Prometheus atau TimeScaleDB untuk mendukung aplikasi pemantauan Anda. Mungkin Anda ingin menerapkan semacam solusi analitik/data besar. Anda harus merancang semacam proses ETL untuk mengekstrak data dari RDBMS utama Anda dan memuatnya ke dalam solusi open source. Ada banyak pilihan untuk digunakan sebagai datastore. Bergantung pada persyaratan dan data, Anda dapat memilih dari berbagai macam basis data, misalnya Clickhouse, Cassandra, Hive, dan banyak lagi.
Bagaimana dengan memindahkan beberapa bagian aplikasi dari RDBMS berpemilik ke solusi open source?
Ada opsi untuk itu juga. Datastore seperti PostgreSQL atau MariaDB memiliki banyak fitur yang berkaitan dengan kemudahan migrasi dari datastore seperti Oracle. Mereka datang dengan, misalnya, dukungan untuk PL/SQL dan fitur SQL lain yang tersedia untuk Oracle. Ini sangat membantu - lebih sedikit kode yang harus dikonversi bersama dengan migrasi dari Oracle ke database lain, kemungkinan besar prosedur dan fungsi tersimpan Anda juga akan berfungsi sebagian besar di luar kotak dan Anda tidak perlu menghabiskan banyak uang jumlah waktu untuk menulis ulang, menguji, dan men-debug kode yang mewakili logika inti aplikasi Anda.
Anda juga tidak boleh melupakan sumber daya yang sudah Anda miliki di tim Anda. Mungkin seseorang memiliki pengalaman dalam penyimpanan data open source yang lebih populer? Jika itu sesuai dengan kebutuhan Anda dan sesuai dengan lingkungan Anda, Anda mungkin dapat memanfaatkan pengetahuan yang ada di tim Anda dan transisi yang mudah ke dunia open source.
Pertimbangkan untuk Mendapatkan Dukungan
Migrasi ke penyimpanan data yang tidak terlalu berpengalaman selalu rumit. Bahkan jika Anda melanjutkan dengan langkah-langkah kecil, Anda mungkin masih terjebak oleh perilaku yang tidak terduga, situasi yang tidak terduga, bug, atau bahkan situasi operasional yang tidak Anda kenal.
Basis data sumber terbuka biasanya memiliki dukungan komunitas yang hebat - daftar email, forum, saluran Slack. Biasanya, ketika Anda bertanya, seseorang akan berusaha membantu Anda. Ini mungkin tidak cukup dalam beberapa kasus. Jika itu masalahnya, Anda harus mencari dukungan berbayar. Ada banyak cara bagaimana hal ini dapat dicapai.
Pertama-tama, tidak semua proyek open source dibuat sama. Proyek yang lebih besar, seperti PostgreSQL atau MySQL mungkin telah mengembangkan ekosistem perusahaan konsultan yang mempekerjakan ahli yang dapat melakukan konsultasi untuk Anda. Jika opsi tersebut, karena alasan apa pun, tidak tersedia atau tidak memungkinkan, Anda selalu dapat menghubungi pengelola proyek.
Sangat umum bahwa perusahaan, yang mengembangkan penyimpanan data, akan dengan senang hati membantu dengan harga tertentu.
Perusahaan konsultan independen memiliki keuntungan yang signifikan - mereka independen dan mereka akan mengusulkan solusi berdasarkan pengalaman mereka, bukan berdasarkan penyimpanan data dan alat yang mereka kembangkan. Vendor, yah, mereka biasanya akan mendorong solusi dan lingkungan mereka sendiri. Di sisi lain, vendor cukup tertarik untuk meningkatkan adopsi datastore mereka. Jika Anda bermigrasi dari penyimpanan data berpemilik, mereka mungkin pernah berada dalam situasi itu beberapa kali sebelumnya sehingga mereka seharusnya dapat memberi Anda praktik yang baik, membantu Anda merancang proses migrasi, dan seterusnya. Bagi perusahaan yang tidak berpengalaman, akses ke pakar di bidang migrasi mungkin merupakan aset yang bagus.
Anda mungkin menemukan akses ke dukungan eksternal yang berguna tidak hanya pada fase migrasi. Berurusan dengan penyimpanan data baru selalu rumit dan mempelajari semua aspek operasi memakan waktu. Bahkan setelah migrasi, Anda mungkin masih mendapat manfaat dari memiliki seseorang yang dapat Anda hubungi, tanyakan, dan, yang paling penting, pelajari darinya. Pelatihan, DBA jarak jauh, semuanya adalah opsi umum di dunia database open source, terutama untuk proyek yang lebih besar dan lebih mapan.
Temukan Sistem atau Alat untuk Membantu
Basis data sumber terbuka dilengkapi dengan berbagai alat, beberapa di antaranya kurang lebih rumit. Beberapa menambahkan fungsionalitas (ketersediaan tinggi, cadangan, pemantauan), beberapa dirancang untuk membuat manajemen database lebih mudah.
Penting untuk memanfaatkannya (kontrak konsultasi mungkin berguna di sini untuk memperkenalkan Anda pada alat paling penting untuk penyimpanan data sumber terbuka pilihan Anda) karena mereka dapat secara signifikan meningkatkan kecepatan operasional dan kinerja serta stabilitas seluruh pengaturan.
Beberapa alat gratis, beberapa memerlukan lisensi untuk beroperasi, Anda harus melihat ke dalam kumpulan dan memilih yang paling cocok untuk Anda. Kita berbicara di sini tentang penyeimbang beban, alat untuk mengelola topologi replikasi, alat manajemen IP Virtual, solusi pengelompokan, platform pemantauan dan observabilitas yang kurang lebih berdedikasi yang dapat melacak apa pun mulai dari metrik kinerja basis data biasa hingga memberikan prediksi cerdas berdasarkan data hingga khusus analisis kinerja kueri.
Dunia open source adalah tempat alat-alat seperti itu berkembang - ini juga memiliki pro dan kontra. Sangat mudah untuk menemukan alat "A", sulit untuk menemukan alat "THE". Anda dapat menemukan banyak proyek di GitHub, semua orang melakukan hal yang hampir sama seperti yang lain. Yang mana yang harus dipilih adalah bagian yang sulit. Itu sebabnya, idealnya Anda akan memiliki uluran tangan baik dalam kontrak dukungan atau Anda juga dapat mengandalkan platform manajemen yang akan membantu Anda mengelola berbagai aspek operasi pada basis data sumber terbuka, termasuk membantu Anda menstandarisasi dan memilih alat yang tepat untuk itu.
Ada juga platform seperti ClusterControl, yang dirancang untuk membantu orang yang tidak berpengalaman sepenuhnya memahami kekuatan database open source. ClusterControl mendukung berbagai jenis penyimpanan data sumber terbuka:MySQL dan variannya, PostgreSQL, TimeScaleDB atau MongoDB. Ini menyediakan antarmuka pengguna terpadu untuk mengakses fungsi manajemen untuk penyimpanan data tersebut, sehingga mudah untuk menyebarkan dan mengelolanya. Daripada menghabiskan waktu untuk menguji berbagai alat dan solusi, dengan menggunakan ClusterControl Anda dapat dengan mudah menerapkan lingkungan yang sangat tersedia, menjadwalkan pencadangan, dan melacak metrik dalam sistem.
Alat seperti ClusterControl mengurangi beban pada tim Anda, meningkatkan kemampuan mereka untuk memahami apa yang terjadi dalam database yang tidak mereka kenal seperti yang mereka inginkan.
Luangkan Waktu Anda
Yang perlu diingat adalah tidak perlu terburu-buru. Stabilitas lingkungan Anda dan kesejahteraan pengguna Anda adalah yang terpenting. Luangkan waktu Anda untuk menjalankan tes, verifikasi semua aspek aplikasi Anda. Pastikan Anda memiliki ketersediaan tinggi dan proses pemulihan bencana yang tepat.
Hanya ketika Anda 100% yakin Anda baik-baik saja untuk beralih, inilah saatnya untuk menarik tuas dan beralih ke database open source.