Untuk menyimpan file dan data di App Engine, Anda dapat menggunakan layanan Google Cloud atau layanan penyimpanan lain yang didukung oleh bahasa Anda dan dapat diakses dari instance App Engine. Database pihak ketiga dapat dihosting di penyedia cloud lain, dihosting secara lokal, atau dikelola oleh vendor pihak ketiga.
Layanan Google Cloud Storage
Untuk aplikasi App Engine yang berjalan di lingkungan standar Python 2, sebaiknya gunakan salah satu layanan penyimpanan Google Cloud berikut:
Nama | Struktur | Konsistensi | Biaya |
---|---|---|---|
Firestore dalam mode Datastore | Tanpa skema (NoSQL) | Sangat konsisten kecuali saat melakukan kueri global. | Mode Datastore menawarkan kuota gratis dengan batas harian. Akun berbayar menawarkan penyimpanan, operasi baca, dan tulis tanpa batas. Informasi selengkapnya tersedia di halaman Kuota Datastore. |
Cloud SQL untuk MySQL atau Cloud SQL untuk PostgreSQL |
Relasional | Sangat konsisten | Google menawarkan dua paket penagihan untuk Google Cloud SQL: paket dan sesuai penggunaan. Informasi selengkapnya tersedia di lembar harga Cloud SQL. |
Cloud Storage | File dan metadata yang terkait (penyimpanan file Cloud) | Sangat konsisten kecuali saat melakukan operasi daftar yang mendapatkan daftar bucket atau objek. | Panggilan ke Google Cloud Storage tidak akan dikenai biaya.
Namun, semua data yang disimpan di Google Cloud Storage dikenai biaya
penyimpanan data Google Cloud Storage seperti biasa. Harga Cloud Storage tersedia di lembar harga Cloud Storage. |
Opsi ini dapat muncul bersamaan. Misalnya, aplikasi yang sama dapat menyimpan informasi dalam database Cloud SQL dan juga menyimpan file di bucket Cloud Storage.
Lihat daftar lengkap produk penyimpanan Google Cloud di halaman Produk Cloud Storage.
Penyedia Cloud lainnya
Aplikasi App Engine dapat terhubung ke database eksternal yang dihosting di cloud publik lain asalkan server database tersebut dan firewall Anda sudah dikonfigurasi dengan benar untuk menerima koneksi. Aplikasi App Engine Anda terhubung melalui Internet menggunakan alamat IP publik layanan eksternal tersebut.
Database yang dikelola oleh vendor pihak ketiga
Ada banyak vendor yang menawarkan layanan database terkelola seperti mLab untuk MongoDB, Redis Labs menawarkan penyimpanan cache Redis yang dihosting. Vendor ini menangani hosting, konfigurasi, dan pemeliharaan database. App Engine dapat terhubung ke layanan eksternal ini melalui Internet, dengan cara yang sama seperti cloud publik lainnya menggunakan alamat IP publik layanan tersebut.
Lokal
Jika sudah memiliki database lokal yang ingin diakses oleh aplikasi App Engine, Anda dapat mengonfigurasi jaringan internal dan firewall untuk memberi database alamat IP publik atau menghubungkannya menggunakan VPN.
Pertimbangan produksi
App Engine dapat dikonfigurasi untuk menskalakan aplikasi Anda secara otomatis secara horizontal berdasarkan berbagai metrik. Tidak seperti aplikasi web, database sering kali memerlukan perubahan yang sulit untuk merespons skala. Dalam aplikasi produksi, App Engine dapat dengan cepat membebani database selama lonjakan traffic. Anda harus memperhitungkan beban dan beban traffic rata-rata yang diperkirakan selama lonjakan dalam pertimbangan saat mengonfigurasi dan men-deploy database.