Tarea
Razón del artículo
Hay un gran conocimiento disponible que pertenece a la partición de SAP HANA. Pero el conocimiento está fragmentado (Portal de ayuda, publicación de blog, SAP KBA, SAP Note, otros).
¿Dónde encontrar documentación en SAP Help Portal?
¿Cuál es el artículo maestro de la base de conocimiento de SAP de la partición de SAP HANA?
¿Qué mejores prácticas están disponibles con respecto a la partición de SAP HANA?
¿Qué otra documentación es importante con respecto a la partición de SAP HANA?
¿Cuáles son los problemas conocidos?
¿Qué publicaciones de blog pueden ser útiles?
############################################## #####################
requisitos previos
Antecedentes
Durante los ejercicios utilizaré la base de datos de prueba SFLIGHT. Se puede encontrar más información:
SAP HANA, edición express y base de datos de demostración SFLIGHT, modelado – Tutorial completo
El esquema SFLIGHT está en la carpeta Catálogo.
Ejercicio 1. – Particionamiento de tabla “SBOOK” (HASH, de un solo nivel)
Comprobar cuántos datos se pueden encontrar en la tabla.
SELECT COUNT(*) FROM "SFLIGHT"."SBOOK"
En el sistema de producción, la cantidad de datos (~1 millón de filas) no debe dividirse. Se dividirá para demostrar el proceso (sistema de prueba).
Comprobación de los datos en sí.
SELECT TOP 1000 * FROM "SFLIGHT"."SBOOK" ORDER BY "BOOKID"
La columna «BOOKID» parece ser una buena opción para la partición HASH.
ALTER TABLE "SFLIGHT"."SBOOK" PARTITION BY HASH ("BOOKID") PARTITIONS 2;
La partición fue exitosa y la distribución de datos también es perfecta.
Ejercicio 2. – Incrementar el número total de particiones en la tabla “SBOOK” (HASH, de un solo nivel)
Vuelva a particionar la tabla con 4 particiones. ¡Multiplique el número de partición real 2 => 4!
ALTER TABLE "SFLIGHT"."SBOOK" PARTITION BY HASH ("BOOKID") PARTITIONS 4;
La partición fue exitosa y la distribución de datos también es perfecta.
Ejercicio 3. – Particionamiento de tabla “SBOOK” (RANGE, de un solo nivel)
Comprobación de los datos en sí.
SELECT DISTINCT "FLDATE" FROM "SFLIGHT"."SBOOK" ORDER BY "FLDATE"
La columna «FLDATE» parece ser una buena opción para la partición RANGE.
Vuelva a particionar la tabla para que sea una tabla particionada de un solo nivel.
ALTER TABLE "SFLIGHT"."SBOOK" PARTITION BY
RANGE ("FLDATE")
(PARTITION 20100101 <= VALUES < 20110101,
PARTITION 20110101 <= VALUES < 20120101,
PARTITION 20120101 <= VALUES < 20130101,
PARTITION OTHERS
);
Ejercicio 4. – Adición de nueva partición RANGE (RANGE, de un solo nivel)
Agregar una nueva partición RANGE a una tabla particionada ya de un solo nivel.
ALTER TABLE "SFLIGHT"."SBOOK" ADD PARTITION 19900101 <= VALUES < 20100101;
Observación: Los registros (18) fueron movidos a la nueva partición (donde pertenece) desde la partición OTROS.
Ejercicio 5. – Particionamiento de tabla “SBOOK” (HASH/HASH, multinivel)
Vuelva a particionar la tabla para que sea una tabla particionada de varios niveles.
ALTER TABLE "SFLIGHT"."SBOOK" PARTITION BY
HASH ("BOOKID") PARTITIONS 2,
HASH ("CUSTOMID") PARTITIONS 2;
La partición fue exitosa y la distribución de datos también es perfecta.
Ejercicio 6. – Particionamiento de tabla “SBOOK” (HASH/RANGE, multinivel)
Vuelva a particionar la tabla para que sea una tabla particionada de varios niveles.
ALTER TABLE "SFLIGHT"."SBOOK" PARTITION BY
HASH ("BOOKID") PARTITIONS 2,
RANGE ("FLDATE")
(PARTITION 20100101 <= VALUES < 20110101,
PARTITION 20110101 <= VALUES < 20120101,
PARTITION 20120101 <= VALUES < 20130101,
PARTITION OTHERS
);
Ejercicio 7. – Fusionar particiones (tabla particionada a no particionada)
Al fusionar las particiones, la tabla vuelve al estado inicial (sin particiones).
ALTER TABLE "SFLIGHT"."SBOOK" MERGE PARTITIONS
Conclusión
La partición es una tarea fácil en el caso de SAP HANA. La única parte importante es la sintaxis que debe usar correctamente. Por supuesto, en una base de datos enorme, el proceso consumirá tiempo y recursos.
Pregunta
Enlace de preguntas y respuestas para SAP HANA, edición express: https://answers.sap.com/tags/73555000100800000651
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073