MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Membandingkan Penawaran Cloud Cluster Galera:Bagian Kedua Google Cloud Platform (GCP)

Di blog terakhir kami, kami membahas penawaran yang tersedia dalam Amazon Web Services (AWS) saat menjalankan MySQL Galera Cluster. Di blog ini, kita akan melanjutkan diskusi dengan melihat lebih jauh apa yang ditawarkan untuk menjalankan teknologi clustering yang sama, tetapi kali ini di Google Cloud Platform (GCP).

GCP, sebagai alternatif AWS, terus menarik aplikasi yang cocok untuk DevOps dengan menawarkan dukungan untuk beragam teknologi full-stack, aplikasi dalam container, dan sistem database produksi besar. Google Cloud adalah lingkungan yang telah teruji dan lengkap yang mendukung infrastruktur perangkat kerasnya sendiri di Google untuk produk seperti YouTube dan Gmail.

GCP telah mendapatkan daya tarik terutama karena daftar kemampuannya yang terus bertambah. Ini menawarkan dukungan untuk platform seperti Visual Studio, Android Studio, Eclipse, Powershell dan banyak lainnya. GCP memiliki salah satu jaringan komputer terbesar dan tercanggih dan menyediakan akses ke berbagai alat yang membantu Anda fokus dalam membangun aplikasi.

Hal lain yang menarik pelanggan untuk bermigrasi, mengimpor, atau menggunakan Google Cloud adalah dukungan dan solusi kuat mereka untuk containerization. Kubernetes (GKE:Google Kubernetes Engine) dibuat di platform mereka.

GCP juga baru-baru ini meluncurkan solusi baru bernama Anthos. Produk ini dirancang untuk memungkinkan organisasi mengelola beban kerja menggunakan antarmuka yang sama di Google Cloud Platform (GCP) atau di lokasi menggunakan GKE On-Prem, dan bahkan di cloud saingan seperti Amazon Web Services (AWS) atau Azure.

Selain teknologi ini, GCP menawarkan jenis mesin yang canggih dan andal, serta dioptimalkan untuk komputasi seperti keluarga C2 di GCE yang dibangun di atas Prosesor Intel yang Dapat Diskalakan (Cascade Lake) generasi terbaru.

GCP juga terus mendukung open source, yang menguntungkan pengguna dengan menyediakan kerangka kerja yang didukung dengan baik dan langsung yang memudahkan pengiriman produk akhir secara tepat waktu. Terlepas dari dukungan teknologi open source ini, GCP tidak memberikan dukungan asli untuk penerapan atau konfigurasi MySQL Galera Cluster. Di blog ini kami akan menunjukkan kepada Anda satu-satunya opsi yang tersedia bagi Anda jika Anda ingin menggunakan teknologi ini, penerapan melalui instance komputasi yang harus Anda kelola sendiri.

Google Compute Engine (GCE)

GCE memiliki kumpulan node komputasi yang canggih dan kuat yang tersedia untuk Anda konsumsi. Tidak seperti AWS, GCE memiliki node komputasi paling kuat yang tersedia di pasar (n1-ultramem-160 memiliki 160 vCPU dan memori 3,75 TB). GCE juga baru saja memperkenalkan tipe baru dari keluarga instance komputasi yang disebut tipe mesin C2. Dibangun di atas Intel Scalable Processors (Cascade Lake) generasi terbaru, jenis mesin C2 menawarkan turbo all-core berkelanjutan hingga 3,8 GHz dan memberikan transparansi penuh ke dalam arsitektur platform server yang mendasarinya; memungkinkan Anda menyempurnakan kinerja. Jenis mesin C2 menawarkan daya komputasi yang jauh lebih besar, berjalan pada platform yang lebih baru, dan umumnya lebih tangguh untuk beban kerja komputasi intensif daripada jenis mesin CPU tinggi N1. Penawaran keluarga C2 terbatas (pada saat penulisan) dan tidak tersedia di semua wilayah dan zona. C2 juga tidak mendukung disk persisten regional meskipun itu akan menjadi tambahan yang bagus untuk layanan database stateful yang membutuhkan redundansi dan ketersediaan tinggi. Sumber daya instans C2 terlalu banyak untuk node Galera, jadi kami akan fokus pada node komputasi, yang ideal.

GCE juga menggunakan KVM sebagai perangkat lunak teknologi virtualisasinya, sedangkan Amazon menggunakan Xen. Mari kita lihat node komputasi yang tersedia di GCE yang cocok untuk menjalankan Galera bersama kesetaraannya di AWS EC2. Harga berbeda berdasarkan wilayah, tetapi untuk bagan ini, kami menggunakan wilayah timur laut menggunakan jenis harga sesuai permintaan untuk AWS.

