Mengoptimalkan database Anda

Last reviewed 2023-08-28 UTC

Dokumen dalam Framework Arsitektur Google Cloud ini memberikan praktik terbaik untuk men-deploy sistem Anda berdasarkan desain database. Anda akan mempelajari cara mendesain, memindahkan, dan menskalakan database, mengenkripsi informasi database, mengelola pemberian lisensi, dan memantau database untuk peristiwa Anda.

Layanan kunci enkripsi

Dokumen dalam kategori desain sistem Framework Arsitektur ini memberikan praktik terbaik yang mencakup berbagai layanan database Google Cloud. Tabel berikut memberikan ringkasan umum tentang layanan ini:

Layanan Google Cloud Deskripsi
Cloud SQL Layanan database terkelola sepenuhnya yang dapat Anda gunakan untuk menyiapkan, memelihara, mengelola, dan mengatur database relasional yang menggunakan Cloud SQL untuk PostgreSQL, Cloud SQL untuk MySQL, dan Cloud SQL untuk SQL Server. Cloud SQL menawarkan performa dan skalabilitas tinggi. Dihosting di Google Cloud Platform, Cloud SQL menyediakan infrastruktur database untuk aplikasi yang dapat berjalan di mana saja.
Bigtable Tabel yang dapat diskalakan hingga miliaran baris dan ribuan kolom, sehingga memungkinkan Anda dapat menyimpan data hingga petabyte. Satu nilai di setiap baris terindeks; nilai ini dikenal sebagai row key. Gunakan Bigtable untuk menyimpan data dengan satu kunci dalam jumlah yang sangat besar dengan latensi yang sangat rendah. Hal tersebut mendukung throughput baca dan tulis yang tinggi pada latensi rendah, serta merupakan sumber data untuk operasi MapReduce.
Spanner Layanan database perusahaan yang skalabel, terdistribusi secara global, dan dibuat untuk cloud yang mencakup struktur database relasional dan skala horizontal non-relasional. Kombinasi ini menghasilkan transaksi dan konsistensi berperforma tinggi di seluruh baris, region, dan benua. Spanner memberikan ketersediaan SLA 99,999%, tanpa periode nonaktif terencana, dan keamanan tingkat perusahaan.
Memorystore Layanan Redis yang terkelola sepenuhnya untuk Google Cloud. Aplikasi yang berjalan di Google Cloud dapat meningkatkan performa menggunakan layanan Redis yang sangat tersedia, skalabel, dan aman tanpa mengelola deployment Redis yang rumit.
Firestore Database dokumen NoSQL yang dibuat untuk penskalaan otomatis, performa tinggi, dan pengembangan aplikasi. Meskipun antarmuka Firestore memiliki banyak fitur yang sama seperti database tradisional, antarmuka Firestore merupakan database NoSQL dan mendeskripsikan hubungan antar-objek data secara berbeda.
Firebase Realtime Database Database yang dihosting di cloud. Firebase menyimpan data sebagai JSON dan disinkronkan secara real time ke setiap klien yang terhubung. Ketika Anda mem-build aplikasi lintas platform dengan SDK iOS, Android, dan JavaScript kami, semua klien akan menggunakan satu instance Realtime Database yang sama dan menerima perubahan data terbaru secara otomatis.
Database open source Partner Google menawarkan berbagai database open source, termasuk MongoDB, MariaDB, dan Redis.
AlloyDB untuk PostgreSQL Layanan database yang kompatibel dengan PostgreSQL dan terkelola sepenuhnya untuk workload perusahaan dengan tuntutan tinggi. PostgreSQL memberikan performa hingga 4x lebih cepat untuk workload transaksional dan kueri analitis hingga 100x lebih cepat jika dibandingkan dengan PostgreSQL standar. AlloyDB untuk PostgreSQL menyederhanakan pengelolaan dengan sistem autopilot berkemampuan machine learning.

Pilihan database

Bagian ini memberikan praktik terbaik untuk memilih database yang mendukung sistem Anda.

Pertimbangkan untuk menggunakan layanan database terkelola

