Skip to content
/ skeena Public

Skeena: Efficient and Consistent Cross-Engine Transactions (SIGMOD 2022, ACM SIGMOD Research Highlights Award 2022)

Notifications You must be signed in to change notification settings

sfu-dis/skeena

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Skeena: Efficient and Consistent Cross-Engine Transactions

Skeena enables consistent ACID cross-engine transactions over two database engines (e.g., storage-centric InnoDB and memory-optimized ERMIA, both in MySQL) without intrusive changes to individual engines.

This repository implements Skeena. See details in our SIGMOD 2022 paper below. If you use our work, please cite:

Skeena: Efficient and Consistent Cross-Engine Transactions.
Jianqiu Zhang, Kaisong Huang, Tianzheng Wang and King Lv.
ACM SIGMOD/PODS International Conference on Management of Data 2022

The implementation integrates the ERMIA (SIGMOD 2016) main-memory database engine into MySQL alongside with its default InnoDB engine to enable cross-engine transactions.

Directory structure and notable source files:

  • mysql/ - modified MySQL to support ERMIA and Skeena
  • mysql/storage/innobase/trx/trx0trx.cc - modified InnoDB transaction code for snapshot selection
  • mysql/sql/gtt.{h,cc} - core Skeena implementation

Build ERMIA:

  • Follow sample instructions in ermia/README.md

Build MySQL:

  • Follow sample instructions under mysql/ermia-contrib/BUILD

Environment:

  • MySQL settings: follow the mysql/ermia-contrib/my.cnf file and put it in your ~/.my.cnf
  • Useful variables in my.cnf:
    • ermia-ermia-log-dir: Path to the ERMIA engine log dir
    • ermia-gtt-recycle-capacity: The size of each GTT(CSR) Tree
    • ermia-gtt-recycle-threshold: The threshold to trigger the recycle
  • To start MySQL Server: ./build/bin/mysqld

Experiments:

  • All scripts are stored under mysql/ermia-contrib
    • Microbenchmark: see the mysql/ermia-contrib/skeena-benchrunner folder
    • TPC-C: see ermia-contrib/tpcc/README and check the scripts there

About

Skeena: Efficient and Consistent Cross-Engine Transactions (SIGMOD 2022, ACM SIGMOD Research Highlights Award 2022)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy