8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · •...
Transcript of 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · •...
![Page 1: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/1.jpg)
Database storage managementwith object-based storage devices
Sami IrenSeagate Research
Steve SchlosserIntel Research Pittsburgh
![Page 2: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/2.jpg)
Outline
• New hardware: Object-based Storage Devices (OSD)
• Vision: Database-aware storage systems
• Example: Transparent device-specific data placement
• Moving forward: Issues with the current OSD specification
![Page 3: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/3.jpg)
New hardware: Object-based Storage Devices (OSD)
Highly integrated, single disk
I.e. prototype Seagate OSD
“Smart” disk for objects
I.e. Panasas storage blade
Disk array/server subsystem
I.e. LLNL units with Lustre
OSD Interface
Storage Device
Block I/O Manager
File SystemStorage Component
File SystemUser Component
File SystemStorage Component
Applications
System Call Interface
Storage Device
Sector/LBA Interface
Block I/O Manager
CPU
Applications
File SystemUser Component
System Call Interface
CPU
• Same hardware, new interface …
• Remember Network Attached Secure Disks?
![Page 4: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/4.jpg)
Root Object
OSD
U4
U3U2U1
C1C2
P4
U4
U3U2U1
C1C2
P3
U4
U3U2U1
C1C2
P2
Partition Objects
P1
OSD: The Objects
User Objects
U4
U3U2
Collection Objects
C1C2
Object ID
User Data
Attributes Metadata
U1
![Page 5: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/5.jpg)
OSD: The Command Set
• Basic Protocol
• READ
• WRITE
• CREATE
• REMOVE
• GET ATTR
• SET ATTR
• Specialized
• APPEND – write w/o offset
• CREATE & WRITE – save msg
• FLUSH OBJ – force to media
• LIST – recovery of objects
• Security
• Authorization – on each request
• Integrity – for args & data
• SET KEY
• SET MASTER KEY
• Groups
• CREATE COLLECTION
• REMOVE COLLECTION
• LIST COLLECTION
• Management
• FORMAT OSD
• CREATE PARTITION
• REMOVE PARTITION
Very Basic
Space Mgmt
Attributes• opaque • internal• shared
![Page 6: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/6.jpg)
What disks can do
OSD: Shared attributes
• Mechanism to push application information into storage
What Applications want
Traditional OSD
Shared Attributes
![Page 7: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/7.jpg)
OSD: Benefits
• Improved performance
– Hints, QoS, Differentiated Services
– Data can be differentiated at the device
• Improved device and data sharing
– Platform-dependent metadata moved to device
– Systems need only agree on naming
• Improved scalability & security
– Devices directly handle client requests
– Object security w/ application-level granularity
– Finer granularity than LUN-based security
• Improved storage management
– Self-managed, policy-driven storage
– Storage devices become more autonomous
Volumes
Blocks
Objects
![Page 8: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/8.jpg)
Outline
• New hardware: Object-based Storage Devices (OSD)
• Vision: Database-aware storage systems
• Example: Transparent device-specific data placement
• Moving forward: Issues with the current OSD specification
![Page 9: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/9.jpg)
Vision: Storage that cooperates with databases
• DBMS storage managers do a lot to optimize storage access, with insufficient information
• Storage subsystem front-ends do a lot to optimize under the covers, without enough information about the application
• Wouldn’t it be better if we could just get along?
• OSD can provide this mechanism
• We have a unique opportunity to make DB software and storage more cooperative
– If you remember nothing else from this talk…
![Page 10: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/10.jpg)
Solution: OSD for databases
Buffer poolmanager
Storagemanager
Storage device
Block interface
Block I/O manager
Object (OSD) interface
Storage device
Block I/O manager
Storagemanager
DBMS
Query processor
Buffer poolmanager
DBMS
Query processor
![Page 11: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/11.jpg)
Database-aware storage systems
1. Create object for relation
2. Attach schema attribute
3. Populate relation
• Goal 1: OSD uses its parameters to optimize layout under the covers
• Goal 2: Access method should be independent of storage optimizations
Schemaattribute
DBMS
OSD
![Page 12: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/12.jpg)
Database-aware storage systems
• Goal 2: Access method should be independent of storage optimizations
• DBMS should just specify the data it wants, and the destination address
• DBMS shouldn’t worry about
– Data placement
– Addressing blocks/bytes
Schemaattribute
DBMS
OSD
Memorybuffer
![Page 13: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/13.jpg)
Outline
• New hardware: Object-based Storage Devices (OSD)
• Vision: Database-aware storage systems
• Example: Transparent device-specific data placement
• Moving forward: Issues with the current OSD specification
![Page 14: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/14.jpg)
The Fates project at CMU
• Collaboration between Database Group and Parallel Data Lab
– Ongoing involvement of researchers at Intel Research and EMC
– Lachesis: Improved communication between storage subsystem and DB storage manager (VLDB 2003)
– Clotho: Retool database software to fetch query-specific data (VLDB 2004)
– Atropos: Leverage detailed disk information for improved 2D data placement (FAST 2004)
• Key idea: Storage informs database of its characteristics
– Combination of schema and disk parameters yields 2D placement
![Page 15: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/15.jpg)
2D data structure access
• On-disk storage requires serialization
• Access along one dimension is efficient
– i.e., sequential
• Access along the other is inefficient
– i.e., random I/O
– Or, read entire relation and discard unwanted attributes
Rec
ords
Attributes
Disk
![Page 16: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/16.jpg)
Intelligent data placement in FatesR
ecor
ds
Attributes
Disk
• One column per disk track
• Column-major access is efficient
• Row-major access is inefficient
– One block per rotation
• Semi-sequential layout enables efficient row-major access
![Page 17: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/17.jpg)
High-level Fates result
Table Scan
0
50
100
150
200
250
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Query projectivity [# of attributes touched]
Run
time
[s]
Slotted pages (NSM)
Cache-conscious (PAX)
Vertical decomposition (DSM)
CSM
Table: CREATE TABLE R (FLOAT a1, …, FLOAT a15) (1GB)Query: SELECT a1, a2, …, FROM R WHERE a1 < Hi
Clotho Storage Model (CSM):• Best performance at both ends
Courtesy of Minglong Shao, CMU
![Page 18: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/18.jpg)
Solving the “parameter problem”
• Relying on storage vendors to expose parameters is problematic
– Measuring parameters is difficult and fragile (but not impossible)
• Key idea: OSD can solve this problem
– Expose schema to storage subsystem via shared attributes
– Storage subsystem can do data placement under the covers
![Page 19: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/19.jpg)
Outline
• New hardware: Object-based Storage Devices (OSD)
• Vision: Database-aware storage systems
• Example: Transparent device-specific data placement
• Moving forward: Issues with the current OSD specification
![Page 20: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/20.jpg)
Linearization problem remainsR
ecor
ds
Attributes• Placement within an object can
be optimized
Object
Disk
![Page 21: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/21.jpg)
Linearization problem remainsR
ecor
ds
Attributes• Placement within an object can
be optimized
• However, OSD objects are still addressed as a linear array of bytes
– Query A: Two requests
– Query B: Many requests, DBMS must calculate byte offsets
• Violates our goal!
– DBMS should be independent of storage optimizations
ObjectQuery A
Query B
![Page 22: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/22.jpg)
Solution #1: Two-dimensional object interface
• Provide two-dimensional READ and WRITE commands
– READ (offsetX, lenX, offsetY, lenY)
– WRITE (offsetX, lenX, offsetY, lenY)
• Query A: Two requests
• Query B: One request
• Violates our goal!
– DBMS must still translate byte offsets
Rec
ords
AttributesQuery B
Query A
![Page 23: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/23.jpg)
Solution #2: Relational object interface
• Provide relational READ and WRITE commands
– READ (record offset, len, field bitmap)
– WRITE (record offset, len, field bitmap)
• Bitmap specifies fields to be accessed
– Query A: READ(0, 9, 101)
– Query B: READ(1, 1, 111)
• Meets our goal
– DBMS addresses object in terms of the relation’s schema
Rec
ords
AttributesQuery B
Query A
![Page 24: 8 Schlosser Iren Damon2005 - Carnegie Mellon School of ...damon2005/damonpdf/8 database... · • Object-based storage devices allow applications to provide storage subsystems with](https://reader033.fdocuments.in/reader033/viewer/2022042300/5ecac1e5971f177c91456baf/html5/thumbnails/24.jpg)
Conclusion
• Object-based storage devices allow applications to provide storage subsystems with high-level knowledge about data
• Demonstrated how database systems can take advantage of modern placement techniques using OSD interfaces
• Placement is just the first step
• In the future, how can database systems cooperate better with storage systems?