Flink OLAP aide ByteHTAP à faire ses débuts dans VLDB, la meilleure conférence sur les bases de données

Du 5 au 9 septembre 2022, VLDB 2022 se tiendra à Sydney, Australie. Le résultat de la recherche de l'infrastructure de ByteDance " ByteHTAP : ByteDance's HTAP System with High Data Freshness and Strong Data Consistency" a été accepté par VLDB 2022 et invité à donner un rapport sur site.
Le nom complet de la conférence VLDB est Conférence internationale sur les très grandes bases de données. C'est l' une des trois principales conférences (SIGMOD, VLDB, ICDE ) avec une longue histoire dans le domaine des bases de données . C'est également un lieu de diffusion en temps réel pour réalisations exceptionnelles en matière de recherche et de développement dans le domaine des bases de données, reflétant la recherche actuelle sur les bases de données. La direction de pointe de l'industrie, les dernières technologies de l'industrie et le niveau de recherche et de développement de divers pays. Depuis sa création en 1975, VLDB attire les meilleures institutions de recherche mondiales pour soumettre des manuscrits chaque année et a des exigences extrêmement élevées en matière d'innovation, d'intégrité et de conception expérimentale du système.

L'apport central de l'article

" ByteHTAP : le système HTAP de ByteDance avec une grande fraîcheur des données et une forte cohérence des données " présente le système HTAP avec une grande fraîcheur des données et une forte cohérence des données construit par ByteDance pour les scénarios commerciaux.
 
  • ByteHTAP adopte un moteur indépendant et une architecture de stockage partagé, et sa conception de système modulaire utilise pleinement le système OLTP et le système OLAP existants de ByteDance.
  • ByteHTAP peut fournir une fraîcheur élevée des données avec une latence inférieure à 1 seconde, offrant de nombreuses nouvelles opportunités commerciales aux clients, et les clients peuvent également configurer différents seuils de fraîcheur des données en fonction des besoins de l'entreprise.
  • ByteHTAP fournit une forte cohérence des données grâce à l'horodatage global de ses systèmes OLTP et OLAP, libérant ainsi les développeurs de la gestion de problèmes complexes de cohérence des données dans le système.
  • ByteHTAP utilise Flink comme moteur de calcul OLAP, introduisant d'importantes optimisations de performances dans le calcul et le stockage, telles que la refactorisation du processus de planification des tâches Flink pour améliorer le QPS des requêtes, le transfert du calcul vers la couche de stockage et l'utilisation de bitmaps de suppression pour gérer efficacement les suppressions. Attendez.
  • L'article se termine en partageant les leçons et les meilleures pratiques de ByteDance dans le développement et l'exécution de ByteHTAP en production, y compris les capacités de requête de base de données cross-OLAP, l'importation efficace de données et les améliorations du développement Flink.

Moteur de calcul central Flink OLAP

En tant que moteur informatique OLAP du système ByteHTAP, Flink a été utilisé dans plusieurs entreprises au sein de l'entreprise. L'équipe technique de ByteDance Flink a effectué de nombreuses optimisations approfondies pour le moteur Flink afin de prendre en charge l'informatique OLAP, améliorant ainsi efficacement les performances informatiques de Flink OLAP. À l'heure actuelle, dans un cluster à 1 600 cœurs, le QPS de 128 ordonnancements de requêtes simples simultanés atteint plus de 1 000 avec une petite quantité de données, et le QPS de l'ordonnancement de requêtes complexes atteint plus de 100 ; la latence de 1 000 requêtes WordCount simultanées est d'environ 100 ms. Ensuite, nous nous concentrerons sur https://issues.apache.org/jira/browse/FLINK-25318 et apporterons progressivement des optimisations internes à la communauté.
  1. Optimiseur de requête. Prend en charge le refoulement des opérateurs tels que TopN et Aggregate ; prend en charge la construction parallèle de Plan Cache et DAG ; prend en charge le catalogue mis en cache. Les performances du TPC-DS SF100 sont améliorées de plus de 20 %.
  1. Optimisation de l'exécution des requêtes. Prend en charge le multiplexage ClassLoader et le cache Codegen inter-tâches, réduit l'utilisation du processeur et l'occupation de l'espace méta dans la phase d'exécution ; implémente le filtre d'exécution pour optimiser les performances de calcul de jointure ; lecture de données asynchrones et optimisation de la concurrence, etc.
  1. Gestion des ressources et planification des travaux. Simplifiez le processus d'application et de publication des ressources de requête, optimisez l'interaction entre les nœuds JobMaster et ResourceManager/TaskManager, réalisez l'allocation des ressources du travail en fonction de la granularité du TaskManager et améliorez les performances de l'application des ressources ; prenez en charge le déploiement par lots des tâches informatiques, optimisez la structure de déploiement et la sérialisation/désérialisation, et améliorer les performances de déploiement des tâches informatiques.
  1. Gestion des résultats de requête. La requête est soumise via le protocole Websocket et le résultat du calcul est optimisé du mode Pull au mode Push, évitant ainsi l'attente fastidieuse de l'interrogation Pull ; grâce à la réutilisation de la connexion Dispatcher, cela réduit la connexion et l'interaction inutiles créées par le JobMaster et le TaskManager lors de l'initialisation des tâches de requête et de calcul, réduisent la latence des requêtes.
  1. Optimisation de la gestion de la mémoire. Optimiser l'application de mémoire et la gestion des versions de MemoryManager et NetworkBufferPool, réduire le nombre d'interactions et de verrous de mémoire lors du démarrage et de l'arrêt des tâches de calcul ; réduire les métriques inutiles, augmenter le GC parallèle et d'autres optimisations pour réduire le FGC/YGC des nœuds JobManager/TaskManager, et améliorer l'exécution des requêtes Performances et stabilité du cluster de production.
  1. Optimisation de la gestion du réseau. Réaliser le multiplexage des connexions réseau multi-tâches de TaskManager, optimiser le processus d'interaction de la demande de partition des tâches informatiques en amont et en aval, réduire la perte d'initialisation fréquente de la couche réseau et le nombre de messages de tâches informatiques en amont et en aval, et améliorer l'initialisation performances des tâches informatiques.
  1. Gestion de l'isolation des ressources. Il prend en charge la gestion des groupes de ressources selon la dimension TaskManager et réalise l'isolation physique des travaux de requête entre plusieurs locataires ; réalise une planification et une exécution fines des tâches informatiques dans TaskManager et prend en charge la stratégie de priorité des petites requêtes dans des conditions de charge élevée.

Meilleures pratiques de ByteDance

Au sein de ByteDance, ByteHTAP prend actuellement en charge la croissance des utilisateurs, le commerce électronique, Xingfuli, Feishu et d'autres entreprises, avec un total de 11 clusters avec plus de 6000 ressources Core AP et plus de 50w requêtes par jour.
Flink OLAP, qui est le moteur informatique de base de ByteHTAP, lance actuellement progressivement le produit commercial de Volcano Engine - version Flink de l'informatique en streaming . En tant que moteur informatique unifié au niveau de l'entreprise qui intègre et optimise les solutions de Big Data natives dans le cloud internes de ByteDance, la version Flink de l'informatique en continu possède des fonctionnalités telles que le déploiement flexible, prêt à l'emploi, l'intégration par lots de flux et OLAP multi -calcul modal.
 
Cliquez pour télécharger l' article
{{o.name}}
{{m.name}}

Je suppose que tu aimes

Origine my.oschina.net/u/5941630/blog/5577578
conseillé
Classement