stringtranslate.com

Elípticas

Elliptics es un sistema de almacenamiento de datos distribuidos de clave-valor con código fuente abierto . De forma predeterminada, es una tabla hash distribuida (DHT) clásica con múltiples réplicas ubicadas en diferentes grupos (hashes distribuidos). Elliptics se creó para satisfacer los requisitos de ubicaciones de almacenamiento distribuidas físicamente y con múltiples centros de datos cuando se almacenan grandes cantidades de archivos medianos y grandes (de 1 KB a gigabytes de tamaño, de miles a miles de millones de objetos).

Historia

Elliptics fue creado en 2007, inicialmente como parte de POHMELFS, [1] [2] un sistema de archivos distribuido coherente con caché desarrollado por el programador de Linux Evgeniy Polyakov. POHMELFS fue anunciado el 31 de enero de 2008, [3] y se fusionó con el área de ensayo del árbol de fuentes del núcleo de Linux en la versión 2.6.30, lanzada el 9 de junio de 2009. El sistema de archivos prácticamente no se utilizó y fue eliminado nuevamente en febrero de 2012. [4]

En 2008, Elliptics se separó como un proyecto independiente. Polyakov probó diferentes enfoques para los sistemas de almacenamiento de datos distribuidos, algunos de ellos no eran adecuados debido a su complejidad y algunos de ellos estaban demasiado lejos de la vida real ( BerkeleyDB , LevelDB , Kyoto Cabinet backends para archivos medianos y grandes, diferentes centros de datos en un solo anillo DHT, recuperación no eventual). Elliptics es finalmente un sistema consistente con múltiples réplicas actualizadas en paralelo que potencialmente viven en ubicaciones distribuidas físicamente. Elliptics contiene múltiples capas desde el almacenamiento en disco de bajo nivel (llamado Eblob) hasta cachés SLRU y protocolo de enrutamiento dinámico. [5]

En 2012, Polyakov anunció una nueva versión de POHMELFS basada en elípticas. [4]

A partir de 2014, Elliptics se utiliza en Yandex Maps , Disk, Music, Photos, Market and Infrastructure, [6] el motor de búsqueda Sputnik y Coub .

Arquitectura

De forma predeterminada, Elliptics forma una tabla hash distribuida en un solo grupo (una réplica). El grupo puede contener uno o varios servidores, así como el servidor físico puede contener varios grupos de Elliptics (réplicas) almacenados en diferentes backends. Los grupos pueden residir en diferentes ubicaciones físicas, lo que permite atender las solicitudes de los clientes cuando no se puede acceder a otras ubicaciones. Se puede utilizar un protocolo peer-to-peer (P2P) para acceder a los datos directamente desde los servidores de almacenamiento sin proxy. Elliptics admite la creación de scripts del lado del servidor en C++ , JavaScript , Python , basándose en la tecnología Cocaine , la caché SLRU y varios backends conectables (eblob es el más rápido para datos medianos y grandes y el más popular).

Los clientes de Elliptics se conectan directamente a todos los servidores de almacenamiento, lo que ayuda a:

Existen varias interfaces de programación de aplicaciones (API) para el acceso a datos:

Características

Problemas y restricciones

Documentación

Elliptics y sus proyectos de apoyo se documentan en la wiki de la comunidad Archivado el 21 de enero de 2020 en Wayback Machine . Contiene documentación de diseño de alto nivel, tutorial, detalles de bajo nivel y base de conocimientos. Elliptics y los proyectos relacionados se discuten en un grupo abierto de Google.

Véase también

Referencias

  1. ^ "POHMELFS: Un nuevo pero antiguo sistema de archivos distribuido de Linux - Phoronix". www.phoronix.com . Consultado el 8 de mayo de 2017 .
  2. ^ "POHMELFS regresa [LWN.net]". lwn.net . Consultado el 8 de mayo de 2017 .
  3. ^ "Entrada 2008.01.31". Archivado desde el original el 6 de octubre de 2008. Consultado el 8 de mayo de 2017 .
  4. ^ ab Evgeniy Polyakov (8 de febrero de 2012). "pohmelfs: llamado a la inclusión".
  5. ^ "Как устроены облака Яндекса: Elípticas" . Consultado el 8 de mayo de 2017 .
  6. ^ "Elípticas — Yandex Technologies". api.yandex.com . Consultado el 8 de mayo de 2017 .

Enlaces externos