Evaluasi layanan database terkelola Google Cloud sebelum Anda menginstal database atau cluster database Anda sendiri. Menginstal database sendiri memerlukan overhead pemeliharaan termasuk menginstal patch dan update, serta mengelola aktivitas operasional harian seperti pemantauan dan melakukan pencadangan.

Gunakan persyaratan aplikasi fungsional dan non-fungsional untuk mendorong pemilihan database. Pertimbangkan akses latensi rendah, pemrosesan data deret waktu, pemulihan dari bencana, dan sinkronisasi klien seluler.

Untuk memigrasikan database, gunakan salah satu produk yang dijelaskan dalam tabel berikut:

Produk migrasi database Deskripsi
Cloud SQL Layanan regional yang mendukung replika baca di region terpencil, pembacaan latensi rendah, dan pemulihan dari bencana.
Spanner Penawaran multi-regional yang memberikan konsistensi eksternal, replikasi global, dan 99,999% perjanjian tingkat layanan (SLA).
Bigtable Layanan database NoSQL yang skalabel dan terkelola sepenuhnya untuk workload operasional dan analisis yang besar dengan ketersediaan hingga 99,999%
Memorystore Layanan database terkelola sepenuhnya yang menyediakan versi terkelola dari dua solusi cache open source yang populer: Redis dan Memcached.
Firebase Realtime Database Firebase Realtime Database adalah database NoSQL yang cloud-hosted dan dapat digunakan untuk menyimpan dan menyinkronkan data antarpengguna secara real-time.
Firestore Database dokumen NoSQL yang dibuat untuk penskalaan otomatis, performa tinggi, dan kemudahan untuk mengembangkan aplikasi.
Open source Opsi database alternatif termasuk MongoDB dan MariaDB.

Migrasi database

Untuk memastikan pengguna tidak mengalami periode nonaktif aplikasi saat Anda memigrasikan workload yang ada ke Google Cloud, Anda harus memilih teknologi database yang mendukung persyaratan Anda. Untuk mengetahui informasi tentang opsi dan praktik terbaik migrasi database, lihat Solusi migrasi database dan Praktik terbaik untuk migrasi database homogen.

Perencanaan untuk migrasi database meliputi hal berikut:

  • Penilaian dan penemuan pada database saat ini.
  • Definisi dari kriteria keberhasilan migrasi.
  • Penyiapan lingkungan untuk migrasi dan database target.
  • Pembuatan skema dalam database target.
  • Migrasi data ke database target.
  • Validasi migrasi untuk memverifikasi bahwa semua data dimigrasikan dengan benar dan ada di database.
  • Pembuatan strategi rollback.

Pilih strategi migrasi

Memilih database target yang sesuai adalah salah satu kunci keberhasilan dari migrasi. Tabel berikut menyediakan opsi migrasi untuk beberapa kasus penggunaan:

Kasus penggunaan Rekomendasi
Pengembangan baru di Google Cloud. Pilih salah satu database terkelola yang di-build untuk cloud—Cloud SQL, Spanner, Bigtable, atau Firestore—untuk memenuhi persyaratan kasus penggunaan Anda.
Migrasi lift-and-shift. Pilih layanan database terkelola yang kompatibel seperti Cloud SQL, MYSQL, PostgreSQL, atau SQLServer.
Aplikasi Anda memerlukan akses terperinci ke database yang tidak didukung oleh CloudSQL. Jalankan database Anda di VM Compute Engine.

Gunakan Memorystore untuk mendukung lapisan database cache Anda

Memorystore adalah database Redis dan Memcached terkelola sepenuhnya yang mendukung latensi submilidetik. Memorystore sepenuhnya kompatibel dengan Redis dan Memcached Jika Anda menggunakan database cache ini di aplikasi Anda, Anda dapat menggunakan Memorystore tanpa membuat perubahan tingkat aplikasi dalam kode Anda.

Gunakan server Bare Metal untuk menjalankan database Oracle

Jika workload Anda memerlukan database Oracle, gunakan server Bare Metal yang disediakan oleh Google Cloud. Pendekatan ini cocok dengan strategi migrasi lift-and-shift.

