Database relasional, untuk waktu yang lama, merupakan solusi yang cukup standar untuk berbagai (dan hampir semua) kasus penggunaan perangkat lunak yang harus diselesaikan oleh perusahaan besar atau kecil.
Saat ini variabilitasnya jauh lebih tinggi dengan ketersediaan database NoSQL, dalam memori, atau data lake yang lebih luas. Namun terlepas dari itu, kapan pun keputusan dibuat untuk memigrasikan database lokal saat ini ke cloud, database relasional sebagai target masih merupakan opsi yang paling mudah untuk transisi ini.
Kami akan melihat lebih dekat database berikut yang dapat menjadi bagian dari inisiatif semacam itu:
- Peramal
- Aurora
- Microsoft SQLServer
- MySQL & PostgreSQL
- MariaDB
Saya akan menjelaskan bagaimana mereka berbeda dari yang lain dan apa yang membedakan mereka, termasuk kerugiannya. Kemudian saya akan membawa mereka ke dalam konteks dengan menunjukkan contoh penggunaan dunia nyata yang khas. Terakhir, saya akan membagikan pandangan saya tentang memutuskan antara database yang berbeda untuk kasus Anda.
AWS Oracle DB
Sumber: aws.amazon.com
Oracle DB tidak diragukan lagi merupakan basis data komersial yang paling banyak digunakan dalam beberapa dekade terakhir. Setiap kali perusahaan membutuhkan solusi database yang kuat dan berkinerja tinggi, Oracle DB adalah pilihan pertama. Dan untuk banyak alasan bagus.
Bagaimana Perbedaannya
Oracle adalah platform yang kuat dan kaya fungsionalitas yang dapat melayani banyak pengaturan dan persyaratan yang sangat berbeda. Seiring waktu, DB ini menjadi solusi utama jika Anda memerlukan keandalan, skalabilitas, dan pemeliharaan canggih yang hidup di infrastruktur perangkat keras lokal.
Keuntungan Utama
Berikut adalah beberapa keuntungan utama yang Anda dapatkan saat memilih sistem database yang matang seperti Oracle:
✅ Dukungan dan opsi hebat untuk aktivitas pencadangan dan pemulihan yang efektif.
✅ Bidang kemungkinan yang luas untuk cara menyetel kinerja solusi DB di dalam sistem. Bahkan lama kemudian, solusinya sudah diproduksi. Aktivitas dukungan dan pemeliharaan di dalam platform ini sangat mudah diatur, dan sangat efektif.
✅ Kustomisasi tinggi dari solusi DB. Karena Oracle DB mendukung sejumlah besar fungsi untuk dipilih, Anda sebagai integrator sistem memiliki banyak pilihan untuk membangun sistem yang kuat yang terdiri dari fungsi-fungsi yang dibutuhkan platform Anda (pemicu pemikiran, partisi, subpartisi, urutan kunci primer otomatis, tampilan , snapshot, kendala data, kunci unik, kunci gabungan, kunci asing, indeks komposit, dll.). Ini mendukung segalanya.
✅ Administrasi aktivitas dan proses basis data yang mudah. Konsol dan dasbor administrasi khusus, dan banyak alat yang dibuat oleh Oracle dan didedikasikan hanya untuk administrator untuk digunakan langsung.
✅ Dukungan lingkungan multi-pengguna. Jika persyaratannya adalah untuk mendukung ribuan pengguna aktif yang berbeda pada saat yang sama, Oracle adalah jawabannya.
Kerugian Utama
Oracle DB sangat fleksibel dalam hal penskalaan kinerja secara vertikal. Namun kurang begitu ketika Anda membutuhkan penskalaan horizontal yang kuat. Itu berarti mudah untuk meningkatkan ke CPU yang lebih kuat, lebih banyak memori, dan ruang penyimpanan pada DB cluster.
Tetapi jika data Anda tumbuh secara signifikan dalam waktu singkat – yang merupakan kasus biasa yang terjadi dengan data di cloud, hambatan kinerja akan menjadi lebih terlihat dan lebih sulit dipecahkan. Menyebarkan data ke beberapa cluster dan mengharapkannya tumbuh secara dinamis akan menjadi persyaratan utama ke depan. Dalam hal ini, Anda mungkin menemukan Oracle DB mulai lebih membatasi daripada memenuhi kebutuhan masa depan Anda.
Kerugian lain yang mungkin terjadi adalah biayanya. Oracle DB mendukung banyak fitur, tetapi banyak di antaranya juga dikenakan biaya. Terlebih lagi jika ada beberapa cluster dan peningkatan kinerja fisik diperlukan. Itu berarti penyetelan perangkat lunak model data tidak lagi memadai. Agar lebih banyak alat dan fitur administratif tersedia, Anda harus membeli lisensi perusahaan. Ini akan semakin meningkatkan biaya yang sudah tinggi.
Terakhir, Oracle DB bukanlah layanan AWS DB asli, yang berarti Anda tidak akan mengharapkan dukungan penuh dari AWS. Agak berorientasi pada dukungan Oracle. Namun kemudian tangani titik nyeri Oracle dan AWS secara paralel dan dengan dua set tim dukungan yang berbeda.
Kapan Memilih
Memilih pasangan cloud dari Oracle DB adalah keputusan yang paling wajar untuk diambil setiap kali solusi lokal Anda saat ini sudah menggunakan Oracle DB. Ini juga akan membuat migrasi dan beralih ke solusi berbasis cloud semudah mungkin.
Oleh karena itu, pilih AWS Oracle DB dalam kasus:
- Anda berharap cloud DB akan mendukung proses dan fungsi yang sama seperti varian lokal di masa mendatang.
- Anda tidak berencana untuk mengintegrasikan DB dengan terlalu banyak layanan asli AWS dengan sangat cepat.
- Anda tidak mengharapkan volume data saat ini akan tumbuh secara signifikan dalam waktu singkat.
- Anda memerlukan dukungan sejumlah besar fungsi yang tersedia. Artinya, akan sulit untuk kehilangan beberapa di antaranya saat ini saat beralih ke cloud.
- Sistem Anda harus mendukung ratusan pengguna aktif secara bersamaan (atau lebih).
Contoh Penggunaan
- Sistem telekomunikasi besar untuk penagihan, CRM, dan data middleware.
- Implementasi DB kustom untuk sistem basis data otomotif, terintegrasi dengan beberapa alat vendor kustom atau pihak ketiga yang berbeda.
- Solusi sistem terpaket untuk industri perbankan, di mana Oracle sudah menjadi bagian tetap dari solusi terpaket dari vendor dan akhirnya mengintegrasikan komponen DB kustom tambahan ke dalam satu implementasi kompleks.
AWS Aurora DB
Sumber: aws.amazon.com
Dalam banyak hal, Aurora adalah kebalikan langsung dari Oracle, meskipun itu masih berupa database relasional.
Bagaimana Perbedaannya
Autora DB adalah layanan database asli di AWS. AWS memberikan dukungan penuh dan pengembangan berkelanjutan serta mengintegrasikannya secara mendalam dengan ekosistem layanan AWS lainnya.
Aurora DB tidak mencapai tingkat diversifikasi fungsionalitas seperti yang sudah dimiliki Oracle. Tapi itu lahir di cloud (tidak seperti Oracle). Karena AWS mengembangkan Aurora lebih lanjut, kesenjangan fungsionalitas pada akhirnya mungkin akan lebih kecil di masa mendatang daripada saat ini.
Dalam banyak hal, Aurora sudah mengungguli Oracle, terutama dalam hal integrasi dengan layanan cloud AWS lainnya. Dan karena Amazon menciptakan Aurora dengan mempertimbangkan ekosistem cloud, Aurora siap untuk pendapatan data yang sangat besar dan meningkat seiring waktu, jadi penskalaan horizontal adalah properti yang kuat.
Keuntungan Utama
Saya akan mengatakan keunggulan utama Aurora DB adalah:
✅ Ekspansi yang sangat fleksibel dari instans salinan DB hanya-baca. Yang dapat Anda buat hanya dalam hitungan detik. Instans hanya baca berbagi log DB yang sama dari database utama asalnya. Itu berarti membuat database read-only baru tidak memerlukan sinkronisasi semua data; itu dilakukan secara otomatis dengan membagikan yang sudah ada.
✅ Siap pertumbuhan data besar – penskalaan horizontal adalah fitur besar Aurora DB. Menambahkan kluster baru dan memperluas skalabilitas di berbagai zona ketersediaan sangatlah mudah. Aurora kemudian sangat efektif dalam memilih data dalam jumlah besar dengan sangat cepat.
✅ Anda dapat memilih apakah akan menggunakan mode server atau tanpa server dari Aurora DB. Beberapa fitur akan hilang dalam mode tanpa server. Tetapi Anda mendapatkan banyak fleksibilitas dan pengoptimalan biaya saat memilih mode tanpa server.
✅ Pencadangan otomatis dan pengembalian point-in-time yang mudah. Sorotan lainnya adalah Aurora DB dapat melakukan pencadangan harian dengan mudah, dan memulihkan database lengkap ke titik waktu mana pun jauh lebih sederhana. Anda dapat menggabungkan semua keunggulan lingkungan cloud di sini, seperti ruang kosong yang selalu tersedia, operasi AWS dalam yang cepat, dan fitur Aurora DB khusus yang menargetkan waktu pemulihan yang cepat dan waktu henti yang singkat.
✅ Dukungan untuk mesin MySQL atau PostgreSQL DB, sehingga Anda dapat memilih mana yang cocok untuk Anda.
Kerugian Utama
- Meskipun Aurora bisa dibilang database relasional asli paling kaya fitur yang dapat Anda pilih di AWS, Aurora masih tertinggal dari Oracle dalam hal ini. Itu bisa dimengerti; Oracle memiliki lebih banyak waktu untuk mengembangkan fitur tersebut di masa lalu. Faktanya tetap bahwa Aurora DB, dengan setiap rilis, lebih kuat dan lebih dekat.
- Tidak ada yang setara dengan Aurora DB di ruang lokal. Anda dapat berargumen bahwa database lama yang dibangun di dalam database MySQL atau PostgreSQL sangat cocok – dan dari perspektif kompatibilitas, memang demikian. Tapi mereka bukan padanan yang ketat. Itu berarti migrasi tidak akan semudah itu. Anda perlu menyesuaikan dan mengimplementasikan proses migrasi untuk memastikan mereka akan mentransfer data dari lokal dan menyimpannya ke Aurora DB, semuanya dalam format model data yang benar.
- Berbagai batasan AWS, terutama yang sulit, merupakan faktor yang mungkin, dalam beberapa kasus, mengurangi pemilihan DB ini sebagai target untuk maju. Sangat mungkin Anda akan dapat mengatasi semuanya, tetapi untuk beberapa, Anda akan memerlukan investasi yang lebih serius untuk refactoring, yang pada akhirnya dapat meningkatkan keseluruhan biaya migrasi dibandingkan dengan target database lainnya.
Kapan Memilih
Singkatnya, memilih Aurora DB sebagai database relasional goto di platform AWS bukanlah keputusan yang buruk, tetapi lakukanlah, terutama jika:
- Anda akan membangun sistem cloud dari awal di sekitar basis data relasional.
- Anda mengharapkan tingkat kompatibilitas dan integrasi tertinggi dengan sebanyak mungkin layanan AWS asli yang berbeda.
- Anda berharap volume data Anda akan tumbuh secara signifikan dalam waktu singkat.
- Anda berencana untuk memulai beberapa proyek spin-off proof of concept (POC) di mana Anda dapat memanfaatkan semua keuntungan dari database relasional versi tanpa server.
Contoh Penggunaan
- Platform tanpa server untuk menganalisis data gambar infrastruktur dalam jumlah besar.
- Pemanfaatan model pembelajaran mesin untuk memproses informasi danau data Anda dan menghasilkan prediksi bisnis untuk bisnis Anda.
- Netflix menggunakan Aurora DB untuk eksekusi kueri paralel cepat atas data katalog mereka.
AWS Microsoft SQL DB
Sumber: aws.amazon.com
Database ini, dalam beberapa hal, sebanding dengan Oracle. Itu juga dibuat jauh sebelum cloud menjadi sesuatu, dan ada banyak pengguna lokal saat ini yang berencana untuk bermigrasi ke cloud, menggunakan MS SQL DB sebagai sumbernya.
Bagaimana Perbedaannya
Terlepas dari kesamaan itu, MS SQL DB masih merupakan salah satu yang jauh lebih sedikit digunakan di masa lalu dibandingkan dengan Oracle DB.
Setidaknya menilai dari perspektif pengalaman pribadi saya. Saya terlibat dalam beberapa proyek Oracle selama dua dekade terakhir, tetapi hanya dalam beberapa kasus di mana MS SQL DB terlibat. Dan sejujurnya, saya tidak suka berurusan dengannya sebanyak yang saya lakukan dengan Oracle DB.
Bagaimanapun, saya masih mengenali sebagian besar perusahaan yang menggunakan MS SQL DB sebagai database utama yang merupakan satu-satunya kebenaran untuk semua data.
Keuntungan Utama
Keuntungan utama yang dimiliki MS SQL DB:
✅ Integrasi yang baik dengan layanan dan perangkat lunak Microsoft lainnya, jika ini adalah fitur yang Anda anggap berharga untuk kasus Anda.
✅ Kustomisasi mudah dengan ekstensi kode khusus, sebagian besar dalam bentuk modul kode Javascript. Ini dapat berguna ketika berhadapan dengan proses bisnis yang lebih kompleks dan pekerjaan yang dijadwalkan melalui database.
✅ Cukup sederhana dari sudut pandang administrasi (setidaknya dibandingkan dengan Oracle DB).
✅ Ini mungkin jauh lebih masuk akal dalam ekosistem cloud Azure, karena dianggap sebagai sistem basis data relasional asli, jauh lebih kompatibel dengan layanan cloud lain di sana.
Kerugian Utama
- Sama halnya dengan kasus Oracle DB, sebagai database non-native di ruang cloud AWS, semua dukungan dan penyelesaian masalah harus digerakkan melalui tim dukungan MS SQL khusus yang terpisah.
- Lebih sedikit diversifikasi dukungan fungsionalitas secara umum setiap kali membandingkannya dengan Oracle DB atau Aurora DB.
- Tidak cocok untuk sejumlah besar pengguna aktif.
- Skalabilitas horizontal adalah masalah yang lebih besar dibandingkan dengan kasus Oracle DB.
Kapan Memilih
MS SQL DB paling cocok jika Anda ingin memigrasi MS SQL DB on-premise yang sudah ada ke cloud dengan gangguan sesedikit mungkin. Selain itu, Anda tidak terlalu mengharapkan integrasi dengan layanan cloud AWS lainnya.
Kemudian MS SQL DB akan hidup di dalam AWS cloud sebagai database yang dikelola sepenuhnya dengan penyimpanan tidak terbatas dan opsi tambahan untuk skalabilitas horizontal dan ketersediaan tinggi dibandingkan dengan alternatif di lokasi.
Contoh Penggunaan
- Bertindak sebagai platform jalan tengah untuk integrasi khusus dari berbagai sistem database (bahkan bisa dari jenis yang berbeda, misalnya, Oracle DB).
- Berbagai proyek berskala lebih kecil di mana biaya solusi database menjadi pertimbangan, dan anggaran lebih terbatas (dan tidak memungkinkan untuk menggunakan solusi Oracle DB yang lengkap).
AWS MySQL dan PostgreSQL DB
Sumber: aws.amazon.com
Basis data ini keduanya open source (walaupun sekarang sudah dibeli oleh perusahaan besar), pada akhirnya memberi mereka keuntungan dan kerugian.
Mereka juga tidak kaya fitur seperti alternatif lain, terutama dalam bentuk aslinya. Dan meskipun Anda masih dapat menggunakan keduanya dalam infrastruktur AWS dalam bentuk ini, saya ragu ini masih masuk akal secara praktis.
Bagaimana Perbedaannya
Saat memigrasikan DB di tempat (baik itu MySQL atau PostgreSQL) ke cloud AWS, Anda dapat langsung menggunakan Aurora dengan mesin MySQL atau PostgreSQL sebagai target dan mendapatkan semua manfaat tambahan yang ditawarkan Aurora DB.
Tentu, ini berarti beberapa upaya tambahan untuk fase migrasi dibandingkan dengan kasus ketika alternatif asli akan dipilih. Tetapi upaya tambahan itu hanya sedikit.
Manfaat utama mereka terletak pada biaya dan paling cocok untuk inisiatif proyek kecil, di mana kekokohan bukanlah topik yang sebenarnya.
Kerugian Utama
- Keduanya sangat terbatas dalam fungsi yang didukung, dan Anda perlu bersiap untuk opsi terbatas untuk pemeliharaan dan administrasi.
- Tidak cocok untuk proyek berskala besar dengan banyak pengguna aktif.
- Bukan yang terbaik untuk solusi kinerja tinggi dan di mana penyetelan kinerja yang konstan merupakan persyaratan yang kuat.
Kapan Memilih
- Jika biaya menjadi topik utama dan anggaran sangat terbatas.
- Jika inisiatif proyek agak kecil.
- Jika volume data agak kecil dan tidak ada rencana pertumbuhan yang signifikan.
Contoh Penggunaan
- Inisiatif proyek pribadi di mana biaya infrastruktur harus seminimal mungkin.
- POC kecil itu akan membuktikan bahwa konsep yang diajukan bisa direalisasikan.
- Proyek perusahaan kecil dengan sejumlah kecil data.
- Untuk proyek SaaS kecil, tidak memerlukan beban database dalam jumlah besar, hanya penyimpanan data dengan cara model data relasional yang benar-benar diperlukan.
AWS MariaDB
Sumber: aws.amazon.com
MariaDB masih merupakan database sumber terbuka sepenuhnya yang dibuat oleh mantan pengembang MySQL (setelah akuisisi MySQL oleh Oracle).
Dalam hal kompatibilitas, MySQL DB apa pun akan berjalan dengan baik di dalam MariaDB.
Bagaimana Perbedaannya
Dari segi fungsi, tidak banyak perbedaan dari MySQL yang diharapkan, tetapi properti open source adalah yang utama.
Secara teknis, ada cukup banyak fitur berguna yang tersedia di MariaDB tetapi tidak di MySQL.
Kerugian Utama
Sangat mirip dengan kasus MySQL.
Kapan Memilih
- Jika Anda benar-benar menyukai implementasi on-premise MariaDB Anda saat ini dan tidak ingin bermigrasi ke Aurora DB, untuk alasan apa pun.
- Jika Anda ingin tetap benar-benar open-source dengan solusi database Anda di dalam ekosistem cloud AWS.
Contoh Penggunaan
Sangat mirip dengan kasus MySQL.
Kata Akhir
Demikian pula, karena Oracle DB adalah solusi di dunia on-premise, tampaknya Aurora DB mengambil tempat ini di dunia cloud AWS. Setidaknya dari perspektif kumpulan fitur, ini adalah yang terdekat yang bisa Anda dapatkan.
Dan bahkan jika Anda tidak benar-benar mengejar pemangku kepentingan utama, ada baiknya mengetahui bahwa masih ada opsi yang cukup mudah tentang cara memigrasikan database Anda yang ada ke AWS cloud.
Lebih baik lagi – dengan sakelar ini, Anda akan secara otomatis mendapatkan fitur yang kemungkinan besar tidak Anda miliki hingga saat itu. Yang terpenting, perluasan penyimpanan yang lebih baik, ketersediaan tinggi, dan skalabilitas horizontal adalah semua fitur asli lingkungan cloud.