Key points are not available for this paper at this time.
Le contrôle de concurrence multi-version (MVCC) est actuellement le schéma de gestion des transactions le plus populaire dans les systèmes de gestion de bases de données modernes (SGBD). Bien que le MVCC ait été découvert à la fin des années 1970, il est utilisé dans presque tous les SGBD relationnels majeurs publiés au cours de la dernière décennie. Maintenir plusieurs versions de données augmente potentiellement le parallélisme sans sacrifier la sérialisation lors du traitement des transactions. Cependant, faire évoluer le MVCC dans un environnement multi-cœur et en mémoire est non trivial : lorsque de nombreux threads s'exécutent en parallèle, le coût de synchronisation peut l'emporter sur les avantages de la multi-version. Pour comprendre comment le MVCC fonctionne lors du traitement des transactions dans des configurations matérielles modernes, nous menons une étude approfondie des quatre décisions clés de conception du schéma : le protocole de contrôle de concurrence, le stockage des versions, la collecte des ordures et la gestion des index. Nous avons implémenté des variantes à la pointe de la technologie de tous ces éléments dans un SGBD en mémoire et les avons évaluées en utilisant des charges de travail OLTP. Notre analyse identifie les goulets d'étranglement fondamentaux de chaque choix de conception.
Wu et al. (Mercredi,) ont étudié cette question.