Extending Polaris to Support Transactions
Abstract
In Polaris, we introduced a cloud-native distributed query processor to perform analytics at scale. In this paper, we extend the underlying Polaris distributed computation framework, which can be thought of as a read-only transaction engine, to execute general transactions (including updates, deletes, inserts and bulk loads, in addition to queries) for Tier 1 warehousing workloads in a highly performant and predictable manner. We take advantage of the immutability of data files in log-structured data stores and build on SQL Server transaction management to deliver full transactional support with Snapshot Isolation semantics, including multi-table and multi-statement transactions. With the enhancements described in this paper, Polaris supports both query processing and transactions for T-SQL in Microsoft Fabric.
Keywords
Cite
@article{arxiv.2401.11162,
title = {Extending Polaris to Support Transactions},
author = {Josep Aguilar-Saborit and Raghu Ramakrishnan and Kevin Bocksrocker and Alan Halverson and Konstantin Kosinsky and Ryan O'Connor and Nadejda Poliakova and Moe Shafiei and Taewoo Kim and Phil Kon-Kim and Haris Mahmud-Ansari and Blazej Matuszyk and Matt Miles and Sumin Mohanan and Cristian Petculescu and Ishan Rahesh-Madan and Emma Rose-Wirshing and Elias Yousefi},
journal= {arXiv preprint arXiv:2401.11162},
year = {2024}
}
Comments
12 pages, 12 Figures