Jenis Mesin/Instance

Mesin Komputasi Google

AWS EC2

Dibagikan

f1-micro

G1-kecil

Harga mulai dari $0,006 -  $0,019 per jam

t2.nano – t3.2xlarge'

Harga mulai dari $0,0058 - $0,3328 per jam

Standar

n1-standard-1 – n1-standard-96

Harga mulai dari $0,034  - $3,193 per jam

m4.large – m4.16xlarge

m5.large – m5d.metal

Harga mulai dari $0,1 - $5.424  per jam

Memori Tinggi/ Memori Dioptimalkan

n1-highmem-2 – n1-highmem-96

n1-megamem-96

n1-ultramem-40 – n1-ultramem-160

Harga mulai dari $0,083  - $17.651 per jam

r4.large – r4.16xlarge

x1.16xlarge – x1.32xlarge

x1e.xlarge – x1e.32xlarge

Harga mulai dari $0,133  - $26.688 per jam

CPU/Penyimpanan Tinggi Dioptimalkan

n1-highcpu-2 – n1-highcpu-32

Harga mulai dari $0,05 - $2,383 per jam

h1.2xlarge – h1.16xlarge

i3.large – i3.metal

I3en.large - i3en.metal

d2.xlarge – d2.8xlarge

Harga mulai dari $0,156 - $10,848  per jam

GCE memiliki lebih sedikit jenis node komputasi yang tersedia untuk dipilih, tidak seperti AWS. Namun, ketika menyangkut jenis simpul, ia memiliki lebih banyak granularitas. Ini mempermudah penyiapan dan memilih jenis instans yang ingin Anda gunakan. Misalnya, Anda dapat menambahkan disk dan mengatur ukuran blok fisiknya (4 adalah default) ke 16 atau Anda dapat mengatur modenya baik baca/tulis atau baca-saja. Ini memungkinkan Anda untuk menawarkan jenis mesin yang tepat atau instans komputasi yang siap untuk mengelola node Galera Anda. Anda juga dapat membuat instance node komputasi menggunakan Cloud SDK, atau dengan menggunakan Cloud API, untuk mengotomatisasi atau mengintegrasikannya ke Continuous Integration, Delivery, atau Deployment (CI/CD).

Harga (Instance Hitung, Disk, vCPU, Memori, dan Jaringan)

Harga juga tergantung pada wilayah di mana ia berada, jenis OS atau lisensi (RHEL vs Suse Linux Enterprise), dan juga jenis penyimpanan disk yang Anda gunakan.

GCP juga menawarkan diskon yang memungkinkan Anda menghemat konsumsi sumber daya. Untuk Compute Engine, ini memberikan diskon yang berbeda untuk dimanfaatkan.

Diskon penggunaan berkelanjutan berlaku untuk sumber daya berikut:

  • VCPU dan memori untuk tujuan umum jenis mesin kustom dan standar

  • VCPU dan memori untuk jenis mesin dengan memori yang dioptimalkan

  • VCPU dan memori untuk jenis mesin yang dioptimalkan untuk komputasi

  • VCPU dan memori untuk node penyewa tunggal

  • Biaya premium 10% untuk node penyewa tunggal, bahkan jika vCPU dan memori di node tersebut dilindungi oleh diskon abonemen

  • Perangkat GPU1

Perhatikan bahwa diskon penggunaan berkelanjutan tidak berlaku untuk VM yang dibuat menggunakan Lingkungan Fleksibel App Engine dan Cloud Dataflow.

Anda juga dapat menggunakan Diskon Penggunaan Berkomitmen saat membeli VMS yang terikat kontrak. Jenis pilihan ini ideal untuk beban kerja yang dapat diprediksi dan kebutuhan sumber daya. Saat membeli kontrak komitmen penggunaan, Anda membeli vCPU, memori, GPU, dan SSD lokal dalam jumlah tertentu dengan harga diskon sebagai imbalan karena berkomitmen membayar sumber daya tersebut selama 1 tahun atau 3 tahun. Diskon hingga 57% untuk sebagian besar sumber daya seperti jenis mesin atau GPU. Diskon hingga 70% untuk jenis mesin dengan memori yang dioptimalkan. Setelah dibeli, Anda akan ditagih setiap bulan untuk sumber daya yang Anda beli selama jangka waktu yang Anda pilih (apakah Anda menggunakan layanan atau tidak).

