Particionamiento de tablas en Oracle: ¿qué es, para qué sirve y cuándo aplicarlo?

En el mundo de las bases de datos existe el concepto de particionamiento de tablas, que, en su definición más general, consiste en dividir la información contenida dentro de una tabla en varios grupos de información tanto lógica como físicamente. Esto permite que en bases de datos de gran escala: se aumente el desempeño de la instrucción SQL ejecutada sobre ella, se mejore la disponibilidad de la información contenida, se agilice el proceso de mantenimiento y depurado de las tablas, entre otros.

Para aclarar el concepto, imaginémonos la tabla de cliente de un sistema de información de ventas internacionales, donde uno de los atributos de la tabla es el país de origen del cliente, además de otros campos relevantes. En Oracle es posible crear la tabla y dividirla por cada país en los que el sistema registre información. Adicional a esto, se le puede indicar información física del almacenamiento, ya que el volumen de clientes puede variar dependiendo del país.

Teniendo la tabla de clientes particionada por país, cada vez que el sistema realice un escaneo de información, se está ahorrado el trabajo de revisar toda la información (si se proporciona el país en la consulta) y sabrá que solo debe escanear la partición que corresponde a la ciudad proporcionada.

Sin embargo, no siempre es recomendado aplicarlo; en las bases de datos transaccionales, es muy común que las tablas de gran volumen transaccional también sean utilizadas como fuente de información de reportes masivos y de conciliación. Es aquí cuando la definición de la partición puede o no ayudar al desempeño de la aplicación, es decir, podemos ser muy eficientes en un frente, pero deficientes en otro. Continuando con la tabla de clientes, si el sistema cuenta con reportes sobre la tabla que no incluyen el filtro del país, es posible que el criterio de particionamiento no esté bien elegido y sea necesario cambiarlo.

Para Oracle, un acceso a una tabla particionada en la que los criterios de particionamiento no estén incluidos en los filtros de la instrucción SQL, puede generar un costo elevado y verse reflejado en el rendimiento. Por otro lado, si los criterios de particionamiento están bien aplicados, el rendimiento será óptimo y toda la aplicación tendrá un buen desempeño.

En Oracle existen muchas opciones para realizar el particionamiento de tablas, además también existe el concepto de índices particionados -que ayudan con el desempeño de las instrucciones SQL sobre tablas particionadas-. Para más información de particionamiento de tablas en ORACLE se puede consultar el “Oracle Help Center” y descubrir todas las bondades que tiene esta funcionalidad.

Publicado: noviembre 24, 2022

También podría gustarte

Sophos Solutions recibió tres galardones en los Premios AWS

Ser Service Partner of the Year nos motiva a seguir innovando. En Sophos estamos a la vanguardia de las nuevas tecnologías y metodologías del mercado y las adaptamos de forma ágil para nuestros clientes. Somos cocreadores de soluciones flexibles asociadas a la nube; aplicando tendencias como inteligencia artificial y Blockchain, que abren la puerta a nuevas alternativas de negocio.

Desplegando entornos de desarrollo integrado (IDE) seguros con AWS – Parte 2

Bienvenidos de nuevo, en esta entrega vamos a abordar el despliegue de nuestros entornos a una escala empresarial y agregaremos características como protección a nivel de red, aseguramiento y trazabilidad de las sesiones conectadas a nuestros IDEs, e incluso dejaremos la puerta abierta para seguir explorando y experimentando con estos servicios.

De la ingeniería química a la ciencia de datos

Cada vez es más frecuente que escuchemos términos como ciencia de datos, analítica, inteligencia artificial (IA), Machine Learning, Big Data, entre otros.

Innovar no es una responsabilidad exclusiva para líderes y emprendedores

Desde hace buen tiempo se viene hablando de la importancia de la innovación y la creatividad en diferentes entornos de nuestra sociedad, más recientemente, en el mundo de la producción de ideas, emprendimientos o startups.