hbase time-series opentsdb

¿Por qué OpenTSDB eligió HBase para el almacenamiento de datos de la serie temporal?



time-series (1)

Elegí HBase porque se escala . Susurrar es muy parecido a RRD, es una base de datos de tamaño fijo, debe destruir datos para poder trabajar dentro de sus limitaciones de espacio. HBase ofrece las siguientes propiedades que lo hacen muy adecuado para bases de datos de series de tiempo a gran escala:

  1. Escala lineal. ¿Quieres almacenar datos? Añadir más nodos. En StumbleUpon, donde escribí OpenTSDB, nuestros datos de series de tiempo se ubicaron en un clúster de 20 nodos que se usó principalmente para análisis y procesamiento por lotes. El clúster creció a 120 nodos con bastante rapidez, y mientras tanto OpenTSDB, que representa solo una pequeña fracción de la carga de trabajo del clúster, creció a medio billón de puntos de datos.
  2. Replicación automática. Sus datos se almacenan en HDFS, que de manera predeterminada significa 3 réplicas en 3 máquinas diferentes. Si una máquina o una unidad mueren, no hay problema. Las unidades y las máquinas mueren todo el tiempo cuando se construyen servidores de productos básicos. Pero la cosa es que no te importa.
  3. Exploraciones eficientes. La mayoría de los datos de series de tiempo se utilizan para responder preguntas que son como "cuáles son los puntos de datos entre el tiempo X y Y". Si estructura sus claves correctamente, puede implementar esto de manera muy eficiente con HBase con una simple operación de escaneo.
  4. Alto rendimiento de escritura. El diseño de Bigtable , que sigue HBase, utiliza árboles LSM en lugar de, por ejemplo, árboles B, para hacer las escrituras más baratas (a costa de lecturas potencialmente más caras).

El hecho de que HBase esté orientado a la columna no fue tan importante como el hecho de que es un gran sistema de clave-valor ordenado que realmente escala.

Todas las herramientas basadas en RRD y derivadas de RRD no pudieron satisfacer los requisitos de escala de poder almacenar de manera precisa miles de millones y miles de millones de puntos de datos por un precio muy económico (solo unos pocos bytes de espacio de disco real por punto de datos).

¿Realmente apreciaría si alguien aclarara la elección de HBase como motor de almacenamiento de datos para OpenTSDB?

¿Qué otras opciones, como Whisper (front-end de grafito + persistencia de carbono), se consideraron?

¿Cómo es una db orientada a columnas como HBase una mejor opción para datos de series de tiempo?