1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
15 \use_numerical_citations 0
16 \paperorientation portrait
23 \paragraph_separation indent
25 \quotes_language english
29 \paperpagestyle default
38 Comparacion de Tipo de archivos.
41 Método utilizado para la comparación
44 Para realizar la comparación entre los distintos tipos de archivo, se generaron
45 un xml de articulos con 200 entradas y uno de facturas de 1750 entreadas.
46 Los valores fueron arbitrarios y un poco mas elevados que los requeridos
47 en el enunciado para poner a prueba el sistema.
50 En la tabla que se dará más adelante, se pueden apreciar los datos característic
51 os de cada tipo de archivo.
52 El métido de prueba fue el siguiente :
55 Para cada tipo de archivo se cargaron los archivos xml de prueba
58 Se anotaron las estadísticas que entrega la GUI
61 Se eliminaron alrededor de 50 artículos y 200 facturas.
62 El valor no es exacto, puesto que al ser pseudo-aleatoria la cantidad borrada
63 puede no ser 50 o 200.
66 Se anotaron las estadísticas nuevamente.
69 Ahora, los tamaños de bloque para los archivos con bloques fueron tomados
70 de 512 bytes, por ser una unidad típica de dispositivos de almacenamiento,
71 y nos pareció lógico dada la similitud utilizar esta unidad.
79 <lyxtabular version="3" rows="8" columns="7">
80 <features islongtable="true">
81 <column alignment="left" valignment="top" leftline="true" width="0">
82 <column alignment="center" valignment="top" leftline="true" width="0">
83 <column alignment="center" valignment="top" leftline="true" width="0">
84 <column alignment="center" valignment="top" leftline="true" width="0">
85 <column alignment="center" valignment="top" leftline="true" width="0">
86 <column alignment="center" valignment="top" leftline="true" width="0">
87 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
88 <row topline="true" bottomline="true">
89 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
97 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
105 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
113 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
121 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
129 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
137 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
146 <row topline="true" bottomline="true">
147 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
154 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
162 <cell multicolumn="2" alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
169 <cell multicolumn="2" alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
176 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
184 <cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
191 <cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
200 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
208 <cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
225 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
242 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
259 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
276 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
293 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
312 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
317 Tamaño Datos de Control
320 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
337 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
354 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
371 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
388 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
405 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
424 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
432 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
449 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
466 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
483 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
500 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
517 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
536 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
541 Media de Espacio Libre
544 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
561 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
578 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
595 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
612 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
629 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
648 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
653 Máximo de Espacio Libre
656 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
673 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
690 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
707 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
724 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
741 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
759 <row topline="true" bottomline="true">
760 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
765 Mínimo de Espacio Libre
768 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
785 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
802 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
819 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
836 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
853 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
878 Evidentemente para el caso de artículos, una muy mala eleccion seria utilizar
879 el archivo de tipo3, puesto que al usar registros constantes es posible
880 que se desperdicie mucho espacio si ocurren muchas eliminaciones (como
881 se observa en la tabla).
882 Entre los tipos 1 y 2 no existe mucha diferencia en los números, por lo
883 que la decisión podría ser tomada en base a los tiempos de acceso.
884 Tomando este criterio el T2 sería la mejor forma de almacenar los datos
885 si lo más frecuente son lecturas, ya que al leer se puede obtener el offset
886 desde el principio del registro, mientras que en el tipo1 se debe hacer
887 una búsqueda secuencial sobre el bloque, y de ser éste último muy grande
888 el tiempo de acceso puede ser elevado.
892 Para operaciones que requiera muchas bajas de elementos el tipo 2 no sería
893 la mejor opción, puesto que la liberación es compleja, ya que cuando se
894 da de baja un registro se debe verificar si dicho espacio se solapa con
895 algún espacio libre actual, de manera de mantener espacios libres como
896 lo hacen los sistemas de archivo ext2, manteniendo la lista de los offsets
897 y tamaño de espacios libres, a fin de buscar el que mejor ajuste en caso
901 Para el caso de artículos, donde puede haber un continuo cambio en la oferta
902 de nuestro negocio, nos inclinaremos por el tipo de archivo 1, con un tamaño
904 Solo recordaremos compactar el archivo periodicamente a fin de minimizar
905 el espacio desperdiciado.
913 <lyxtabular version="3" rows="8" columns="7">
914 <features islongtable="true">
915 <column alignment="left" valignment="top" leftline="true" width="0">
916 <column alignment="center" valignment="top" leftline="true" width="0">
917 <column alignment="center" valignment="top" leftline="true" width="0">
918 <column alignment="center" valignment="top" leftline="true" width="0">
919 <column alignment="center" valignment="top" leftline="true" width="0">
920 <column alignment="center" valignment="top" leftline="true" width="0">
921 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
922 <row topline="true" bottomline="true">
923 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
931 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
939 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
947 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
955 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
963 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
971 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
980 <row topline="true" bottomline="true">
981 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
988 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
996 <cell multicolumn="2" alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1003 <cell multicolumn="2" alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1010 <cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1018 <cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1025 <cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1033 <row topline="true">
1034 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1042 <cell multicolumn="1" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1059 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1076 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1093 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1110 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1127 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1145 <row topline="true">
1146 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1151 Tamaño Datos de Control
1154 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1171 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1188 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1205 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1222 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1239 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1257 <row topline="true">
1258 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1266 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1283 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1300 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1317 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1334 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1351 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1378 <row topline="true">
1379 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1384 Media de Espacio Libre
1387 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1404 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1421 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1447 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1464 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1481 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1508 <row topline="true">
1509 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1514 Máximo de Espacio Libre
1517 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1534 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1551 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1577 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1594 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1611 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1638 <row topline="true" bottomline="true">
1639 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1644 Mínimo de Espacio Libre
1647 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1664 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1681 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1707 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1724 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1741 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1775 Primero descartaremos al tipo 3 como un buen modo de almacenar las facturas,
1776 por el solo hecho de que la cantidad de items que puede tener una factura
1777 está limitada al tamaño de registro utilizado.
1778 Esto solo sería razonable en un contexto en donde la variabilidad del registro
1779 no sea drástica como es el caso de las facturas.
1780 De tomar valores grande de registros, se corre el riesgo de tener mucho
1781 espacio desperdiciado en los datos, y tomando valores pequeños de registro
1782 se limita el sistema en cuanto a cantidad de items a colocar en una factura
1786 Nuevamente tenemos una disputa entre el los tipo 1 y 2.
1789 Idealmente, si solo tuvieramos altas el mejor tipo sería el 2 sin dudarlo,
1790 ya que aprovecha el máximo espacio al no tener pérdidas, debido a que los
1791 registros van uno a continuación del otro.
1792 También tenemos la ventaja de que el acceso es directo.
1793 Para un caso teórico donde las facturas no se dan de baja, esto sería ideal.
1794 Hasta aquí solo hemos visto comparaciones con la carga inicial.
1797 Analizaremos ahora que pasa luego de borrar varios registros en posiciones
1799 Primeramente se puede observar que el tamaño de datos de control es similar
1800 (recordar que se guarda el id del registro para poder realizar tareas de
1801 recuperación de datos en caso de que el índice se dañe).
1802 El máximo espacio libre no nos da mucha información, ya que en el caso
1803 del tipo 1 podríamos tener n bloques consecutivos libres y tener posiciones
1804 para almacenar registros grandes en ambos casos (recordar que tipo1 tiene
1805 recuperación de espacio libre para n bloques consecutivos, no siempre se
1807 De todos determinar un espacio libre para un archivo de tipo 2 es mucho
1808 más rápido que para tipo1 si el tamaño del registro es grande, ya que el
1809 archivo de tipo1 debe hacer una búsqueda sobre n bloques, mientras que
1810 el tipo 2 encuentra un gap de tamaño suficiente más rápido.
1813 Pero no todo es color de rosa en el mundo de archivos de tipo2.
1814 Como se dijo anteriormente las bajas de registros requieren de un proceso
1815 grande al actualizar el índice de espacio libre, para asegurarse de tomar
1816 espacios libres consecutivos como un solo espacio libre, y en el caso de
1817 que las bajas y las altas comunes, esto es una pérdida de performance del
1821 En este caso como se trata de facturas, y suponemos que como usuarios de
1822 sistema queremos cancelar pocas facturas (ya que cancelar una factura significa
1823 que se cayó una venta) optamos por que el mejor tipo de archivo para almacenar
1824 las facturas sera el tipo2.