Tout ce qu’un ingénieur logiciel doit savoir sur les logs | Le contexte de la naissance d’Apache Kafka
(link.medium.com)Article qui traduit et interprète le texte écrit en 2013 par Jay Kreps sur le développement d’Apache Kafka chez LinkedIn
- Log : la forme de stockage abstraite la plus simple, accessible uniquement en append-only, et une structure de données où l’ensemble des événements est ordonné chronologiquement
- Dans les systèmes de bases de données traditionnels, le log joue un rôle central dans l’implémentation de la réplication
- Les systèmes distribués fondés sur des machines à réplication d’état sont, en réalité, eux aussi des systèmes qui répliquent des logs
- Les logs et les tables sont équivalents.
- En prenant l’exemple d’une banque, le log correspond à l’historique des dépôts et retraits, tandis que la table représente le solde du compte. On peut construire une table à partir d’un log et, inversement, extraire un log à partir d’une table
- De nombreuses entreprises se sont montrées très actives dans l’adoption du big data, mais beaucoup moins dans la mise en place de pipelines de données fiables
- La manière de relier les données de bout en bout est devenue de plus en plus difficile à cause des pannes, de la maintenance, de la fragmentation des données et de l’évolution des données événementielles.
- C’est de cette idée — abstraire la structure de données qu’est le log comme couche réseau principale — qu’est née Apache Kafka
- Jay Kreps explique sur Quora qu’à l’époque, les message queues étaient un domaine très marginal dans le monde de l’infrastructure ; il pensait qu’il fallait abstraire les données temps réel sous forme de flux d’événements, et qu’un commit log persistant était la structure de données appropriée
Aucun commentaire pour le moment.