Jika Anda ingin memindahkan workload Anda ke Google Cloud dan memodernisasikan setelah workload dasar pengukuran Anda berfungsi, pertimbangkan untuk menggunakan opsi database terkelola seperti Spanner, Bigtable, dan Firestore.

Database yang di-build untuk cloud adalah database terkelola modern yang di-build dari bawah ke atas di infrastruktur cloud. Database ini memberikan kemampuan default unik seperti skalabilitas dan ketersediaan tinggi, yang sulit dicapai jika Anda menjalankan database sendiri.

Modernisasi database Anda

Rencanakan strategi database Anda di awal proses desain sistem, baik saat akan mendesain aplikasi baru di cloud atau memigrasikan database yang sudah ada ke cloud. Google Cloud menyediakan opsi database terkelola untuk database open source seperti Cloud SQL untuk MySQLdan Cloud SQL untuk PostgreSQL. Sebaiknya gunakan migrasi sebagai peluang untuk memodernisasi database Anda dan menyiapkannya untuk mendukung kebutuhan bisnis di masa mendatang.

Gunakan database tetap dengan aplikasi siap pakai

Aplikasi Commercial off-the-shelf (COTS) memerlukan jenis database tetap dan konfigurasi tetap. Lift-and-shift biasanya merupakan pendekatan migrasi yang paling cocok untuk aplikasi COTS.

Verifikasi keahlian migrasi database tim Anda

Pilih pendekatan migrasi database cloud berdasarkan kemampuan dan keahlian migrasi database tim Anda. Gunakan Google Cloud Partner Advantage untuk menemukan partner yang dapat mendukung Anda di sepanjang perjalanan migrasi Anda.

Rancang database Anda untuk memenuhi persyaratan HA dan DR

Saat Anda merancang database untuk memenuhi persyaratan ketersediaan tinggi (HA) dan pemulihan dari bencana (DR), lakukan evaluasi keseimbangan antara keandalan dan biaya. Layanan database yang di-buid untuk cloud membuat beberapa salinan data Anda dalam satu atau beberapa region, bergantung pada database dan konfigurasinya.

Beberapa layanan Google Cloud memiliki varian multi-regional, seperti BigQuery dan Spanner. Agar tidak terganggu oleh kegagalan regional, gunakan layanan multi-regional ini dalam desain Anda jika memungkinkan.

Jika Anda mendesain database di VM Compute Engine, dan bukan menggunakan database terkelola di Google Cloud, pastikan Anda menjalankan beberapa salinan dari database Anda. Untuk informasi selengkapnya, lihat Desain untuk skala dan ketersediaan tinggi dalam kategori Keandalan.

Tentukan region cloud untuk mendukung residensi data

Residensi data menjelaskan lokasi data Anda secara fisik dalam penyimpanan. Pertimbangkan untuk memilih region cloud tertentu untuk men-deploy database berdasarkan persyaratan residensi data Anda.

Jika Anda men-deploy database di beberapa region, mungkin ada replikasi data di antara region, tergantung bagaimana cara Anda mengonfigurasinya. Pilih konfigurasi yang menyimpan data Anda dalam region yang diinginkan pada penyimpanan. Beberapa database, seperti Spanner, menawarkan replikasi multi-regional default. Anda juga dapat menerapkan residensi data dengan menetapkan kebijakan organisasi yang menyertakan batasan lokasi resource. Untuk informasi selengkapnya, lihat Membatasi Lokasi Resource.

Sertakan pemulihan dari bencana dalam desain residensi data

Sertakan Batas Waktu Pemulihan (RTO) dan Toleransi Durasi Kehilangan Data (RPO) dalam rencana residensi data Anda, dan pertimbangkan keseimbangan antara RTO/RPO serta biaya solusi pemulihan dari bencana. Jumlah RTO/RPO yang lebih kecil akan menghasilkan biaya yang lebih tinggi. Jika ingin sistem Anda pulih lebih cepat dari berbagai gangguan, biaya untuk mengoperasikannya akan lebih mahal. Selain itu, pertimbangkan kepuasan pelanggan ke dalam pendekatan pemulihan dari bencana untuk memastikan bahwa investasi keandalan Anda sesuai. Untuk informasi selengkapnya, baca artikel Keandalan 100% adalah target yang salah dan Panduan rencana pemulihan dari bencana.

