Almacenamiento

Un computador tiene la facultad de almacenar información a través de bit; esta información puede estar almacenado en dos principales fuentes: memoria RAM (random access memory) o en disco duro. La primera es volátil y la segunda es persistente. Para que un algoritmo que se ejecuta en un computador pueda realizar una secuencia de operaciones de computo es necesario almacenar esos datos, puede usar uno de los medios anteriores descrito o las dos en conjunto, esto es fundamental para poder realizar la siguiente instrucción 𝑛+1, dado que los cálculos van cambiando cada nueva instrucción, sin una manera de almacenamiento, cada vez estaríamos en el estado inicial del algoritmo y el resultado de este seria incoherente e inútil. Esta claro que la forma de almacenamiento abarca una infinidad de cosas más allá de la programación, el hecho de tener un video o una foto en el computador es una demostración de la capacidad del computador de almacenar información; para cuando se necesita mantener información en el tiempo se utiliza un disco duro como medio de persistencia, o sino cada vez que reiniciemos el computador perderíamos todo, y para el uso de todos los software que utilizamos a diario es necesaria una memoria RAM, porque es variable, a veces necesitamos una cantidad mayor y en otras no (esto depende del software). Un computador en una red de proceso colaborativos que se comunican entre si para operar, ¿cuál es la forma en que se almacenan la información en persistencia? Al principio mencione que se utiliza bit, este solo es un valor binario (0 o 1), que a mayor cantidad puede tener otra representación como, bytes, kilobytes, gigabytes, etc. Pero lo importante es el fondo, un archivo, del formato que sea es una secuencia de bit con distintas combinaciones; cuando un archivo esta corrupto — dañado y no se puede abrir o visualizar— significa que una parte de dicha secuencia es incorrecta y la codificación a sido afectada.

¿Qué vemos en este proceso? Un orden; es fundamental saber que la computación clásica (no cuántica) no utiliza las probabilidades en el manejo de su información, todo esta previamente definido en una secuencia determinista de bit que representan un archivo, por ende, el orden es fundamental. Al tener estos archivos una secuencia, se pueden encontrar patrones que podrían ayudar en otro proceso importante en la computación, la compresión de datos; esta se da en mayor medida en ciertos tipos de formatos, donde la compresión (reducción de peso de un archivo) es mayor. ¿Entonces dependiendo el formato la compresión en distinta? Si, esto quiere decir que, dependiendo del tipo de formato de archivos, texto, imagen, video, etc., generalmente tienen una secuencia parecida entre los mismos; por tanto, al detectar patrones de bit similares es posible crear generalizaciones que reducirían la secuencia provocando una disminución de esta. Un archivo de texto es mucho más factible lograr una mayor compresión por la similitud de patrones en su secuencia, a diferencia de un video, que no es tan simple de encontrar dichos patrones en los bits, por la simple razón que un video es un conjunto finito de frame que por lo general son distintos entre ellos.

El almacenamiento tiene un tiempo finito para completarse (escritura), que varia según el tamaño en bit de un archivo, mientras mayor sea este, mayor será el tiempo de escritura en dicho tipo de almacenamiento (memoria RAM o disco duro), y en este punto, la memoria RAM es mucho más rápida en la escritura y lectura de la información, a diferencia del disco duro, que por lo demás para este, se ha ido reduciendo dicho tiempo con hardware más moderno, como los disco duro de estado solido. Al final el almacenamiento es una unión entre la capacidad principalmente del hardware, acompañada con algoritmos eficiente en el lado del software.

Así, pues, ¿Cuáles son los principales problemas del almacenamiento computacional? ¿Cómo evolucionaran estos en el tiempo?