Un billion de séries chronologiques architecture de stockage de données, Baidu est des structures en

conception d'architecture billion

En vertu du système de surveillance de la charge de travail normale TSDB de Baidu, un processus autonome de plus de 20 millions de points de données par seconde, le traitement de la grappe des dizaines de milliers de requêtes par seconde, des billions de points de données chaque navette jour dans le TSDB, en plus de bénéficier de cette performance puissante se Hbase aux avantages de performance et ciblée à la conception du niveau architectural également contribué.

A dû faire face billion est encore en croissance la taille des données, nous avons conçu une lecture / écriture séparée et sans état cadre « flexible »;

Afin d'assurer une faible latence sous charge élevée encore écrire et requête, nous stratifier les données ont été stockées dans Redis, HBase et Hadoop;

Afin de fournir un service ininterrompu à un service fiable, nous avons conçu une capacité d'auto-guérison classe minutes de l'architecture redondante hors site;

Afin de réduire les coûts de stockage, nous avons mis en place et amélioré Facebook timing algorithme de compression de données.

TSDB architecture globale montre la figure 1.

Figure 1: TSDB architecture globale

évolutive

Nous espérons que simplement l'ajout de nuds pour améliorer la capacité de traitement du système linéaire, le cas échéant entre les nuds, etc., affectent les uns les autres, donc pour l'ensemble du cluster, ajouter des nuds sans consommation supplémentaire de ressources, vous pouvez faire des capacités de traitement avec le nombre de noeuds augmente linéairement.

Données de synchronisation écriture lecture une fois de nombreuses petites fonctionnalités, nous lirons et des opérations d'écriture isolé conçu module de requêtes Query-moteur et un module d'écriture Saver sans état, de sorte que chaque instance de la requête moteur ou similaire complètement Saver, en amont et application de hachage cohérente ou interrogation d'équilibrage de charge.

Exemples schéma de déploiement est basé à l'intérieur du conteneur Baidu Matrix, une allocation raisonnable des ressources, étant donné que deux requêtes d'écriture et d'isoler, sans déranger l'autre, chacune des propriétés sont mises en jeu complet. système de virtualisation à base de matrice permet également TSDB un certain nombre de cas pour compléter l'expansion des minutes.

haute performance

Dans la stratégie « tables de partie horizontale » dans. La figure 2, en présence de données HBase est divisé dans le temps en une autre tranche, la pression ancienne d'accès tranche est relativement faible, ce qui réduit la charge sur les données de la section de traitement du système.

Figure 2: Niveau du temps sous la table

Cependant, la dernière d'une tranche maintiendra encore la chaleur élevée, relativement charge concentrée est toujours pas un petit groupe de HBase de pression. Ainsi, nous utilisons une mémoire cache de données à chaud (relativement plus de requêtes de données), à l'espace pour un temps de réponse plus faible pour les requêtes, alors que la requête de dérivation de pression HBase.

capacités fournies par l'équipe Mise en cache service exploitation et de maintenance Baidu DBA plate-forme PRMC. Toutefois, en raison de la quantité de données est trop grande, les données du cache d'une heure nécessite plus de ressources mémoire, nous avons fait entre les compromis performance et de coût, sélectionnez uniquement les données relatives aux indicateurs de base écrites dans le cache.

Dans un grand scénario de données historiques de quantités, la requête n'est pas haute fréquence, les exigences de l'actualité des données est également plus faible que leurs données cible est généralement données à froid, nous avons donc mis une partie des données copiées à partir du trafic Saver périodiquement versé dans un cluster Hadoop séparé, ces requêtes seront détournées de la pression HBase.

Sur le détournement d'enquête de Hadoop et Redis, HBase stocker encore la pleine quantité de données, mais seulement d'entreprendre des requêtes et des demandes conventionnelles tendances de la pénétration du cache.

faible coût

Afin de réduire les coûts de stockage des données, nous présentons le papier dans Facebook: un type de données de séries chronologiques décrit dans « Gorilla A rapide, évolutive, série en mémoire Temps Database » algorithme de compression (voir la figure 3.), Qui peut être jusqu'à 10 fois la compression rapport, nous appliquerons après sa transformation dans le cache.

Figure 3: un algorithme de compression dans le schéma Facebook Gorilla

Gorilla dans les algorithmes de compression plus facile à comprendre, l'idée de base est la compression delta, non seulement les valeurs de point pour la compression de données, et un horodatage appliqué la méthode de compression Delta-de-Delta. points de données compressées, ce qui peut prendre le nombre d'espace de stockage « bit », l'algorithme est stable pour la période, l'effet de petites variations de la valeur des données d'amplitude comprimé est particulièrement bonne.

