0% encontró este documento útil (0 votos)
24 vistas5 páginas

Guia 1 Rdbms

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas5 páginas

Guia 1 Rdbms

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

MARCO CONCEPTUAL

Particiones en Bases de Datos Relacionales y sus Beneficios

En el contexto del estudio y desarrollo de bases de datos relacionales, es imperativo comprender a


cabalidad el concepto de particiones. Las particiones se presentan como divisiones lógicas de una
tabla, segmentándola en componentes más manejables. En esta ocasión, exploraremos en detalle
qué representan las particiones y cómo pueden constituir una herramienta de gran valía para
optimizar el rendimiento y la eficiencia en sistemas basados en bases de datos relacionales.

¿Qué son las Particiones en Bases de Datos Relacionales?

Las particiones se definen como fracciones resultantes de la división de una tabla en múltiples
segmentos, cada uno de los cuales almacena un subconjunto específico de datos pertenecientes a
la tabla completa. Cada partición presenta una estructura semejante a la tabla original y contiene
registros que cumplen con un conjunto predeterminado de criterios, como por ejemplo, un rango
específico de valores en una columna. Estos segmentos lógicos pueden distribuirse en distintos
dispositivos de almacenamiento, lo que facilita la gestión de volúmenes considerables de datos y,
al mismo tiempo, optimiza la eficiencia en la ejecución de consultas.

Beneficios de Emplear Particiones en Bases de Datos Relacionales:

Mejora del Rendimiento: Uno de los beneficios más destacados de las particiones reside en su
capacidad para impulsar el rendimiento de las operaciones de consulta. Al subdividir una tabla en
particiones, el sistema de gestión de bases de datos (DBMS) puede restringir la búsqueda de datos
a un conjunto reducido de particiones, evitando así el escaneo de la tabla completa. Este enfoque
se traduce en una aceleración sustancial de las operaciones de consulta y, por ende, en una
obtención más expedita de los resultados deseados.

Gestión Eficiente de Grandes Conjuntos de Datos: Las bases de datos suelen alojar ingentes
volúmenes de información. Las particiones simplifican significativamente la administración y
respaldo de grandes cantidades de datos, al permitir que acciones específicas, tales como copias
de seguridad o tareas de mantenimiento, se realicen en particiones individuales sin que ello afecte
al conjunto completo de la tabla.

Mejora de la Disponibilidad y la Tolerancia a Fallos: Las particiones contribuyen a la disponibilidad


ininterrumpida de la base de datos. En caso de un fallo o daño en una partición, las demás
particiones pueden permanecer accesibles, minimizando así el tiempo de inactividad y reforzando
la tolerancia a fallos.

Optimización del Almacenamiento: Al distribuir datos de manera más eficiente entre distintos
dispositivos de almacenamiento, las particiones fomentan una utilización más efectiva de los
recursos, lo que conlleva una potencial reducción de los costos relacionados con la infraestructura
de hardware y una mayor capacidad de escalabilidad.

Facilita la Mantenibilidad: Las particiones simplifican la gestión de conjuntos de datos extensos y


agilizan la implementación de cambios estructurales en la base de datos sin interrumpir la
operatividad del sistema. Asimismo, facilitan la tarea de eliminación de datos obsoletos.

En conclusión, las particiones en bases de datos relacionales se configuran como un recurso


sumamente eficaz para incrementar el rendimiento, la escalabilidad y la eficiencia de nuestras
aplicaciones y sistemas. La comprensión y dominio de esta técnica resulta imperativa para
cualquier profesional que se desenvuelva en el ámbito de la gestión de bases de datos.

Índices Locales y Globales en tablas particionadas

En el contexto de las tablas particionadas, es de suma importancia abordar la cuestión de los


índices locales y globales, dos enfoques distintos para mejorar la eficiencia en la búsqueda y
recuperación de datos

Índices Locales en Tablas Particionadas:

Diferencias:

Los índices locales se crean y mantienen a nivel de cada partición individual de la tabla.

Cada partición tiene su propio índice local, adaptado específicamente a los datos contenidos en
ella.

Esto permite una búsqueda rápida y eficiente en cada partición sin afectar a las demás.

Ventajas:

Rendimiento optimizado en consultas que se centran en particiones específicas, ya que los índices
locales reducen el tiempo de búsqueda dentro de esas particiones.

Mayor paralelismo en consultas, ya que cada partición se puede buscar de forma independiente,
lo que mejora la escalabilidad.

Desventajas:

Requiere más recursos de almacenamiento, ya que cada partición tiene su propio índice.
Mayor complejidad en la gestión, ya que se deben administrar múltiples índices locales.

