X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/439d9f9ac17b496b8f90857995271bc17fa5600e..1a26a916a0a29ec0c4bb4766dc5a92b652181c9d:/doc/analisis.lyx diff --git a/doc/analisis.lyx b/doc/analisis.lyx index a81f70d..f9d974c 100644 --- a/doc/analisis.lyx +++ b/doc/analisis.lyx @@ -36,7 +36,7 @@ \layout Title Comparacion de Tipo de archivos. -\layout Standard +\layout Section Método utilizado para la comparación \layout Standard @@ -69,9 +69,9 @@ Se anotaron las estad Ahora, los tamaños de bloque para los archivos con bloques fueron tomados de 512 bytes, por ser una unidad típica de dispositivos de almacenamiento, y nos pareció lógico dada la similitud utilizar esta unidad. -\layout Standard +\layout Subsection -De la operatorio antes descripta sale la siguiente tabla : +Articulos \layout Standard @@ -880,17 +880,946 @@ Evidentemente para el caso de art que se desperdicie mucho espacio si ocurren muchas eliminaciones (como se observa en la tabla). Entre los tipos 1 y 2 no existe mucha diferencia en los números, por lo - que la desición podriía ser tomada en base a los tiempos de acceso. + que la decisión podría ser tomada en base a los tiempos de acceso. Tomando este criterio el T2 sería la mejor forma de almacenar los datos - para si lo más frecuente son lecturas, ya que al leer se puede obtener - el offset desde el principio del registro, mientras que en el tipo1 se - debe hacer una búsqueda secuencial sobre el bloque, y de ser éste último - muy grande el tiempo de acceso puede ser elevado. - Para operaciones que requiera muchas bajas de elementos el tipo 2 no sería + si lo más frecuente son lecturas, ya que al leer se puede obtener el offset + desde el principio del registro, mientras que en el tipo1 se debe hacer + una búsqueda secuencial sobre el bloque, y de ser éste último muy grande + el tiempo de acceso puede ser elevado. + +\layout Standard + +Para operaciones que requiera muchas bajas de elementos el tipo 2 no sería la mejor opción, puesto que la liberación es compleja, ya que cuando se da de baja un registro se debe verificar si dicho espacio se solapa con algún espacio libre actual, de manera de mantener espacios libres como lo hacen los sistemas de archivo ext2, manteniendo la lista de los offsets y tamaño de espacios libres, a fin de buscar el que mejor ajuste en caso de una alta. +\layout Standard + +Para el caso de artículos, donde puede haber un continuo cambio en la oferta + de nuestro negocio, nos inclinaremos por el tipo de archivo 1, con un tamaño + de bloque reducido. + Solo recordaremos compactar el archivo periodicamente a fin de minimizar + el espacio desperdiciado. +\layout Subsection + +Facturas +\layout Standard + + +\begin_inset Tabular + + + + + + + + + + + +\begin_inset Text + +\layout Standard + +Facturas +\end_inset + + +\begin_inset Text + +\layout Standard + +T1 +\end_inset + + +\begin_inset Text + +\layout Standard + +T2 +\end_inset + + +\begin_inset Text + +\layout Standard + +T3 +\end_inset + + +\begin_inset Text + +\layout Standard + +T1 +\end_inset + + +\begin_inset Text + +\layout Standard + +T2 +\end_inset + + +\begin_inset Text + +\layout Standard + +T3 +\end_inset + + + + +\begin_inset Text + +\layout Standard + +\end_inset + + +\begin_inset Text + +\layout Standard + +Inicial +\end_inset + + +\begin_inset Text + +\layout Standard + +\end_inset + + +\begin_inset Text + +\layout Standard + +\end_inset + + +\begin_inset Text + +\layout Standard + +Luego de borrar +\end_inset + + +\begin_inset Text + +\layout Standard + +\end_inset + + +\begin_inset Text + +\layout Standard + +\end_inset + + + + +\begin_inset Text + +\layout Standard + +Tamaño Datos +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +268707 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +268707 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +546000 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +207295 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +212465 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +482664 bytes +\end_inset + + + + +\begin_inset Text + +\layout Standard + +Tamaño Datos de Control +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +14008 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +14004 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +7012 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +12288 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +12324 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +6200 bytes +\end_inset + + + + +\begin_inset Text + +\layout Standard + +Espacio Libre +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +17325 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +0 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +343000 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +80457 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +57922 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +407148 +\family default +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color default + bytes +\end_inset + + + + +\begin_inset Text + +\layout Standard + +Media de Espacio Libre +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +29 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +0 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +196 +\family default +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color default + bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +137 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +981 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +232 +\family default +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color default + bytes +\end_inset + + + + +\begin_inset Text + +\layout Standard + +Máximo de Espacio Libre +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +386 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +0 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +196 +\family default +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color default + bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +512 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +10656 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +512 +\family default +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color default + bytes +\end_inset + + + + +\begin_inset Text + +\layout Standard + +Mínimo de Espacio Libre +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +1 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +0 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +196 +\family default +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color default + bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +1 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +216 bytes +\end_inset + + +\begin_inset Text + +\layout Standard + + +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\noun off +\color none +196 +\family default +\series default +\shape default +\size default +\emph default +\bar default +\noun default +\color default + bytes +\end_inset + + + + +\end_inset + + +\layout Standard + +Primero descartaremos al tipo 3 como un buen modo de almacenar las facturas, + por el solo hecho de que la cantidad de items que puede tener una factura + está limitada al tamaño de registro utilizado. + Esto solo sería razonable en un contexto en donde la variabilidad del registro + no sea drástica como es el caso de las facturas. + De tomar valores grande de registros, se corre el riesgo de tener mucho + espacio desperdiciado en los datos, y tomando valores pequeños de registro + se limita el sistema en cuanto a cantidad de items a colocar en una factura + se refiere. +\layout Standard + +Nuevamente tenemos una disputa entre el los tipo 1 y 2. +\layout Standard + +Idealmente, si solo tuvieramos altas el mejor tipo sería el 2 sin dudarlo, + ya que aprovecha el máximo espacio al no tener pérdidas, debido a que los + registros van uno a continuación del otro. + También tenemos la ventaja de que el acceso es directo. + Para un caso teórico donde las facturas no se dan de baja, esto sería ideal. + Hasta aquí solo hemos visto comparaciones con la carga inicial. +\layout Standard + +Analizaremos ahora que pasa luego de borrar varios registros en posiciones + pseudo-aleatorias. + Primeramente se puede observar que el tamaño de datos de control es similar + (recordar que se guarda el id del registro para poder realizar tareas de + recuperación de datos en caso de que el índice se dañe). + El máximo espacio libre no nos da mucha información, ya que en el caso + del tipo 1 podríamos tener n bloques consecutivos libres y tener posiciones + para almacenar registros grandes en ambos casos (recordar que tipo1 tiene + recuperación de espacio libre para n bloques consecutivos, no siempre se + agrega al final). + De todos determinar un espacio libre para un archivo de tipo 2 es mucho + más rápido que para tipo1 si el tamaño del registro es grande, ya que el + archivo de tipo1 debe hacer una búsqueda sobre n bloques, mientras que + el tipo 2 encuentra un gap de tamaño suficiente más rápido. +\layout Standard + +Pero no todo es color de rosa en el mundo de archivos de tipo2. + Como se dijo anteriormente las bajas de registros requieren de un proceso + grande al actualizar el índice de espacio libre, para asegurarse de tomar + espacios libres consecutivos como un solo espacio libre, y en el caso de + que las bajas y las altas comunes, esto es una pérdida de performance del + sistema. +\layout Standard + +En este caso como se trata de facturas, y suponemos que como usuarios de + sistema queremos cancelar pocas facturas (ya que cancelar una factura significa + que se cayó una venta) optamos por que el mejor tipo de archivo para almacenar + las facturas sera el tipo2. \the_end