Improving Content Addressable Storage For Databases Conference on Reliable Awesome Projects (no acronyms please) Advanced Operating Systems (CS736) Brandon.

Slides:



Advertisements
Similar presentations
Introduction to Database Systems1 Records and Files Storage Technology: Topic 3.
Advertisements

ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 8 – File Structures.
Chapter 11 Indexing and Hashing (2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Davide Frey, Anne-Marie Kermarrec, Konstantinos Kloudas INRIA Rennes, France Plug.
File Systems.
2P13 Week 11. A+ Guide to Managing and Maintaining your PC, 6e2 RAID Controllers Redundant Array of Independent (or Inexpensive) Disks Level 0 -- Striped.
1 Live Deduplication Storage of Virtual Machine Images in an Open-Source Cloud Chun-Ho Ng, Mingcao Ma, Tsz-Yeung Wong, Patrick P. C. Lee, John C. S. Lui.
EndRE: An End-System Redundancy Elimination Service.
CS 153 Design of Operating Systems Spring 2015
Advance Database System
1 Overview of Storage and Indexing Chapter 8 (part 1)
Database Implementation Issues CPSC 315 – Programming Studio Spring 2008 Project 1, Lecture 5 Slides adapted from those used by Jennifer Welch.
File Systems Implementation
Computer Organization Cs 147 Prof. Lee Azita Keshmiri.
Yongtao Zhou, Yuhui Deng, Junjie Xie
Multi-level Selective Deduplication for VM Snapshots in Cloud Storage Wei Zhang*, Hong Tang †, Hao Jiang †, Tao Yang*, Xiaogang Li †, Yue Zeng † * University.
Indexing Debapriyo Majumdar Information Retrieval – Spring 2015 Indian Statistical Institute Kolkata.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 File Organizations and Indexing Chapter 8.
UC Santa Cruz Providing High Reliability in a Minimum Redundancy Archival Storage System Deepavali Bhagwat Kristal Pollack Darrell D. E. Long Ethan L.
An Evaluation of Using Deduplication in Swappers Weiyan Wang, Chen Zeng.
CHP - 9 File Structures. INTRODUCTION In some of the previous chapters, we have discussed representations of and operations on data structures. These.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 5 Part 2: File Organization and Performance Modern Database Management 10 th Edition.
Page Overlays An Enhanced Virtual Memory Framework to Enable Fine-grained Memory Management Vivek Seshadri Gennady Pekhimenko, Olatunji Ruwase, Onur Mutlu,
1 CPS216: Advanced Database Systems Notes 04: Operators for Data Access Shivnath Babu.
Search - on the Web and Locally Related directly to Web Search Engines: Part 1 and Part 2. IEEE Computer. June & August 2006.
File System Implementation Chapter 12. File system Organization Application programs Application programs Logical file system Logical file system manages.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming  To allocate scarce memory resources.
Chapter 8 – Main Memory (Pgs ). Overview  Everything to do with memory is complicated by the fact that more than 1 program can be in memory.
CS 405G: Introduction to Database Systems 21 Storage Chen Qian University of Kentucky.
1 Biometric Databases. 2 Overview Problems associated with Biometric databases Some practical solutions Some existing DBMS.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
A Low-bandwidth Network File System Athicha Muthitacharoen et al. Presented by Matt Miller September 12, 2002.
Storage Structures. Memory Hierarchies Primary Storage –Registers –Cache memory –RAM Secondary Storage –Magnetic disks –Magnetic tape –CDROM (read-only.
RevDedup: A Reverse Deduplication Storage System Optimized for Reads to Latest Backups Chun-Ho Ng, Patrick P. C. Lee The Chinese University of Hong Kong.
Database Management 7. course. Reminder Disk and RAM RAID Levels Disk space management Buffering Heap files Page formats Record formats.
1/14/2005Yan Huang - CSCI5330 Database Implementation – Storage and File Structure Storage and File Structure II Some of the slides are from slides of.
Operating Systems Unit 7: – Virtual Memory organization Operating Systems.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
Chapter 5 Index and Clustering
File Organizations and Indexing
ICOM 5016 – Introduction to Database Systems Lecture 13- File Structures Dr. Bienvenido Vélez Electrical and Computer Engineering Department Slides by.
Memory Management Continued Questions answered in this lecture: What is paging? How can segmentation and paging be combined? How can one speed up address.
CS4432: Database Systems II
Database Management Systems, R. Ramakrishnan and J. Gehrke1 File Organizations and Indexing Chapter 8 Jianping Fan Dept of Computer Science UNC-Charlotte.
CS203 – Advanced Computer Architecture Virtual Memory.
Using Deduplicating Storage for Efficient Disk Image Deployment Xing Lin, Mike Hibler, Eric Eide, Robert Ricci University of Utah.
Copyright © 2010 The HDF Group. All Rights Reserved1 Data Storage and I/O in HDF5.
Database Management 7. course. Reminder Disk and RAM RAID Levels Disk space management Buffering Heap files Page formats Record formats.
CS161 – Design and Architecture of Computer
Database System Architecture and Implementation
CPS216: Data-intensive Computing Systems
CHP - 9 File Structures.
CS161 – Design and Architecture of Computer
CS522 Advanced database Systems
Paging COMP 755.
Chapter 8: Main Memory.
DB storage architectures: Rows, Columns, LSM trees
Memory Management 11/17/2018 A. Berrached:CS4315:UHD.
Database Implementation Issues
(Architectural Support for) Semantically-Smart Disk Systems
Linearly Compressed Pages: A Main Memory Compression Framework with Low Complexity and Low Latency Gennady Pekhimenko, Vivek Seshadri , Yoongu Kim, Hongyi.
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
ICOM 5016 – Introduction to Database Systems
Linearly Compressed Pages: A Main Memory Compression Framework with Low Complexity and Low Latency Gennady Pekhimenko, Vivek Seshadri , Yoongu Kim, Hongyi.
CS703 - Advanced Operating Systems
Optimal Partitioning of Data Chunks in Deduplication Systems
DB storage architectures: Rows and Columns
Database Implementation Issues
Presentation transcript:

Improving Content Addressable Storage For Databases Conference on Reliable Awesome Projects (no acronyms please) Advanced Operating Systems (CS736) Brandon Smith Vandhana Selvaprakash

Background Content Addressable Storage (CAS) –Store information by content –Content addressable vs. location addressable Idea –Divide files into ‘chunks’ –Index by chunk fingerprints Allows for… –Exploiting commonality for data reduction –Enriched metadata for better searches Near-line storage –WORM –Data integrity

Motivation CAS is great, but not for databases –Why? Metadata is tightly interspersed with data… Cannot just ignore database storage –Makes up significant fraction of storage system clients Goal: improve CAS for databases

Approach Evaluate state-of-the-art CAS methods Study different database systems for storage characteristics Suggest techniques that improve CAS for databases

What’s the State-of-the-Art? Avoiding the Disk Bottleneck in the Data Domain Deduplication File System, B. Zhu et al. FAST ’08 Content-aware variable-length chunking Chunk Compression Acceleration Methods –Summary Vector –Stream-Informed Segment Layout –Locality Preserved Caching

Analysis of State-of-the-Art Implemented: –Variable-length chunking –Efficient hash value storage and lookup –Summary Vector Questions: –How well does average chunk size match desired? –Can we use this for other problems? –Performance on different types of data? Hash value Bloom filter

How well does average chunk size match desired? Desired (bytes) Actual Average … … … MB Mix of Files 330 MB Empty Oracle Tablespace 1 GB Music Data 5 MB Empty PostgreSQL Tablespace

Can we use this for other problems? Yes! Efficiently discover duplicate files (e.g., music files) C:\Workspace\Alicia\Oasis_-_What's_The_Story_ C:\Workspace\Alicia\Incubus_-_Morning_View_-_ C:\Workspace\Alicia\Hard_Candy_-_Counting_Cro C:\Workspace\Songs\Audioslave_-_Show_Me_How_T C:\Workspace\Alicia\The_donavon_frankenreiter C:\Workspace\Songs\Cornell-Rage_Demos_-_Track C:\Workspace\Alicia\Eric_clapton_-_The_cream_ C:\Workspace\Songs\Blink_182_-_Reebok_Commerc C:\Workspace\Songs\311_Wake_Your_Mind_Up-from C:\Workspace\Songs\AUDIOSLAVE-getaway_car-.mp C:\Workspace\Songs\Glassjaw_-_Lovebites_and_R C:\Workspace\Songs\aladdin_-_i_can_show_you_t C:\Workspace\Songs\Glassjaw_-_Trailer_Park_Je...

Performance on different types of data? Audio data –Very well Common mix of files (PDF, text, PPT, image data, etc.) –Reasonably well Empty database tablespaces –Terrible

Observations Even Udi Manber makes mistakes! Debugging code especially difficult when dealing with raw data and complex hash functions Variable size chunking does not work well for databases should be

What’s different about Databases? Rigid format of DB structures –Database Block => Slotted Page –Indifferent performance for variable sized chunking Metadata Galore –‘Understand’ Data being CASed –Finer grained Commonality Factoring –Similar Blocks common, Identical Blocks rare.

Naïve CAS for DB Finer ‘Chunk’ Granularity Computational Overhead overwhelms Commonality Factoring Doesn’t work

Naïve CAS for DB Finer ‘Chunk’ Granularity Computational Overhead overwhelms Commonality Factoring Doesn’t work

Overlaying Template Chunks Identifying Special Cases –The ‘Almost Zero’ Block –Template Chunks –Delta Chunks Identifying Template Chunks –Static Vs. Dynamic –Memory Vs. Computation

Overlaying - Results Good, but not good enough. Too much work With Overlays Naïve Chunking

Need For DB Knowledge The Oracle Database Block Variable Block Sizes (4/8 KB)

Need For DB Knowledge The Postgres Data Block 8 KB | PageHeaderData | linp1 linp2 linp3.. | |... linpN | | | ^ pd_lower | | | | v pd_upper | | | tupleN... | |... tuple3 tuple2 tuple1 | "special space“ | ^ pd_special

Semantics-Aware CAS for DB Fixed Chunk Size –Chunk Size = Data Block Size –Identical Blocks Exploiting Similarity - Data Aware Chunk Compression –Uses metadata within block, DB system level tables Free space Redundant Tuples Redundant Items Memory Saved Vs. Data Coherence –Intra block Vs Inter Block Column-based Storage for improved savings

Semantics-Aware CAS - Evaluation Oracle –Chunk Size = 8 KB –Leveraging Free Space (PCTFREE) Saves 73.6% of space used (sparse tablespace) Saves 27.1% of space used (almost full tablespace) Observations –Better savings than naïve methods –Solution tightly coupled to database –Changes in DB configuration?

Future Work Implement –Redundant Tuples (in progress) Within block Reorganize tuples across blocks? –Redundant Items –Explore Column Stores more CAS friendly

Summary and Questions Analysis of state-of-the-art Variable sized chunking is usually good Semantic aware techniques are better for databases High computation cost, but OK for near-line storage

Old: Fixed-size chunks (Venti) New: data-aware variable-sized chunking (LBFS, Data Domain Inc.) Content Addressable Storage - Old & …