Une Time Series DataBase est une base de données optimisée pour le stockage de données horodatées, telles que les données générées par l’internet des objets. Découvrez la définition complète d’une Time Series DataBase, ses différences avec les autres bases de données, ses fonctionnalités spécifiques, ses avantages pour l’entreprise, ainsi que le classement des bases de données TimeSeries les plus populaires.
Avant de définir ce qu’est une Time Series Data Base, il convient d’expliquer ce qu’est une Time Series Data. Il s’agit d’une séquence de points de données collectés à intervalles réguliers sur une période de temps. Pour faire simple, il s’agit de n’importe quelle donnée horodatée.
On peut par exemple citer les données générées par les objets connectés, les informations de santé, les données de réseaux, les clics, les transactions sur un marché, ou encore les performances d’une application. La différence majeure entre ces données et les données classiques est que l’utilisateur se pose des questions sur ces données au fil du temps.
Afin d’être exploitées, ces données doivent être agrégées et analysées. Ces données devaient déjà être stockées par le passé, mais avec l’essor de l’internet des objets et l’explosion des données générées par les capteurs, il n’est plus possible de les stocker sur des bases de données traditionnelles. Les besoins en performances, en tolérance aux pannes, en disponibilité et en scalabilité engendrent la nécessité d’utiliser des bases de données de type Time Series Database.
Time Series Database : qu’est-ce que c’est ?
Une Time Series Database (TSDB) est une base de données optimisée pour les données horodatées ou time series data. Elle est spécialement conçue pour prendre en charge les mesures et les événements horodatés (time-stamped).
Ce type de base de données mesure les changements au fil du temps. Elle propose des fonctionnalités de gestion du cycle de vies des données, d’agrégation (summarization), et permet de scanner de larges rangées d’enregistrements.
Pourquoi les Time Series Database sont devenues importantes ?
Les Time Series Databases ne sont pas nouvelles. Toutefois, la première génération de TSDB était principalement focalisée sur les données financières et la volatilité du trading d’action. Cependant, l’informatique a beaucoup évolué au fil des dernières années. Les mainframes monolithiques ont disparu pour laisser place aux serveurs serverless, aux microserveurs et aux containers.
En outre, avec l’essor de l’internet des objets, de plus en plus d’objets du monde réel sont équipés de capteurs : véhicules, appareils électroménagers, vêtements, machines de production… même les humains s’implanteront bientôt des capteurs. Dans ce contexte, le nombre de données time series a littéralement explosé et ces données sont produites en flux ininterrompu.
C’est la raison pour laquelle les bases de données Time Series sont devenues très importantes et très utilisées. Pour prendre en charge l’immense volume de données horodatées en provenance de multiples sources, les infrastructures de données doivent évoluer au même titre que le développement, la surveillance, le contrôle et la gestion des systèmes informatiques.
Quelles différences entre une Time Series Database et une base de données classique ?
Les Time Series Databases ont des différences majeures avec les bases de données classiques. Leurs propriétés spécifiques sont le stockage et la compression de données horodatées, la gestion de cycle de vie des données, l’agrégation de données, la capacité de scanner de larges quantités d’enregistrement, et de prendre en charge des requêtes en prenant en compte l’horodatage.
Il est par exemple possible de requérir une agrégation de données sur une longue période de temps. Pour ce faire, la TSDB prend en compte un grand nombre de points de données afin de calculer par exemple un pourcentage d’augmentation sur un mois par rapport aux six mois précédents. En quelques millisecondes, la base de données Time Series peut parcourir des données agrégées sur plusieurs mois, ce qui est beaucoup plus complexe pour une base de données classique.
Time Series Database vs Elasticsearch : quelles différences ?
Une Time Series Database présente plusieurs avantages par rapport à Elasticsearch. Pour la recherche, Elasticsearch est une très bonne solution. Toutefois, elle ne convient pas aux données Time Series. Tout d’abord, il est difficile d’utiliser son API, ce qui ralentit fortement les développeurs.
Par ailleurs, ses performances sont largement inférieures à celles d’une Time Series Database. Pour l’écriture, une base de données TimeSeries se révèle généralement 5 à 10 fois plus rapide qu’Elasticsearch. La vitesse de requête sur des séries temporelles spécifiques peut être jusqu’à 100 fois plus rapide qu’avec Elasticsearch.
Time Series Database vs MongoDB : quelles différences
Les créateurs de MongoDB affirment régulièrement que cette base de données NoSQL open source orientée document, écrite en C et C++, est adaptée aux workloads Time Series même s’il ne s’agit pas d’une base de données Time Series. Effectivement, MongoDB propose des fonctionnalités de timestamps et de bucketing, permettant aux utilisateurs de stocker des données Time Series et d’effectuer des requêtes sur ces données.
Cependant, MongoDB est avant conçue pour le stockage général de données. Il est possible d’y stocker des documents de structures diverses. De fait, cette base de données n’est pas optimisée pour le stockage de données time series. Il est nécessaire de prendre le temps de la configurer pour stocker ce type de données.
TimeSeries Database vs Cassandra
Initialement développé par Facebook, Apache Cassandra est une base de données distribuée non relationnelle écrite en Java. Il s’agit d’une plateforme généraliste qui excelle pour le développement de bases de données distribuées scalable, mais il lui manque la plupart des fonctionnalités principales d’une Time Series Database.
Pour l’utiliser pour les données Time Series, il est donc nécessaire de créer des applications additionnelles pour compenser les fonctionnalités manquantes. Son utilisation pour les Time Series demande donc un grand nombre d’efforts facilement dispensables.
Quelles sont les fonctionnalités indispensables d’une Time Series Data Base ?
Une Time Series Database a pour but de prendre en charge les données et les requêtes horodatées. Elle doit donc proposer plusieurs fonctionnalités indispensables et caractéristiques.
Tout d’abord, les données présentant un horodatage similaire doivent être stockées sur le même stockage physique au sein d’un cluster de base de données. Ceci permettra d’effectuer des requêtes plus rapidement et donc de réaliser des analyses de données plus efficacement.
Les Time Series Database doivent aussi permettre d’effectuer facilement et rapidement des range queries. Pour ce faire, les données présentant un horodatage similaire doivent être stockées sur le même support physique. Dans le cas contraire, le grand volume de données à parcourir peut provoquer des erreurs.
La base de données doit également proposer des performances d’écriture élevées. La plupart des bases de données classiques ne permettent pas de répondre aux requêtes rapidement durant les pics de chargement. Il est préférable de choisir pour une base de données distribuée NoSQL masterless pour s’assurer une haute disponibilité et un haut niveau de performances de lecture et d’écriture. Ces bases de données sont conçues pour rester disponibles même en cas de forte demande.
Enfin, afin de permettre de stocker et de retrouver les données de façon efficiente, la TSDB doit permettre de compresser les données en fonction des besoins de l’entreprise. Une base de données NoSQL permettant de choisir facilement le bon niveau de Data Compaction permet de conserver de bonnes performances de lecture et d’écriture sur le long terme.
Quels sont les avantages d’une Time Series Database ?
Une Time Series Database présente plusieurs avantages. Elle permet tout d’abord une scalabilité massive et des performances élevées, indispensables pour prendre en charge les données générées par des millions d’appareils IoT ou un flux continu de points de données et effectuer des analyses en temps réel.
Ces bases de données permettent aussi de réduire les downtimes. Même en cas de panne matérielle ou de partition réseau, les données restent disponibles. En outre, les TSDB permettent de diminuer les coûts. Pour cause, la haute résilience aux pannes permet de réduire la quantité de ressources nécessaires pour gérer les pannes, et la scalabilité réduit les coûts d’exploitation et de matériel nécessaire à l’échelonnage.
Enfin, les Time Series Databases permettent de prendre de meilleures décisions, en permettant aux entreprises d’analyser les données en temps réel. Les organisations sont ainsi capables de prendre des mesures plus rapides et plus précises pour ajuster la consommation d’énergie, la maintenance des appareils, les changements d’infrastructures, ou autres décisions importantes pouvant impacter l’activité.
Quelles sont les Time Series Databases les plus populaires ?
Face au grand nombre d’options disponibles, il peut être difficile de choisir quelle Time Series Database utiliser. Une bonne façon de faire son choix est d’examiner quelles sont les bases de données Time Series les plus populaires. Pour vous y aider, le site web DB-Engines classe les bases de données Time Series en fonction de leur popularité.
Pour déterminer la popularité d’une base de données, le site se base sur plusieurs critères : volume de recherches sur le web, nombre de mentions sur les réseaux sociaux, offres d’emploi relatives à la base de données en question, ou encore la quantité de discussions techniques à son sujet.
En se basant sur cette méthodologie, voici le classement des bases de données Time Series les plus populaires :
- InfluxDB
- Kdb+
- RRDTool
- Graphite
- OpenTSDB
- Prometheus
- Druid
- KairosDB eXtremeDB
- Riak TS
- Hawkular Metrics
- Blueflood
- Axibase
- Warp 10
- TimescaleDB
Le site DB-Engines révèle également que les Time Series Database sont les bases de données qui rencontrent la plus forte croissance au cours des derniers mois. C’est la preuve que de plus en plus d’entreprises cherchent une solution pour gérer leurs données horodatées.
- Partager l'article :
Il est également primordial pour une TSDB de disposer de fonctionnalités d’analyse avancée, faute de quoi il faudra investir beaucoup de temps dans la création de ces fonctionnalités dans des applicatifs tiers.