
Transactional Flash Translation Layer for SQLite Databases and Performance Analysis
Discover the X-FTL Transactional Flash Translation Layer for SQLite databases, its features, performance comparisons, and atomicity management strategies. Dive into the world of SQLite transactions, Android integration with ACID properties, and efficient buffer management techniques.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
X-FTL: Transactional Flash Translation Layer for SQLite Databases WOON-HAK KAN, GY SANG-WON LEE, GI-HWAN OH, CHANGWOO MIN COLLEGE OF INFO. AND COMM. ENGR., SUNGKYUNKWAN UNIVERSITY BONGKI MOON SCHOOL OF COMPUTER SCIENCE AND ENGINEERING,SEOUL NATIONAL UNIVERSITY
SQLite Transactional Atomicity Buffer management X-FTL SQLite X-FTL RBJ vs WAL vs Copy on write X-FTL L2P & X-L2P SATA commands Commit/Abort Workloads Run-time performance Recovery performance
SQLite . Android : Facebook, Google , web browsers iOS. ACID (Atomicity Consistency Isolation Durability) . . Lightweight transactions .
SQLite Transactional Atomicity Buffer management X-FTL SQLite X-FTL RBJ vs WAL vs Copy on write X-FTL L2P & X-L2P SATA commands Commit/Abort Workloads Run-time performance Recovery performance
SQLite transactional atomicity with journaling/logging Write ahead log( WAL) Rollback journal (RBJ) log file journal .
Transactional atomicity & force- steal policy (all or nothing) SQLite force/steal policy page buffer management. Force: commit. Steal: Uncommitted . : / .
SQLite Transactional Atomicity Buffer management X-FTL SQLite X-FTL RBJ vs WAL vs Copy on write X-FTL L2P & X-L2P SATA commands Commit/Abort Workloads Run-time performance Recovery performance
Transactional FTL for SQLite eMMC flash card . OpenSSD Flash Translation Layer . Copy on write shadow paging SSD controller. L2P (logical to physical table) , X-L2P (transactional logical to physical table) SQLite ext4 file system. Android .
SQLite vs FTL RBJ (Default) WAL Copy on write . shadow paging.
SQLite Transactional Atomicity Buffer management X-FTL SQLite X-FTL RBJ vs WAL vs Copy on write X-FTL L2P & X-L2P SATA commands Commit/Abort Workloads Run-time performance Recovery performance
X-FTL: Transactional Flash Translation Layer: L2P & X-L2P tables
X-FTL & SATA interface SATA (Serial AT Attachment) controller flash transactions . commit (tid) , abort (tid). Write (page p, transaction tid) Read (page p, transaction tid) Commit (transaction tid) fsync() (file system) Abort (transaction tid) - ioctl() (file system)
X-FTL: Commit / Abort (transaction_id,logical_page, physical_page,new_physical_ page,status) Copy-on-write!
SQLite Transactional Atomicity Buffer management X-FTL SQLite X-FTL RBJ vs WAL vs Copy on write X-FTL L2P & X-L2P SATA commands Commit/Abort Workloads Run-time performance Recovery performance
OpenSSD board ext4 file system ( Android) SQLite firmware, SQLite, file system X-L2P SATA interface: read,write,abort,commit SQLite OFF MODE ( logging) OFF MODE ( journaling)
SQLite Transactional Atomicity Buffer management X-FTL SQLite X-FTL RBJ vs WAL vs Copy on write X-FTL L2P & X-L2P SATA commands Commit/Abort Workloads Run-time performance Recovery performance
Workloads: Synthetic: TPC-H benchmark 60,000 , 220 bytes updates 1-20 Android smartphone: Trace SQLite RL bench (https://play.google.com/store/apps/details?id=com.redlicense.ben chmark.sqlite&hl=en), Facebook, Gmail, web browser Database: TPC-C benchmarks http://www.tpc.org/information/benchmarks.asp Original, read intensive File System Workload Flexible I/O(FIO), random write, adjust fsync frequency Run-time performance & Recovery time.
Recovery performance SQLite. (all or nothing).
transactions storage layer. copy on write flash translation layer controller flash storage( ). ( ). SQLite. SQLite (ext4) .
http://dcslab.hanyang.ac.kr/nvramos/nvramos13/presentation/Bongki Moon.pdf https://en.wikipedia.org/wiki/Serial_ATA http://www.tpc.org/information/benchmarks.asp https://play.google.com/store/apps/details?id=com.redlicense.bench mark.sqlite&hl=en https://en.wikipedia.org/wiki/Flash_file_system http://codecapsule.com/2014/02/12/coding-for-ssds-part-3-pages- blocks-and-the-flash-translation-layer/ https://www.kernel.org/doc/Documentation/filesystems/ext4.txt http://www.openssd-project.org/wiki/The_OpenSSD_Project