Índices Globales en Tablas Particionadas:

Diferencias:

Los índices globales se crean y mantienen a nivel de la tabla completa, sin distinción de
particiones.

Contienen información de todos los registros de la tabla particionada en un solo índice.

Ventajas:

Menor consumo de recursos de almacenamiento, ya que solo se requiere un índice para toda la
tabla.

Facilita la gestión de índices, ya que solo hay un conjunto de índices para administrar.

Desventajas:

Rendimiento potencialmente inferior en consultas que involucran particiones específicas, ya que


el índice global debe buscar a través de todos los datos, incluso los de particiones no relevantes.

Limitaciones en el paralelismo, ya que el índice global puede convertirse en un cuello de botella en


consultas concurrentes.

Elección de Índices en Tablas Particionadas:

La elección entre índices locales y globales dependerá de las necesidades específicas de su


aplicación y de las características de los datos almacenados. Para tomar una decisión informada,
considere los siguientes aspectos:

Naturaleza de las Consultas: Si sus consultas tienden a centrarse en particiones específicas de la


tabla, los índices locales pueden ser más eficientes. Sin embargo, si las consultas abarcan múltiples
particiones o requieren un enfoque global, los índices globales pueden ser preferibles.

Recursos Disponibles: Tenga en cuenta la capacidad de almacenamiento disponible y la capacidad


de gestión de índices en su sistema. Los índices locales pueden consumir más espacio y requerir
una administración más compleja.

Escalabilidad: Evalúe cómo la elección de índices afecta a la escalabilidad de su sistema. Los


índices locales pueden ofrecer un mejor paralelismo, mientras que los índices globales pueden ser
más simples de gestionar en entornos de crecimiento rápido.

En conclusión, la elección entre índices locales y globales en tablas particionadas es una decisión
estratégica que impacta en el rendimiento y la administración de su base de datos. Comprender
las diferencias, ventajas y desventajas de cada enfoque es fundamental para tomar decisiones
informadas y optimizar el rendimiento de su sistema.
ANALISIS
Uso de Particiones e Índices Globales y Locales

Imaginemos que estamos a cargo de administrar una base de datos que almacena los datos de
ventas de una empresa minorista latinoamericana para el período comprendido entre 2017 y
2019, con información detallada sobre las tiendas, productos y ventas diarias. Tenemos un
conjunto de datos en un archivo llamado "[Link]" con las siguientes columnas:

store_id - El identificador único de una tienda.

product_id - El identificador único de un producto.

date - La fecha de la venta (en formato YYYY-MM-DD).

sales - La cantidad de productos vendidos.

revenue - Los ingresos totales de ventas diarias.

stock - La cantidad de productos en stock al final del día.

price - El precio de venta del producto.

promo_type_1 - El tipo de promoción aplicada en el canal 1.

promo_bin_1 - La tasa de promoción agrupada para promo_type_1.

promo_type_2 - El tipo de promoción aplicada en el canal 2.

promo_bin_2 - La tasa de promoción agrupada para promo_type_2.

promo_discount_2 - La tasa de descuento aplicada para promo_type_2.

promo_discount_type_2 - El tipo de descuento aplicado.

Nuestra tarea es realizar un ejercicio de partición e índices que nos permita analizar los datos de
ventas de forma eficiente, centrándonos en dos escenarios específicos:

1- La empresa necesita poder analizar el comportamiento de ventas mensual por tienda para
realizar un plan de abastecimiento de inventario cada mes, y determinar que categorías de
productos distribuir en cada tienda mes con mes.
2- La empresa necesita poder analizar el histórico de ventas de productos en especifico en
todas las bodegas en periodos de un año para determinar que productos descontinuar y
cuales seguir abasteciendo en el presupuesto anual.

Para solventar estas necesidades se debe crear la tabla SALES.

Y cargar el contenido del archivo de ventas. Luego ejecutar los planes de ejecución de los para las
siguientes consultas de ejemplo y realizar captura del plan de ejecución en las siguientes
condiciones:
1- Al momento de terminar la carga de datos (Antes de ejecutar estadísticas y crear índices)
2- Luego de ejecutar estadísticas
3- Luego de la creación de índices

Consultas:

select product_id, sale_date, sum(stock*price) from sales

where sale_date between to_date('01/05/2018', 'DD/MM/YYYY') and to_date('DD/MM/YYYY',


'01/05/2018')

and store_id = 'S0012'

group by product_id;

select product_id, sum(stock*price) from sales

where sale_date between to_date('01/01/2018', 'DD/MM/YYYY') and to_date('DD/MM/YYYY',


'31/12/2018')

and store_id = ‘P0241’;

También podría gustarte