Pastikan database Anda mematuhi kebijakan Google Cloud

Saat Anda memilih database untuk workload Anda, pastikan layanan yang dipilih memenuhi kepatuhan untuk region geografis tempat Anda beroperasi dan tempat data Anda disimpan secara fisik. Untuk informasi selengkapnya tentang sertifikasi dan standar kepatuhan Google, lihat Penawaran kepatuhan.

Enkripsi

Bagian ini memberikan praktik terbaik untuk mengidentifikasi persyaratan enkripsi dan memilih strategi kunci enkripsi untuk mendukung sistem Anda.

Tentukan persyaratan enkripsi

Persyaratan enkripsi Anda bergantung pada beberapa faktor, termasuk kebijakan keamanan perusahaan dan persyaratan kepatuhan. Semua data yang disimpan di Google Cloud dienkripsi dalam penyimpanan secara default, tanpa memerlukan tindakan dari Anda, menggunakan AES256. Untuk informasi selengkapnya, lihat Enkripsi dalam penyimpanan di Google Cloud.

Pilih strategi kunci enkripsi

Tentukan apakah Anda ingin mengelola kunci enkripsi sendiri atau ingin menggunakan layanan terkelola. Google Cloud mendukung kedua skenario tersebut. Jika Anda menginginkan layanan terkelola sepenuhnya untuk mengelola kunci enkripsi Anda di Google Cloud, pilih Cloud Key Management Service (Cloud KMS). Jika Anda ingin mengelola kunci enkripsi untuk mempertahankan kontrol lebih besar atas siklus proses kunci, gunakan Customer-managed encryption keys (CMEK.

Untuk membuat dan mengelola kunci enkripsi Anda di luar Google Cloud, pilih salah satu opsi berikut:

  • Jika Anda menggunakan akselerator solusi untuk mengelola kunci, gunakan Cloud External Key Manager.
  • Jika Anda mengelola kunci secara lokal dan ingin menggunakan kunci tersebut untuk mengenkripsi data di Google Cloud, importkunci tersebut ke Cloud KMS baik sebagai kunci KMS atau kunci Hardware Key Module (HSM). Gunakan kunci tersebut untuk mengenkripsi data Anda di Google Cloud.

Desain database dan penskalaan

Bagian ini memberikan praktik terbaik untuk mendesain dan penskalaan database guna mendukung sistem Anda.

Gunakan metrik pemantauan untuk menilai kebutuhan penskalaan

Gunakan metrik dari alat dan lingkungan pemantauan yang sudah ada untuk menetapkan pemahaman dasar tentang ukuran database dan persyaratan penskalaan. Sebagai contoh, menentukan ukuran yang tepat dan merancang strategi penskalaan untuk instance database Anda.

Untuk desain database baru, tentukan jumlah penskalaan berdasarkan beban dan pola traffic yang diharapkan dari aplikasi penyaluran. Untuk informasi selengkapnya, lihat Pemantauan instance Cloud SQL, Pemantauan dengan Cloud Monitoring, dan Pemantauan instance.

Jaringan dan akses

Bagian ini memberikan praktik terbaik untuk mengelola jaringan dan akses untuk mendukung sistem Anda.

Jalankan database di dalam jaringan pribadi

Jalankan database di dalam jaringan pribadi Anda dan berikan akses terbatas hanya kepada klien yang perlu berinteraksi dengan database tersebut. Anda dapat membuat instance Cloud SQL di dalam VPC Google Cloud juga menyediakan Kontrol Layanan VPC untuk database Cloud SQL, Spanner, dan Bigtable database untuk memastikan bahwa akses ke resource ini dibatasi hanya untuk klien dalam jaringan VPC yang diotorisasi.

Berikan hak istimewa minimum kepada pengguna

Identity and Access Management (IAM) mengontrol akses ke layanan Google Cloud, termasuk layanan database. Untuk memperkecil risiko akses yang tidak diinginkan, berikan hak istimewa dengan jumlah yang paling sedikit kepada pengguna Anda. Untuk akses tingkat aplikasi ke database Anda, gunakan akun layanan dengan hak istimewa yang paling sedikit.

Otomatisasi dan penyesuaian ukuran

Bagian ini menampilkan praktik terbaik untuk menentukan otomatisasi dan ukuran yang tepat untuk mendukung sistem Anda

Tentukan instance database sebagai kode

Salah satu manfaat bermigrasi ke Google Cloud adalah kemampuan untuk mengotomatisasikan infrastruktur dan aspek lainya dari workload Anda seperti lapisan compute dan database. Google Deployment Manager dan alat pihak ketiga seperti Terraform Cloud dapat Anda gunakan untuk menentukan instance database sebagai kode, sehingga Anda dapat menerapkan pendekatan yang konsisten dan dapat diulang untuk membuat dan memperbarui database.

Gunakan Liquibase untuk mengontrol versi database Anda

Layanan database Google seperti Cloud SQL dan Spanner mendukung Liquibase, alat kontrol versi open source untuk database. Liquibase membantu Anda untuk melacak perubahan skema database, perubahan skema roll back, dan melakukan migrasi berulang.

Uji dan sesuaikan database Anda untuk mendukung penskalaan

Lakukan uji beban pada instance database Anda dan sesuaikan berdasarkan hasil pengujian untuk memenuhi persyaratan aplikasi Anda. Tentukan skala awal database Anda dengan melakukan uji beban pada indikator performa utama (KPI) atau dengan menggunakan KPI pemantauan yang berasal dari database Anda saat ini.

Saat Anda membuat instance database, mulailah dengan ukuran yang didasarkan pada hasil pengujian atau metrik pemantauan historis. Uji instance database Anda dengan muatan yang diharapkan di cloud. Kemudian, sempurnakan instance hingga Anda mendapatkan hasil yang diinginkan untuk beban yang diharapkan pada instance database Anda.

Pilih database yang tepat untuk kebutuhan penskalaan Anda.

Penskalaan database berbeda dengan penskalaan komponen lapisan komputasi. Database memiliki status ketika satu instance dari database Anda tidak dapat menangani muatan, pertimbangkan strategi yang tepat untuk instance database Anda. Strategi penskalaan berbeda-beda bergantung pada jenis database.

Gunakan tabel berikut untuk mempelajari tentang produk Google yang menangani kasus penggunaan penskalaan.

Kasus penggunaan Produk yang direkomendasikan Deskripsi
Skalakan instance database Anda secara horizontal dengan menambahkan node ke database Anda saat Anda perlu meningkatkan skala kapasitas serving dan penyimpanan. Spanner Database relasional yang di-build untuk cloud.
Tambahkan node untuk menskalakan database Anda. Bigtable Layanan database big data NoSQL yang terkelola sepenuhnya.
Menangani penskalaan database secara otomatis. Firestore Database yang fleksibel dan skalabel untuk pengembangan seluler, web, dan server.
Untuk menayangkan lebih banyak kueri, tingkatan skala instance database Cloud SQL secara vertikal guna membekali mereka kapasitas komputasi dan memori lebih banyak. Di Cloud SQL, lapisan penyimpanan dipisahkan dari instance database. Anda dapat memilih untuk menskalakan lapisan penyimpanan Anda secara otomatis setiap kali mendekati kapasitas. Cloud SQL Layanan database yang terkelola sepenuhnya membantu Anda menyiapkan, memelihara, mengelola, dan mengatur database relasional Anda pada Google Cloud.

Operasi

Bagian ini menampilkan praktik terbaik untuk pengoperasianl guna mendukung sistem Anda.

Gunakan Cloud Monitoring untuk memantau dan menyiapkan pemberitahuan untuk database Anda

Gunakan Cloud Monitoring untuk memantau Instance database Anda dan menyiapkan pemberitahuan untuk memberi tahu tim yang sesuai terkait peristiwa yang terjadi. Untuk mengetahui pemberitahuan praktik terbaik, baca Bangun pemberitahuan efisien.

Semua database yang di-build untuk cloud menyediakan metrik logging dan pemantauan. Setiap layanan menyediakan dasbor untuk memvisualisasikan metrik logging dan pemantauan. Metrik pemantauan untuk semua layanan terintegrasi dengan Kemampuan Observasi Google Cloud. Spanner menyediakan alat introspeksi kueri seperti Key Visualizer untuk proses debug dan analisis akar masalah. Key Visualizer menyediakan kemampuan sebagai berikut:

  • Membantu Anda menganalisis pola penggunaan Spanner dengan membuat laporan visual untuk database Anda. Laporan tersebut menampilkan pola penggunaan berdasarkan rentang baris dari waktu ke waktu.
  • Memberikan insight tentang pola penggunaan dalam skala besar.

Bigtable juga menyediakan alat diagnostik Key Visualizer yang membantu Anda menganalisis pola penggunaan instance Bigtable

Pemberian Lisensi

Bagian ini menampilkan praktik terbaik terkait pemberian lisensi guna mendukung sistem Anda.

Pilih antara lisensi on demand dan lisensi yang sudah ada

Jika Anda menggunakan Cloud SQL untuk SQL Server, bring your own license tidak didukung, biaya lisensi Anda didasarkan pada penggunaan inti perjam.

Jika Anda ingin menggunakan lisensi Cloud SQL untuk SQL Server yang sudah ada, pertimbangkan untuk menjalankan Cloud SQL untuk SQL Server di VM Compute. Untuk mengetahui informasi lebih lanjut baca Lisensi Microsoft dan Memilih antara lisensi on demand dan membawa lisensi yang sudah ada..

Jika Anda menggunakan Oracle dan jika Anda bermigrasi ke Solusi Bare Metal untuk Oracle, Anda dapat membawa Lisensi sendiri. Untuk informasi lebih lanjut, lihat Rencana untuk Solusi Bare Metal.

Jadwal migrasi, metodologi, dan kumpulan alat

Bagian ini menampilkan praktik terbaik untuk merencanakan dan mendukung migrasi database Anda guna mendukung sistem Anda.

Menentukan kesiapan modernisasi database

Lakukan penilaian apakah organisasi Anda siap untuk modernisasi database dan menggunakan database yang dibuat untuk cloud.

Pertimbangkan modernisasi database saat Anda merencanakan linimasa migrasi overload karena modernisasi kemungkinan akan mempengaruhi sisi aplikasi Anda.

Libatkan pemangku kepentingan yang relevan dalam perencanaan migrasi

Untuk memigrasikan database, selesaikan tugas berikut:

  • Siapkan database target.
  • Konversi skema.
  • Siapkan replikasi data antara database sumber dan target.
  • Lakukan debug masalah yang muncul selama migrasi.
  • Tetapkan konektivitas jaringan antara lapisan aplikasi dan database.
  • Implementasikan keamanan database target.
  • Pastikan aplikasi terhubung ke database target.

Tugas ini sering kali memerlukan keterampilan yang berbeda, dan beberapa tim berkolaborasi di seluruh organisasi Anda untuk menyelesaikan migrasi. Saat Anda merencanakan migrasi, sertakan pemangku kepentingan dari semua tim, seperti developer aplikasi, administrator database, serta tim infrastruktur dan keamanan.

Jika tim Anda tidak memiliki keterampilan untuk mendukung jenis migrasi ini, partner Google dapat membantu Anda melakukan migrasi. Untuk informasi selengkapnya, baca Google Cloud Partner Advantage.

Identifikasi sekumpulan alat untuk migrasi homogen dan heterogen

Migrasi homogen adalah migrasi data antara database sumber dan target dari teknologi database yang sama. Migrasi heterogen adalah migrasi yang database targetnya berbeda dari database sumber.

Migrasi heterogen biasanya melibatkan langkah tambahan konversi skema dari database sumber ke jenis mesin database target. Tim database Anda harus menilai tantangan yang terlibat dalam konversi skema karena tantangan tersebut bergantung pada kompleksitas skema database sumber.

Uji dan validasi setiap langkah dalam migrasi data

Migrasi data melibatkan beberapa langkah. Untuk meminimalkan error migrasi, uji dan validasi setiap langkah dalam migrasi sebelum melanjutkan ke langkah berikutnya, Faktor-faktor berikut mendorong proses migrasi:

  • Apakah migrasi homogen atau heterogen.
  • Jenis alat dan keahlian apa yang Anda miliki untuk melakukan migrasi.
  • Untuk migrasi heterogen, pelajari pengalaman Anda dengan mesin database target.

Tentukan persyaratan replikasi data berkelanjutan

Buat rencana untuk memigrasikan data awal dan kemudian replikasikan data secara terus menerus dari database sumber ke target. Lanjutkan replikasi hingga target stabil dan aplikasi sepenuhnya dimigrasikan ke database baru. Rencana ini membantu Anda mengidentifikasi potensi periode nonaktif selama peralihan database dan membuat perencanaan yang sesuai.

Jika Anda merencanakan untuk memigrasikan mesin database dari Cloud SQL, Cloud SQL untuk MySQL, atau Cloud SQL untuk PostgreSQL, gunakan Database Migration Service untuk mengotomatisasi ini dengan cara terkelola sepenuhnya. Untuk informasi tentang alat pihak ketiga yang mendukung jenis migrasi lainnya, lihat Cloud Marketplace.

Rekomendasi

Untuk menerapkan panduan dalam Framework Arsitektur ke lingkungan Anda, sebaiknya lakukan hal berikut:

  • Multi-tenancy untuk database melibatkan penyimpanan data dari beberapa pelanggan dalam infrastruktur bersama, dalam hal ini database. Jika Anda menawarkan software-as-a-service (SaaS) berdasarkan penawaran kepada pelanggan Anda, pastikan bahwa Anda memahami bagaimana Anda dapat secara logis mengisolasi set data milik pelanggan yang berbeda, dan mendukung akses persyaratan mereka. Selain itu, evaluasi persyaratan Anda berdasarkan tingkat pemisahan.

    Untuk database relasional seperti Spanner dan Cloud SQL, ada beberapa pendekatan, seperti mengisolasi data tenant pada tingkat instance database, tingkat database, tingkat skema, atau tingkat tabel database. Seperti keputusan desain lainnya, ada kompromi antara tingkat isolasi dan faktor lainnya seperti biaya dan performa. IAM kebijakan mengontrol akses ke instansi database Anda.

  • Pilih database yang tepat untuk persyaratan model data Anda.

  • Pilih nilai kunci untuk menghindari hotspotting kunci. Hotspot adalah lokasi di dalam tabel yang menerima lebih banyak permintaan akses daripada lokasi lain. Untuk informasi selengkapnya tentang hotspot, lihat Praktik terbaik desain skema.

  • Lakukan sharding terhadap instance database Anda jika memungkinkan.

  • Gunakan praktik terbaik pengelolaan koneksi, seperti penggabungan koneksi dan backoff eksponensial.

  • Hindari transaksi yang sangat besar.

  • Rancang dan uji respons aplikasi Anda terhadap update pemeliharaan pada database.

  • Amankan dan isolasikan koneksi ke database Anda.

  • Perhitungkan ekspektasi database dan pertumbuhan Anda untuk memastikan database tersebut mendukung kebutuhan Anda.

  • Uji strategi failover HA dan DR Anda.

  • Lakukan pencadangan dan pemulihan serta ekspor dan impor sehingga Anda memahami prosesnya.

Rekomendasi Cloud SQL

  • Gunakan jaringan alamat IP pribadi Untuk keamanan tambahan, pertimbangkan hal berikut:
  • Jika Anda memerlukan jaringan alamat IP publik, pertimbangkan hal berikut:
    • Gunakan firewall bawaan dengan daftar alamat IP terbatas atau dengan rentang sempit, dan pastikan instance Cloud SQL mengharuskan koneksi yang masuk menggunakan SSL. Untuk informasi selengkapnya, lihat Mengonfigurasi sertifikat SSL/TLS.
  • Untuk keamanan tambahan, pertimbangkan hal berikut:
  • Gunakan hak istimewa terbatas untuk pengguna database.

Langkah selanjutnya

Pelajari praktik terbaik analisis data, termasuk yang berikut:

Pelajari kategori lain dalam Framework Arsitektur seperti keandalan, keunggulan operasional, dan keamanan, privasi, serta kepatuhan.