Hydratation des données de rivière - Partie 1
Riverbed, partie de la pile technologique d'Airbnb, optimise la consommation de données à partir de magasins de système d'enregistrement pour mettre à jour des magasins optimisés pour la lecture. Il utilise une architecture Lambda avec des composants en flux et par lots. L'aspect en flux se concentre sur la construction de vues matérialisées à partir d'événements de capture de changement de données (CDC). Le pipeline de notification consomme des événements de notification et interroge des sources de données dépendantes pour construire des vues matérialisées, qui sont ensuite écrites dans des magasins de puits. L'opération de jointure utilise une structure en forme de DAG pour joindre efficacement les sources de données, en exploitant JoinConditionsDag pour les métadonnées et JoinResultsDag pour stocker les résultats. L'opération de couture transforme les résultats joints en un modèle utilisable, le StitchModel. Riverbed prend en charge plusieurs puits, y compris Apache Hive et Kafka, pour la flexibilité. Le système en flux met à jour efficacement les vues matérialisées à partir d'événements CDC, permettant la scalabilité, la récupération de données efficace et des capacités de filtrage et de recherche améliorées. Le pipeline de source, discuté dans le prochain article de blog, joue un rôle crucial dans la concurrence et la versioning. En exploitant des structures de données en forme de DAG, Riverbed optimise les jointures de données en flux, réduisant l'utilisation de la mémoire et améliorant l'efficacité.