Anda dapat mengimpor dan mengekspor data dalam jumlah besar ke dalam atau ke luar Spanner menggunakan salah satu metode berikut:
- Impor atau ekspor database Spanner menggunakan Dataflow.
- Mengekspor database Spanner ke bucket Cloud Storage menggunakan format file Avro atau CSV.
- Mengimpor data dari file CSV atau Avro ke dalam database Spanner baru.
Kasus penggunaan
Anda dapat menggunakan impor dan ekspor Spanner untuk kasus penggunaan berikut:
- Pemuatan massal: Anda dapat mengimpor data secara massal ke Spanner.
Pencadangan dan pengarsipan jangka panjang: Anda dapat mengekspor database kapan saja dan menyimpannya di lokasi bucket Cloud Storage pilihan Anda untuk pencadangan atau pengarsipan jangka panjang. Selain itu, Anda dapat menggunakan pemulihan point-in-time untuk mengekspor database dari stempel waktu tertentu di masa lalu. Jika Anda mencari teknik disaster recovery yang menawarkan pemulihan yang lebih cepat, tetapi memiliki periode retensi yang lebih singkat, pertimbangkan untuk menggunakan pencadangan atau pemulihan point-in-time (PITR).
Menyalin database ke project pengembangan atau pengujian: Anda dapat mengekspor database dari project produksi, lalu mengimpornya ke project pengembangan atau pengujian untuk digunakan dalam pengujian integrasi atau eksperimen lainnya.
Penyerapan untuk analisis: Anda dapat mengekspor database untuk menyerap data operasional secara massal ke layanan analisis seperti BigQuery. BigQuery dapat secara otomatis menyerap data dalam format Avro dari bucket Cloud Storage, sehingga memudahkan Anda menjalankan analisis pada data operasional. Jika ingin menggunakan BigQuery untuk analisis real-time data Spanner tanpa menyalin atau memindahkan data, Anda dapat menggunakan kueri gabungan Spanner.
Membandingkan impor dan ekspor untuk mencadangkan dan memulihkan
Impor dan ekspor Spanner mirip dengan pencadangan dan pemulihan dalam banyak hal. Tabel berikut menjelaskan kesamaan dan perbedaan di antara keduanya untuk membantu Anda memutuskan mana yang akan digunakan.
Pencadangan dan pemulihan | Mengimpor dan mengekspor | |
---|---|---|
Konsistensi data | Pencadangan dan database yang diekspor konsisten secara transaksi dan eksternal. | |
Dampak performa | Pencadangan tidak memengaruhi performa instance. Spanner melakukan pencadangan menggunakan tugas khusus yang tidak menggunakan resource server instance. | Ekspor berjalan sebagai tugas prioritas sedang untuk meminimalkan dampak pada performa database. Untuk mengetahui informasi selengkapnya, lihat prioritas tugas. |
Format penyimpanan | Menggunakan format terenkripsi eksklusif yang dirancang untuk pemulihan cepat. | Mendukung format file CSV dan Avro. |
Portabilitas | Anda create cadangan di instance yang sama dengan database sumbernya. Setelah cadangan dibuat, Anda dapat menyalin cadangan ke instance di region atau project lain jika memerlukan cadangan lintas region atau lintas project. Kemudian, Anda dapat restore dari cadangan sebagai database baru ke instance mana pun dalam project yang sama. Instance tempat Anda melakukan pemulihan harus memiliki konfigurasi instance yang sama dengan instance tempat cadangan disimpan. |
Database yang diekspor berada di Cloud Storage dan data dapat dimigrasikan ke sistem apa pun yang mendukung CSV atau Avro. |
Retensi | Cadangan dapat disimpan hingga satu tahun. | Database yang diekspor disimpan di Cloud Storage, tempat database tersebut disimpan secara default hingga dihapus. Anda dapat menyesuaikan kebijakan siklus proses dan retensi. |
Harga | Cadangan ditagih ke project Spanner Anda berdasarkan penyimpanan yang digunakan per satuan waktu. Untuk mengetahui detail selengkapnya, lihat bagian Harga. | Penagihan untuk impor dan ekspor lebih rumit karena penggunaan Cloud Storage dan Dataflow. Untuk mengetahui informasi selengkapnya, lihat Harga ekspor dan impor database. |
Waktu pemulihan | Pemulihan terjadi dalam dua operasi: pemulihan dan pengoptimalan. Operasi pemulihan menawarkan waktu untuk byte pertama yang cepat karena database langsung memasang cadangan tanpa menyalin data. Setelah operasi pemulihan selesai, database siap digunakan, meskipun latensi baca mungkin sedikit lebih tinggi saat dioptimalkan. Untuk mengetahui informasi selengkapnya, lihat Cara kerja pemulihan. | Impor lebih lambat. Anda harus menunggu semua data ditulis ke dalam database. |
Membandingkan format file
Tabel berikut membandingkan perbedaan kemampuan antara format file CSV dan Avro saat mengimpor dan mengekspor data Spanner.
Kemampuan | Format Avro | Format CSV |
---|---|---|
Mengimpor atau mengekspor seluruh database | Ya | Tidak |
Kemampuan untuk hanya mengekspor tabel yang dipilih dalam database | Ya | Ya |
Kemampuan untuk mengimpor tabel yang diekspor sebelumnya | Ya | Ya |
Mengekspor pada stempel waktu sebelumnya | Ya | Ya |
Mengimpor atau mengekspor menggunakan Google Cloud CLI | Ya | Ya |
Mengimpor atau mengekspor menggunakan Dataflow | Ya | Ya |
Mengimpor atau Mengekspor menggunakan Spanner | Ya | Tidak |
File Avro
Saat mengekspor ke format Avro, Anda dapat menentukan daftar tabel yang akan diekspor. Setiap tabel turunan yang diekspor dengan cara ini harus disertai dengan tabel induknya. Spanner mempertahankan seluruh skema database dalam file yang diekspor.
Saat mengimpor dari format Avro, Spanner akan membuat ulang seluruh skema database yang diekspor, termasuk semua tabel. Tabel yang disertakan dalam ekspor asli akan menerima semua data yang diekspor; semua tabel lainnya tetap kosong.
Halaman Spanner di konsol Google Cloud menawarkan opsi impor dan ekspor format Avro terbatas. Misalnya, Anda tidak dapat menetapkan opsi jaringan dan subjaringan. Untuk serangkaian opsi yang lebih luas, gunakan halaman Dataflow.
File CSV
Anda hanya dapat mengekspor satu tabel Spanner dalam format CSV sekaligus. Saat Anda mengekspor, skema tidak diekspor, hanya data yang diekspor.
Sebelum mengimpor dari file CSV, Anda perlu membuat file manifes JSON.
Harga
Tidak ada biaya tambahan dari Spanner untuk penggunaan alat ekspor atau impor; Anda membayar tarif standar untuk penyimpanan data saat mengimpor database ke Spanner. Namun, terdapat kemungkinan biaya lainnya yang terkait dengan pengimporan dan pengeksporan database. Untuk mengetahui informasi selengkapnya, lihat Harga ekspor dan impor database.
Langkah selanjutnya
- Mengekspor database dari Spanner ke Avro
- Mengimpor file Avro Spanner
- Mengimpor dan mengekspor data dalam format CSV
- Mengimpor data dari database non-Spanner