Konfigurasi basis data, cadangan, dan failover - Hosting Aplikasi Web di AWS Cloud

Konfigurasi basis data, cadangan, dan failover

Banyak aplikasi web berisi beberapa bentuk persistensi, biasanya dalam bentuk basis datarelasional atau non-relasional. AWS menawarkan layanan basis data relasional dan non-relasional. Atau, Anda dapat menggunakan perangkat lunak basis data Anda sendiri pada instans EC2. Tabel berikut merangkum pilihan ini, yang dibahas secara lebih rinci di bagian ini.

Tabel 1 - Solusi basis data relasional dan non-relasional

Solusi Basis Data Relasional Solusi NoSQL
Layanan basis data terkelola Amazon RDS for MySQL, Oracle, SQL Server, MariaDB, PostgreSQL, Amazon Aurora Amazon DynamoDB , Amazon Keyspaces, Amazon Neptune, Amazon QLDB, Amazon Timestream
Dikelola sendiri Hosting sistem manajemen basis data relasional (DBMS) pada instans Amazon EC2 Hosting solusi basis data non-relasional pada instans EC2

Amazon RDS

Amazon Relational Database Service (Amazon RDS) memberi Anda akses ke kemampuan mesin basis data MySQL, PostgreSQL, Oracle, dan Microsoft SQL Server yang sudah dikenal. Kode, aplikasi, dan alat yang sudah Anda gunakan dapat digunakan dengan Amazon RDS. Amazon RDS secara otomatis menambal perangkat lunak basis data dan mencadangkan basis data Anda, dan menyimpan cadangan untuk periode retensi yang ditentukan pengguna. Ini juga mendukung pemulihan titik waktu. Anda mendapatkan keuntungan dari fleksibilitas untuk dengan mudah menskalakan sumber daya komputasi atau kapasitas penyimpanan yang terkait dengan instans basis data Anda.

Penerapan Multi-AZ Amazon RDS meningkatkan ketersediaan basis data Anda dan melindungi basis data Anda dari pemadaman yang tidak direncanakan. Replika Baca Amazon RDS menyediakan replika baca-saja basis data Anda, sehingga Anda dapat meningkatkan skala di luar kapasitas penyebaran basis data tunggal untuk beban kerja basis data yang berat baca. Seperti semua layanan AWS, tidak diperlukan investasi di muka, dan Anda hanya membayar untuk sumber daya yang Anda gunakan.

Hosting sistem manajemen basis data relasional (RDBMS) pada instans Amazon EC2

Selain penawaran Amazon RDS terkelola, Anda dapat menginstal pilihan RDBMS (seperti MySQL, Oracle, SQL Server, atau DB2) pada instans EC2 dan mengelolanya sendiri. Pelanggan AWS yang meng-host basis data di Amazon EC2 berhasil menggunakan berbagai model primer/siaga dan replikasi, termasuk mirroring untuk salinan hanya-baca dan pengiriman log untuk budak pasif yang selalu siap.

Saat mengelola perangkat lunak basis data Anda sendiri secara langsung di Amazon EC2, Anda juga harus mempertimbangkan ketersediaan penyimpanan yang toleran terhadap kesalahan dan persisten. Untuk tujuan ini, kami menyarankan agar basis data yang berjalan di Amazon EC2 menggunakan volume Amazon Elastic Block Store (Amazon EBS), yang mirip dengan penyimpanan yang terpasang di jaringan.

Untuk instans EC2 yang menjalankan basis data, Anda harus menempatkan semua data basis data dan log pada volume EBS. Ini akan tetap tersedia bahkan jika host basis data gagal. Konfigurasi ini memungkinkan skenario failover sederhana, di mana instans EC2 baru dapat diluncurkan jika host gagal, dan volume EBS yang ada dapat dilampirkan ke instans baru. Basis data kemudian dapat diteruskan kembali.

Volume EBS secara otomatis memberikan redundansi dalam Zona Ketersediaan. Jika performa volume EBS tunggal tidak cukup untuk kebutuhan basis data Anda, volume dapat bergaris untuk meningkatkan performa operasi input/output per detik (IOPS) untuk basis data Anda.

Untuk beban kerja yang menuntut, Anda juga dapat menggunakan IOPS Provisioned EBS, di mana Anda menentukan IOPS yang diperlukan. Jika Anda menggunakan Amazon RDS, layanan mengelola penyimpanannya sendiri sehingga Anda dapat fokus mengelola data Anda.

Basis data non-relasional

Selain mendukung basis data relasional, AWS juga menawarkan sejumlah basis data non-relasional terkelola:

  • Amazon DynamoDB adalah layanan basis data NoSQL yang dikelola penuh yang memberikan performa cepat dan dapat diprediksi dengan skalabilitas mulus. Menggunakan AWS Management Console atau DynamoDB API, Anda dapat menskalakan kapasitas naik atau turun tanpa waktu henti atau degradasi performa. Karena DynamoDB menangani beban administratif operasi dan penskalaan basis data terdistribusi ke AWS, Anda tidak perlu khawatir tentang penyediaan perangkat keras, penyiapan dan konfigurasi, replikasi, patch perangkat lunak, atau penskalaan klaster.

  • Amazon DocumentDB (dengan kompatibilitas MongoDB) adalah layanan basis data yang dibangun khusus untuk manajemen data JSON sesuai skala, dikelola sepenuhnya, dan terintegrasi dengan AWS, serta siap digunakan untuk perusahaan dengan daya tahan tinggi.

  • Amazon Keyspaces (untuk Apache Cassandra) adalah layanan basis data yang kompatibel dengan Apache Cassandra yang dapat diskalakan, sangat tersedia, dan terkelola. Dengan Amazon Keyspaces, Anda dapat menjalankan beban kerja Cassandra di AWS dengan kode aplikasi Cassandra dan alat pengembang yang sama dengan yang Anda gunakan saat ini.

  • Amazon Neptune merupakan layanan basis data grafik yang cepat, andal, dan dikelola sepenuhnya yang memudahkan untuk membuat dan menjalankan aplikasi yang bekerja dengan data set yang selalu terhubung. Inti dari Amazon Neptune adalah mesin basis data grafik performa tinggi dan dibuat dengan tujuan khusus yang dioptimalkan untuk menyimpan miliaran hubungan dan melakukan kueri grafik dengan latensi milidetik.

  • Amazon Quantum Ledger Database (Amazon QLDB) (QLDB) adalah basis data buku besar terkelola sepenuhnya yang menyediakan log transaksi transparan, tetap, dan dapat diverifikasi secara kriptografis milik otoritas pusat tepercaya. Amazon QLDB dapat digunakan untuk melacak setiap perubahan data aplikasi dan mempertahankan riwayat perubahan yang lengkap dan dapat diverifikasi dari waktu ke waktu.

  • Amazon Timestream adalah layanan basis data deret waktu yang cepat, dapat diskalakan, dan nirserver untuk IoT dan aplikasi operasional yang memudahkan penyimpanan dan analisis triliunan peristiwa per hari hingga 1.000 kali lebih cepat dan dengan biaya sebesar 1/10 dari biaya basis data relasional.

Selain itu, Anda dapat menggunakan Amazon EC2 untuk meng-host teknologi basis data non-relasional lain yang mungkin Anda gunakan.