Google funciona como un gigantesco algoritmo de compresión, hace que lo complicado sea mucho más fácil y simplificado.
La compresión y descompresión, procesos que a menudo hacen referencia a la codificación y decodificación.
Los algoritmos de compresión sin pérdida, como también son conocidos, reducen el tamaño del archivo sin perder la calidad.
Esto puede aumentar su entropía y hacer que los archivos parezcan más aleatorios porque todos los bytes posibles se vuelven más comunes.
Cuando se guarda el archivo, se comprime, cuando se descomprime (abre) se recuperan los datos originales. Los datos del archivo solo se «tiran» temporalmente, para que el archivo se pueda transferir.
Este tipo de compresión se puede aplicar no solo a gráficos, sino a cualquier tipo de información de computadora, como hojas de cálculo, documentos de texto y aplicaciones de software.
Estamos acostumbrados a visitar uno de estos muy a menudo, es el más grande construido hasta ahora y es el de google.com, si el buscador.
¿Es seguro esta tecnología del algoritmo de compresión?
Los algoritmos de compresión de disfraz generalmente producen datos que parecen más aleatorios. Es decir, hay una distribución más uniforme de los datos.
Esto quiere decir que, no es seguro en absoluto. La mayoría de los algoritmos de compresión transmiten la tabla o el diccionario al principio del archivo.
Hay muchos programas de compresión disponibles para todas las computadoras. A menudo utilizan algoritmos patentados y constituyen un primer paso ideal para cualquier programa de cifrado.
Piénselo así: si comprime un documento de Word con un algoritmo sin pérdidas, busca las letras repetidas y las descarta temporalmente.
Cuando se descomprime el documento, se recuperan las letras. De eso se trata todo. El siguiente ejemplo da una muy simple ilustración de cómo funciona esto:
Datos sin comprimir | Datos comprimidos | Datos descomprimidos |
Hola Sandra | HllSndr | Hola Sandra |
Y esta es la razón por la que se emplea el término sin pérdida, ya que no se pierden datos al momento de recuperar la información.
Si bien la ventaja de esto es que mantiene la calidad, la principal desventaja es que no reduce tanto el tamaño del archivo como la compresión con pérdida.
La compresión con perdida, es en la que un archivo descomprimido es más pequeño que el archivo original, partiendo del detalle (no es obvio para el usuario) que se pierde algo en el proceso de compresión.
Hay muchos ejemplos de algoritmos de compresión, una famosa es la codificación Huffman, que se usa comúnmente para la compresión de datos sin pérdidas.
El algoritmo Huffman es óptimo para una codificación símbolo por símbolo con una distribución de probabilidad de entrada conocida, es decir, que codifica por separado símbolos no relacionados en tal flujo de datos.
También existe el RLE (run-length encoding). Se utiliza para íconos, dibujos lineales y animaciones. No es útil con archivos que no tienen muchas ejecuciones, ya que podría aumentar considerablemente el tamaño del archivo.
Google tiene a Brotli, el algoritmo de compresión que promete un Internet mucho más «rápido».
Brotli es una nueva biblioteca de compresión de datos de código abierto desarrollada por Google. Su algoritmo de compresión sin pérdida logra superar los actuales algoritmos de compresión en uso, como gzip, deflate, etc.
Desarrollado por los ingenieros de Google Jyrki Alakuijala y Zoltán Szabadka. Comenzó a existir en el año 2015. Inicialmente, la compresión de fuentes web era el principal objetivo.
Más tarde, la biblioteca de código abierto se mejoró para la compresión HTTP. Ahora, se trata principalmente de HTTPS.
En los últimos tiempos, ha habido un aumento en la adopción de Brotli en diferentes navegadores y servidores. Por ejemplo, Google Chrome, Mozilla Firefox, Opera y los servidores Apache, Nginx, entre otros.
La estructura de los algoritmos de compresión y su razonamiento a menudo no son difíciles de entender, por eso te invito a que compartas tu conocimiento sobre el tema. Anímate a seguir investigando sobre el tema.