Preemptible VM adalah instance yang dapat Anda buat dan jalankan dengan harga yang jauh lebih rendah daripada instance normal. Namun, Compute Engine dapat menghentikan (mendahului) instance ini jika memerlukan akses ke resource tersebut untuk tugas lain. Instance yang dapat diakhiri menggunakan kelebihan kapasitas Compute Engine, sehingga ketersediaannya bervariasi sesuai penggunaan.

Jika aplikasi Anda toleran terhadap kesalahan dan dapat menahan kemungkinan preemption instance, maka instance yang dapat diakhiri dapat mengurangi biaya Compute Engine Anda secara signifikan. Misalnya, pekerjaan pemrosesan batch dapat berjalan pada instans yang dapat diakhiri. Jika beberapa dari instans tersebut berhenti selama pemrosesan, pekerjaan akan melambat tetapi tidak sepenuhnya berhenti. Instans yang dapat diakhiri menyelesaikan tugas pemrosesan batch Anda tanpa menempatkan beban kerja tambahan pada instans yang ada, dan tanpa mengharuskan Anda membayar harga penuh untuk instans normal tambahan.

Untuk Compute Engine, ukuran disk, memori jenis mesin, dan penggunaan jaringan dihitung dalam gigabyte (GB), di mana 1 GB adalah 230 byte. Satuan pengukuran ini juga dikenal sebagai gibibyte (GiB). Ini berarti bahwa GCP menawarkan Anda untuk hanya membayar berdasarkan konsumsi sumber daya yang telah Anda alokasikan.

Sekarang, jika Anda memiliki aplikasi database produksi bermutu tinggi, sebaiknya (dan ideal) untuk melampirkan atau menambahkan persistent disk yang terpisah. Anda kemudian akan menggunakan disk tersebut sebagai volume database Anda, karena disk tersebut menawarkan performa disk yang andal dan konsisten di GCE. Semakin tinggi ukuran yang Anda atur, semakin tinggi IOPS yang ditawarkannya kepada Anda. Lihat daftar harga persistent disk mereka untuk menentukan harga yang akan Anda dapatkan. Selain itu, GCE memiliki persistent disk regional yang cocok jika Anda memerlukan ketersediaan tinggi yang lebih solid dan berkelanjutan dalam klaster database Anda. Persistent disk regional menambahkan lebih banyak redundansi jika instans Anda berhenti atau mogok atau rusak. Ini menyediakan replikasi data sinkron antara dua zona dalam satu region yang terjadi secara transparan dalam instance VM. Jika terjadi kegagalan zona, beban kerja Anda dapat dialihkan ke instance VM lain di zona yang sama, atau sekunder. Anda kemudian dapat memasang paksa disk persisten regional Anda ke instance itu. Waktu pemasangan paksa diperkirakan dalam waktu kurang dari satu menit.

Jika Anda menyimpan cadangan sebagai bagian dari solusi pemulihan bencana, dan memerlukan volume yang mencakup seluruh cluster, GCP menawarkan Cloud Filestore, NetApp Cloud Volumes, dan beberapa solusi berbagi file alternatif lainnya. Ini adalah layanan yang dikelola sepenuhnya yang menawarkan layanan standar dan premium. Anda dapat memeriksa halaman harga NetApp di sini dan harga Filestore di sini.

Enkripsi Galera di GCP

GCP tidak menyertakan dukungan khusus untuk jenis enkripsi yang tersedia untuk Galera. Namun, GCP mengenkripsi data pelanggan yang disimpan saat nonaktif secara default, tanpa perlu tindakan tambahan dari Anda. GCP juga menawarkan opsi lain untuk mengenkripsi data Anda menggunakan kunci enkripsi yang dikelola Pelanggan (CMEK) dengan Cloud KMS serta dengan kunci enkripsi yang disediakan Pelanggan (CSEK). GCP juga menggunakan enkripsi SSL/TLS untuk semua komunikasi yang dicegat saat data berpindah antara situs Anda dan penyedia cloud atau di antara dua layanan. Perlindungan ini dicapai dengan mengenkripsi data sebelum transmisi; mengautentikasi titik akhir; dan mendekripsi dan memverifikasi data pada saat kedatangan.

Karena Galera menggunakan MySQL di bawah tenda (Percona, MariaDB, atau Codership build), Anda dapat memanfaatkan Plugin Enkripsi Manajemen Kunci File oleh MariaDB atau dengan menggunakan plugin MySQL Keyring. Ini adalah blog eksternal oleh Percona yang merupakan sumber bagus tentang bagaimana Anda dapat menerapkan ini.

