Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Memigrasikan skema dari database sumber ke Spanner memerlukan
proses multi-langkah yang menggabungkan alat otomatis dengan analisis
dan peningkatan kualitas manual. Langkah-langkah berikut menguraikan pendekatan yang direkomendasikan:
Ekstraksi skema: Mengekstrak definisi skema (DDL) dari database sumber Anda.
Konversi awal: Anda dapat mempertimbangkan untuk menggunakan alat konversi skema otomatis, seperti alat migrasi Spanner (SMT), yang dapat menangani banyak pemetaan jenis data dasar dan konversi struktural.
Peninjauan dan peningkatan skema mendetail: Pertimbangkan untuk mengonversi skema database sumber Anda yang lebih kompatibel dengan Spanner dalam perubahan yang lebih kecil dan disengaja, yang dapat diuji dan dioptimalkan satu per satu untuk mengurangi risiko mengubah semuanya sekaligus.
Pemetaan jenis data: Meninjau dan meningkatkan pemetaan jenis data yang dihasilkan
oleh SMT. Pastikan jenis data Spanner secara akurat mewakili
rentang, presisi, dan semantik jenis database sumber
yang sesuai.
Kunci utama dan interleaving: Identifikasi peluang untuk menggunakan
tabel interleaved Spanner guna membuat model hubungan induk-turunan
yang ada dalam skema database sumber. Pilih strategi kunci utama yang sesuai untuk Spanner, seperti menggunakan UUID. SMT dapat membantu Anda memilih
strategi kunci utama yang sesuai. Pertimbangkan
implikasi untuk lokalitas data dan menghindari hotspot. Evaluasi cara
batasan kunci asing digunakan di database sumber Anda dan tentukan
cara menanganinya di Spanner. Untuk mengetahui informasi selengkapnya, lihat
Hubungan tabel induk-turunan.
Pengoptimalan indeks: Menganalisis indeks yang ada di database sumber Anda
dan mendesain indeks Spanner untuk mengoptimalkan performa kueri.
Pertimbangkan untuk menghapus indeks yang jarang digunakan.
Menghapus inkompatibilitas: Hapus atau tulis ulang fitur khusus database sumber yang tidak didukung di Spanner. Misalnya, Spanner tidak mendukung prosedur tersimpan atau
pemicu. Anda mungkin perlu memfaktorkan ulang kode aplikasi.
Deployment skema: Men-deploy skema Spanner ke
lingkungan pengembangan atau staging.
Pengujian dan peningkatan iteratif:
Muat data contoh
dan uji skema dengan interaksi aplikasi yang representatif. Pantau
performa dan identifikasi area yang perlu ditingkatkan. Pertajam skema berdasarkan
hasil pengujian. Ulangi proses ini hingga skema memenuhi persyaratan fungsional dan
performa aplikasi Anda.
Validasi skema: Mengembangkan skrip atau prosedur untuk membandingkan struktur database sumber dan skema Spanner untuk memastikan bahwa konversi dilakukan dengan benar.
Deployment skema akhir: Men-deploy skema yang divalidasi dan dioptimalkan ke
instance produksi Spanner.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-11 UTC."],[],[],null,["# Migrate your schema\n\nMigrating a schema from your source database to Spanner involves a\nmulti-step process that combines automated tooling with manual analysis\nand refinement. The following steps outline the recommended approach:\n\n1. **Schema extraction**: Extract the schema definition (DDL) from your source\n database.\n\n2. **Initial conversion** : You can consider using an automated\n schema conversion tool, such as\n [Spanner migration tool (SMT)](https://github.com/GoogleCloudPlatform/spanner-migration-tool),\n which can handle many of the basic data type mapping and structural\n conversions.\n\n3. **Detailed schema review and refinement**: Consider converting your source\n database schema that's more compatible with Spanner in smaller,\n deliberate changes, that can be individually tested and optimized to reduce\n the risk of changing everything at once.\n\n 1. **Data type mapping**: Review and refine the data type mapping generated by SMT. Ensure that Spanner data types accurately represent the range, precision, and semantics of the corresponding source database types.\n 2. **Primary keys and interleaving** : Identify opportunities to use Spanner's interleaved tables to model parent-child relationships present in the source database schema. Choose appropriate [primary key strategies](/spanner/docs/schema-design#primary-key-prevent-hotspots) for Spanner such as using UUIDs. SMT can help you choose an appropriate primary key strategy. Consider the implications for data locality and hotspot avoidance. Evaluate how foreign key constraints are used in your source database and determine how to handle them in Spanner. For more information, see [Parent-child table relationships](/spanner/docs/schema-and-data-model#parent-child).\n 3. **Index optimization**: Analyze existing indexes in your source database and design Spanner indexes to optimize query performance. Consider dropping infrequently used indexes.\n 4. **Remove incompatibilities**: Remove or rewrite any source database specific features that aren't supported in Spanner. For example, Spanner doesn't support stored procedures or triggers. This might require you to refactor application code.\n4. **Schema deployment**: Deploy the Spanner schema to a\n development or staging environment.\n\n5. **Iterative testing and refinement** :\n [Load sample data](/spanner/docs/load-sample-data)\n and test the schema with representative application interactions. Monitor\n performance and identify areas of improvement. Refine the schema based on the\n results of testing. Repeat this process until the schema meets your application's\n performance and functional requirements.\n\n6. **Schema validation**: Develop scripts or procedures to compare the structure\n of the source database and Spanner schemas to ensure that the\n conversion was performed correctly.\n\n7. **Final schema deployment**: Deploy the validated and refined schema to the\n Spanner production instance.\n\nSource specific guides\n----------------------\n\n- MySQL: [Migrate MySQL schema](/spanner/docs/migrate-mysql-schema)."]]