Cependant, ces algorithmes de compression delta, les résultats de la compression après un point des données avant la compression des points de données dépendent des résultats, ce qui nécessite le maintien d'un état comprimé pour chaque série de temps dans le cluster, le papier ne se rendent pas distribués description détaillée, sera compressé dans le flux de données octet, stockées dans la manière de valeur-clé dans Redis.

En outre, les supports de l'algorithme de papier seulement les valeurs à virgule flottante, et l'algorithme de transformation prend également en charge des valeurs entières de type et de statistiques (par exemple, le chacun avec un max, min, sum, compter quatre statistiques StatisticsValue mentionné ci-dessus, ).

La compression des données du programme global en cours d'utilisation réelle nous a sauvé 80% de l'espace de stockage, la consommation CPU supplémentaire ne dépasse pas 10%.

Disponibilité haute

redondance à haute disponibilité est une magie, nous utilisons un moyen simple et efficace programme de soutien mutuel à distance, à savoir un ensemble de clusters et la redondance des données pour obtenir une haute disponibilité.

Lors de l'écriture, le client écrit des données à deux doubles cluster, l'accès à l'un des cluster (Figure 4) interrogation par nom de service de table de routage dynamique ou Baidu (Baidu Naming Service, BNE), sur cette base, nous avons une ventilation de mécanisme de guérison, peut atteindre la classe minute auto-guérison chambre individuelle.

Figure 4: Préparation de la mutuelle à distance

résumé

Ces dernières années, TSDB dans la ville à puce, les choses et les véhicules en réseau, etc. dans le domaine ont une très large gamme d'applications, il devient la norme des services de base pour surveiller la scène. A partir d'une demande pratique, nous pensons que la conception de l'architecture TSDB et la fonctionnalité de la mise au point ne se limite pas au texte.

Techniquement, le calendrier des systèmes de stockage de données à grande échelle, nous avons choisi HBase que le stockage sous-jacent, mais ne représente pas une scène dans HBase est le choix le plus approprié, dans l'application, TSDB sera calculé et distribué des données l'exploitation minière, la technologie de détection des anomalies même IA combinée avec la profondeur, fera face à un scénario plus complexe et difficile.

Nous envisageons la TSDB abstraire en divers composants fonctionnels, en fonction des caractéristiques des différents scénarios peuvent flexible avec différents composants fonctionnels pour répondre aux différents besoins. Par exemple, les données peuvent être exécutées dans l'ordre du temps basé sur un petit MySQL de stockage autonome, ou comme une couche tampon de stockage à base de RAM directement, ou par des capacités de recherche puissantes de polymérisation ElasticSearch d'analyse multidimensionnelle et comme faire.

À l'heure actuelle, nous avons réalisé quelques-unes des composantes du travail, et le soutien mis en uvre pour Cassandra sur la base des travaux sur le suivi enrichira le cadre et les composants, introduire de nouvelles fonctionnalités, et mettre en uvre progressivement un soutien pour ElasticSearch, MySQL et d'autres systèmes de stockage .

En raison des contraintes d'espace, l'article ne traite pas les détails à déployer sur TSDB même d'autres à grande échelle des systèmes distribués aux étudiants intéressés sont invités à discuter du message.

Bibi ose vraiment porter, vert clair et robe à rayures blanches avec une veste en denim, tendre et plein de sourire dans le miroir
Précédent
28 ans, événement star du Real Madrid de l'introduction d'un problème majeur: le prix de 130 millions ne veulent pas quitter le centre-ville de formation arrêt
Prochain
Baidu à grande échelle de stockage de données de séries chronologiques (deux) | sélection de la mémoire et la conception du modèle de données
Après Han Xue « synchronisant » à venir, grâce à un pantalon de pièce V-cou couture, jeu haute photo plein bits C support
HBase pratique dans Baidu scène de surveillance intelligente
Manchester United a subi un autre coup: cinq géants Premiership course au titre collectif devant eux finissent par atteindre rien sauf
Xie Na princesse vraiment gâté, et la robe à sequins vert foncé avec des talons hauts, les yeux d'aspiration de taille complète
scène absurde football européen! gardien Premier League écossaise volant adversaires kick, mais faire semblant d'être blessé, et ensuite ne reconnaissent pas
algorithmes d'apprentissage machine | algorithme détaillé Adaboost
Elle est « très bonne » femme Su Mingcheng, vêtu d'une veste de taille avec un pantalon « chaîne » au sens plein de la jeune fille
30.000 personnes ont assisté à la bataille folle Bundesliga! 36 minutes bille 6 H 41 + signes fiche de fabrication d'un suspens ultime
Et l'extraction de sous-graphe de densité détection communauté (sur)
La Liga détruire brutalement mission! Cinq géants raté collective les six dernières années de la guerre en Europe l'acte de naissance de la honte
Sun Li a parlé de la coopération, « Zhen Huan Biographie », jupes, chaussures à talons hauts à porter des vêtements avec 1,2 mètres de grandes jambes, puissant