Galera Cluster Multi-AZ/Multi-Region/Multi-Cloud Deployment dengan GCP

Serupa dengan AWS, GCP tidak menawarkan dukungan langsung untuk menerapkan kluster Galera di Multi-AZ/-Region/-Cloud.

Ketersediaan Tinggi, Skalabilitas, dan Redundansi Galera Cluster di GCP

Salah satu alasan utama untuk menggunakan kluster node Galera adalah ketersediaannya yang tinggi, redundansi, dan kemampuannya untuk diskalakan. Jika Anda melayani lalu lintas secara global, sebaiknya Anda melayani lalu lintas berdasarkan wilayah dengan desain arsitektur Anda termasuk distribusi geografis node basis data Anda. Untuk mencapai hal ini, penerapan multi-AZ dan multi-wilayah atau multi-cloud/multi-pusat data direkomendasikan dan dapat dicapai. Ini mencegah cluster dari turun atau kerusakan cluster karena kurangnya kuorum.

Untuk lebih membantu Anda dengan desain skalabilitas, GCP juga memiliki penskala otomatis yang dapat Anda siapkan dengan grup penskalaan otomatis. Ini akan berfungsi selama Anda membuat cluster sebagai grup instance terkelola. Misalnya, Anda dapat memantau penggunaan CPU atau mengandalkan metrik dari Stackdriver yang ditentukan dalam kebijakan penskalaan otomatis. Hal ini memungkinkan Anda untuk menyediakan dan mengotomatiskan instans ketika ambang batas tertentu tercapai, atau menghentikan instans saat kembali ke keadaan normalnya.

Untuk penerapan multi-wilayah atau multi-cloud, Galera memiliki parameternya sendiri yang disebut gmcast.segment yang dapat Anda atur saat server mulai. Parameter ini dirancang untuk mengoptimalkan komunikasi antara node Galera dan meminimalkan jumlah lalu lintas yang dikirim antar segmen jaringan. Ini termasuk relay writeset dan pemilihan donor IST dan SST. Jenis pengaturan ini memungkinkan Anda untuk menerapkan beberapa node di wilayah yang berbeda. Selain itu, Anda juga dapat menerapkan node Galera pada perutean vendor cloud yang berbeda dari GCP, AWS, Microsoft Azure, atau di dalam lokasi.

Kami menyarankan Anda untuk memeriksa blog kami Beberapa Pengaturan Pusat Data Menggunakan Galera Cluster untuk MySQL atau MariaDB dan Migrasi Jaringan Tanpa Waktu Henti Dengan MySQL Galera Cluster Menggunakan Relay Node untuk mengumpulkan informasi lebih lanjut tentang cara menerapkan jenis ini penerapan.

Kinerja Database Cluster Galera di GCP

Karena tidak ada dukungan yang tersedia untuk Galera di GCP, pilihan Anda bergantung pada persyaratan dan desain permintaan traffic dan resource aplikasi Anda. Untuk kueri yang konsumsi memorinya tinggi, Anda dapat memulai dengan instans n1-highmem-2. Instans CPU tinggi (keluarga n1-highcpu*) bisa sangat cocok jika ini adalah database transaksional tinggi, atau cocok untuk aplikasi game.

Memilih penyimpanan yang tepat dan IOPS yang diperlukan untuk volume database Anda adalah suatu keharusan. Secara umum, persistent disk berbasis SSD adalah pilihan Anda di sini. Tergantung pada volume lalu lintas yang diperlukan, Anda mungkin harus memeriksa opsi penyimpanan GCP sehingga Anda dapat menentukan ukuran yang tepat untuk aplikasi Anda.

Kami juga menyarankan Anda untuk memeriksa dan membaca blog kami Cara Meningkatkan Kinerja Galera Cluster untuk MySQL atau MariaDB untuk mempelajari lebih lanjut tentang mengoptimalkan Galera Cluster Anda.

Cadangan Data Galera di GCP

Tidak hanya data MySQL Galera Anda yang harus dicadangkan, Anda juga harus mencadangkan seluruh tier yang terdiri dari aplikasi database Anda. Ini termasuk file log (logis atau biner), file eksternal, file sementara, file dump, dll. Google menyarankan agar Anda selalu membuat snapshot volume persistent disk yang sedang digunakan oleh instance GCE Anda. Anda dapat dengan mudah membuat dan menjadwalkan snapshot. Snapshot GCP disimpan di Cloud Storage dan Anda dapat memilih lokasi atau region yang diinginkan untuk menyimpan cadangan. Anda juga dapat mengatur jadwal untuk snapshot Anda serta menetapkan kebijakan retensi snapshot.

