Introducción - UTEC-BDII/Proyecto1 GitHub Wiki

El objetivo del proyecto es organizar dos data sets usando las técnicas de Static Hash y Sequential File, así como entender y aplicar los algoritmos de almacenamiento de archivos físicos en estas. Para ello, vamos a hacer uso de dos datasets para cada técnica de organización.

Datasets usados

Los datasets usados fueron recuperados de la página Kaggle. El único criterio tomado en cuenta para la selección de estos datasets fue que los registros pudieran ser representados como registros de longitud fija ya que al implementar la técnica del Sequential File se deben hacer búsquedas binarias, las cuales no son posibles en regsitros de longitud variable. Asimismo, y por el mismo motivo, se tuvo que reordenar el segundo dataset de forma inversa pues las keys de los registros de los datos iniciales estaban ordenadas de forma descendiente y las búsquedas binarias solo funcionan con conjuntos de datos ordenados de forma ascendente.

Market Basket Analysis Data

El primer dataset con el que se trabajó fue el de Market Basket Analysis Data. Contiene información sobre la adquisición y venta de ciertos productos a través de su presencia en las canastas de mercado registradas en un archivo csv. Fue subido para análisis de reglas de asociación y cuenta con 999 registros, cada uno con 17 campos (columnas) que representan lo siguiente:

  • ID: Identificador de cada canasta. Es un valor entero. Este campo fue tomado como key en la construcción del registro.
  • Apple: Da información sobre las ventas de manzanas. Es un valor booleano.
  • Bread: Da información sobre las ventas de pan. Es un valor booleano.
  • Butter: Da información sobre las ventas de mantequilla. Es un valor booleano.
  • Cheese: Da información sobre las ventas de queso. Es un valor booleano.
  • Corn: Da información sobre las ventas de maíz. Es un valor booleano.
  • Dill: Da información sobre las ventas de eneldo. Es un valor booleano.
  • Eggs: Da información sobre las ventas de huevos. Es un valor booleano.
  • Ice cream: Da información sobre las ventas de helado. Es un valor booleano.
  • Kidney Beans: Da información sobre las ventas de frijoles. Es un valor booleano.
  • Milk: Da información sobre las ventas de leche. Es un valor booleano.
  • Nutmeg: Da información sobre las ventas de nuez moscada. Es un valor booleano.
  • Onion: Da información sobre las ventas de cebollas. Es un valor booleano.
  • Sugar: Da información sobre las ventas de azúcar. Es un valor booleano.
  • Unicorn: Da información sobre las ventas de unicornio. Es un valor booleano.
  • Yogurt: Da información sobre las ventas de yogur. Es un valor booleano.
  • Chocolate: Da información sobre las ventas de chocolate. Es un valor booleano.

World Population by Year

El segundo dataset con el que se trabajó fue el de World Population by Year. Contiene información sobre la población mundial, y algunas otras métricas, en un año específico recuperadas de la página Worldmeter y registradas en un archivo csv. Trabaja con los años desde 1951 hasta 2020 y cuenta con 70 registros, cada uno con 7 campos (columnas) que representan lo siguiente:

  • Year: Año para el que se realiza el análisis. Es un valor entero. Este campo fue tomado como key en la construcción del registro.
  • Population: Población mundial. Es un valor entero.
  • ChangePerc: Cambio anual en porcentaje. Es un valor decimal.
  • NetChange: Cambio total anual. Es un valor entero.
  • Density: Densidad en P/Km². Es un valor entero.
  • Urban: Población urbana. Es un valor entero.
  • UrbanPerc: Población urbana en porcentaje. Es un valor entero.

Resultados esperados

Al finalizar el análisis, se espera obtener un programa que permita al usuario acceder a estos dos datasets con cualquiera de las dos técnicas de organización de archivos y realizar sobre estos cualquiera de las operaciones básicas implementadas, las cuales son inserción, eliminación, búsqueda y búsqueda por rango.