Articulo de referencia

Sistema de archivos Quantcast

[https://github.com/quantcast/qfs/releases/tag/2.2.6 Release 2.2.6] "},"latest preview version":{"wt":""},"latest preview date":{"wt":""},"operating system":{"wt":""},"programmi...

Quantcast File System ( QFS ) es un paquete de software de sistema de archivos distribuido de código abierto para cargas de trabajo de procesamiento por lotes, como MapReduce , a gran escala . Fue diseñado como una alternativa al sistema de archivos distribuido Apache Hadoop ( HDFS ), con el objetivo de ofrecer un mejor rendimiento y una mayor rentabilidad para clústeres de procesamiento a gran escala.

Diseño

QFS es un software que se ejecuta en un clúster de cientos o miles de servidores Linux estándar y permite que otras capas de software interactúen con ellos como si fueran un único disco duro gigante. Tiene tres componentes:

  • En cada máquina que alojará los datos, se ejecuta un servidor de fragmentos que gestiona las operaciones de entrada/salida de sus discos duros y supervisa su actividad y capacidad.
  • Un proceso central, denominado metaserver, mantiene la estructura de directorios y asigna los archivos al almacenamiento físico. Coordina las actividades de todos los servidores de fragmentos y supervisa el estado general del sistema de archivos. Para un alto rendimiento, almacena todos sus datos en memoria, escribiendo puntos de control y registros de transacciones en disco para su recuperación.
  • Un componente cliente es el punto de interfaz que presenta una interfaz de programación de aplicaciones (API) del sistema de archivos a otras capas del software. Realiza solicitudes al metaserver para identificar qué servidores de fragmentos contienen (o contendrán) sus datos, y luego interactúa directamente con dichos servidores para leer y escribir.

En un clúster de cientos o miles de máquinas, es poco probable que todas estén funcionando y accesibles en un momento dado, por lo que la tolerancia a fallos es el principal desafío de diseño. QFS lo resuelve con la corrección de errores Reed-Solomon . La forma de codificación Reed-Solomon utilizada en QFS almacena datos redundantes en nueve lugares y puede reconstruir el archivo a partir de seis de estas franjas. [ 2 ] Cuando escribe un archivo, por defecto lo distribuye en nueve máquinas físicamente diferentes: seis que almacenan los datos y tres que almacenan la información de paridad. Tres de ellas pueden quedar inaccesibles. Si seis permanecen legibles, QFS puede reconstruir los datos originales. El resultado es tolerancia a fallos a costa de una expansión de datos del 50 %.

QFS está escrito en el lenguaje de programación C++ , funciona con un consumo de memoria fijo y utiliza entrada y salida (E/S) directa.

Historia

QFS evolucionó a partir del Kosmos File System (KFS), un proyecto de código abierto iniciado por Kosmix en 2005. Quantcast adoptó KFS en 2007, desarrolló sus propias mejoras sobre él durante los años siguientes y lanzó QFS 1.0 como un proyecto de código abierto en septiembre de 2012. [ 3 ]

Referencias

  1. Versión 2.2.6
  2. "QFS mejora el rendimiento del sistema de archivos de Hadoop - Strata" . Archivado del original el 19/11/2012 . Consultado el 06/12/2012 .
  3. "Quantcast lanza un sistema de archivos Hadoop más grande, rápido y potente: noticias y análisis tecnológicos" . Archivado del original el 3 de diciembre de 2012. Consultado el 6 de diciembre de 2012 .
  • Sitio web oficial