Anda juga dapat menggunakan layanan eksternal seperti, ClusterControl, yang memberi Anda solusi pemantauan dan pencadangan. Lihat ini jika Anda ingin tahu lebih banyak.

Pemantauan Database Cluster Galera di GCP

GCP tidak menawarkan pemantauan database saat menggunakan GCE. Memantau kesehatan instance Anda dapat dilakukan melalui Stackdriver. Namun, untuk database, Anda perlu mengambil alat pemantauan eksternal yang memiliki metrik database yang sangat granular dan canggih. Ada banyak pilihan yang dapat Anda pilih seperti PMM by Percona, DataDog, Idera, VividCortex, atau ClusterControl kami sendiri (Pemantauan GRATIS dengan Komunitas ClusterControl.)

Keamanan Database Cluster Galera di GCP

Seperti yang dibahas di blog kami sebelumnya, Anda dapat mengambil pendekatan yang sama untuk mengamankan database Anda di cloud publik. Di GCP, Anda dapat menyiapkan subnet pribadi, aturan firewall untuk hanya mengizinkan port yang diperlukan untuk menjalankan Galera (khususnya port 3306, 4444, 4567, 4568). Anda dapat menggunakan NAT Gateway atau menyiapkan bastion host untuk mengakses node database pribadi Anda. Saat node ini dienkapsulasi, node tersebut tidak dapat diakses dari luar lokasi GCP. Anda dapat membaca blog kami sebelumnya Menyebarkan Replikasi MySQL Multicloud Aman di AWS dan GCP dengan VPN tentang cara kami menyiapkannya.

Selain itu, Anda dapat mengamankan data dalam perjalanan dengan menggunakan koneksi TLS/SSL atau dengan mengenkripsi data Anda saat tidak digunakan. Jika Anda menggunakan ClusterControl, menerapkan data aman dalam perjalanan itu sederhana dan mudah. Anda dapat melihat blog kami Manajemen Kunci SSL dan Enkripsi Data MySQL dalam Transit jika Anda ingin mencobanya. Untuk data at-rest, Anda bisa mengikuti pembahasan yang sudah saya sampaikan sebelumnya di bagian Encryption blog ini.

Pemecahan Masalah Klaster Galera 

GCP menawarkan Stackdriver Logging yang dapat Anda manfaatkan untuk membantu Anda dengan persyaratan observabilitas, pemantauan, dan notifikasi. Hal hebat tentang Stackdriver Logging adalah ia menawarkan integrasi dengan AWS. Dengan itu Anda dapat menangkap peristiwa secara selektif dan kemudian meningkatkan peringatan berdasarkan peristiwa itu. Ini dapat membuat Anda tetap mengetahui masalah tertentu yang mungkin muncul dan membantu Anda selama pemecahan masalah. GCP juga memiliki Cloud Audit Logs yang memberi Anda lebih banyak informasi yang dapat dilacak dari dalam lingkungan GCP, dari aktivitas admin, akses data, dan peristiwa sistem.

Jika Anda menggunakan ClusterControl, buka Log -> Log Sistem, dan Anda akan dapat menelusuri log kesalahan yang diambil dari node MySQL Galera itu sendiri. Selain itu, ClusterControl menyediakan pemantauan waktu nyata yang akan memperkuat alarm dan sistem notifikasi Anda jika terjadi keadaan darurat atau jika node MySQL Galera Anda rusak.

Kesimpulan

Google Cloud Platform menawarkan beragam layanan yang efisien dan andal yang dapat Anda manfaatkan. Memang ada pro dan kontra untuk setiap platform cloud publik, tetapi GCP membuktikan bahwa AWS tidak memiliki kunci di cloud.

Sangat menarik bahwa perusahaan besar seperti Vimeo pindah ke GCP yang berasal dari lokal dan mereka mengalami beberapa hasil menarik dalam tumpukan teknologi mereka. Bloomberg juga senang dengan GCP dan menggunakan Percona XtraDB Cluster (varian Galera). Beri tahu kami pendapat Anda tentang penggunaan GCP untuk penyiapan MySQL Galera di komentar di bawah.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Melindungi Database MySQL atau MariaDB Anda Dari SQL Injection:Bagian Kedua

  2. MariaDB JSON_VALID() Dijelaskan

  3. Cara Mengatur MariaDB untuk menggunakan Output Vertikal

  4. 4 Cara Mendaftar Semua Tampilan di Database MariaDB

  5. Bagaimana FORMAT() Bekerja di MariaDB