Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Migrar un esquema de tu base de datos de origen a Spanner implica un proceso de varios pasos que combina herramientas automatizadas con análisis y perfeccionamiento manuales. En los siguientes pasos, se describe el enfoque recomendado:
Extracción de esquemas: Extrae la definición de esquemas (DDL) de tu base de datos de origen.
Conversión inicial: Puedes considerar usar una herramienta de conversión de esquemas automatizada, como la herramienta de migración de Spanner (SMT), que puede controlar muchas de las conversiones estructurales y de asignación de tipos de datos básicas.
Revisión y perfeccionamiento detallados del esquema: Considera convertir el esquema de la base de datos de origen que sea más compatible con Spanner en cambios más pequeños y deliberados que se puedan probar y optimizar de forma individual para reducir el riesgo de cambiar todo a la vez.
Asignación de tipos de datos: Revisa y define mejor la asignación de tipos de datos que genera SMT. Asegúrate de que los tipos de datos de Spanner representen con precisión
el rango, la precisión y la semántica de los tipos de bases de datos fuente
correspondientes.
Claves primarias y intercalación: Identifica las oportunidades para usar las tablas intercaladas de Spanner para modelar las relaciones entre tablas principales y secundarias presentes en el esquema de la base de datos de origen. Elige las estrategias de claves primarias adecuadas para Spanner, como el uso de UUID. SMT puede ayudarte a elegir una estrategia de clave primaria adecuada. Considera
las implicaciones para la localidad de los datos y la evitación de hotspots. Evalúa cómo se usan las restricciones de claves externas en tu base de datos de origen y determina cómo controlarlas en Spanner. Para obtener más información, consulta Relaciones de tablas principales y secundarias.
Optimización de índices: Analiza los índices existentes en tu base de datos de origen y diseña índices de Spanner para optimizar el rendimiento de las consultas.
Considera descartar los índices que se usan con poca frecuencia.
Quita las incompatibilidades: Quita o reescribe las funciones específicas de la base de datos de origen que no se admiten en Spanner. Por ejemplo, Spanner no admite procedimientos almacenados ni activadores. Es posible que debas refactorizar el código de la aplicación.
Implementación de esquemas: Implementa el esquema de Spanner en un entorno de desarrollo o de etapa de pruebas.
Pruebas iterativas y perfeccionamiento: Carga datos de muestra y prueba el esquema con interacciones de aplicaciones representativas. Supervisa el rendimiento y identifica áreas de mejora. Define mejor el esquema en función de los
resultados de las pruebas. Repite este proceso hasta que el esquema cumpla con los requisitos funcionales y de rendimiento de tu aplicación.
Validación de esquemas: Desarrolla secuencias de comandos o procedimientos para comparar la estructura de la base de datos de origen y los esquemas de Spanner para garantizar que la conversión se haya realizado correctamente.
Implementación final del esquema: Implementa el esquema validado y refinado en la instancia de producción de Spanner.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-05 (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)."]]