• No results found

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

N/A
N/A
Protected

Academic year: 2021

Share "Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle"

Copied!
34
0
0

Loading.... (view fulltext now)

Full text

(1)

Direct NFS - Design considerations for next-gen NAS appliances optimized for

database workloads

Akshay Shah Gurmeet Goindi

Oracle

(2)

Agenda

 Introduction

 Database Architecture

 Direct NFS Client

 NFS Server Improvements

 NFS Protocol Extensions

 Flash for Databases

 Conclusion

(3)

Agenda

Introduction

 Database Architecture

 Direct NFS Client

 NFS Server Improvements

 NFS Protocol Extensions

 Flash for Databases

 Conclusion

(4)

Introduction

 How do databases use storage?

 Pros and cons of NFS for databases

 What can improve database I/O performance?

 Optimized NFS client

 Scalable NFS server

 Protocol extensions

 Flash storage

(5)

Agenda

 Introduction

Database Architecture

 Direct NFS Client

 NFS Server Improvements

 NFS Protocol Extensions

 Flash for Databases

 Conclusion

(6)

Database Architecture

(7)

Database Architecture

(8)

Database Architecture

 Multiple processes issuing 1000s of I/Os concurrently

 Cluster database instances access shared storage from different nodes

 Buffer cache to cache hot blocks

 Strict consistency guarantees for database I/Os

 Data consistency across database instances

 Blocks written to persistent stable storage

(9)

Database I/O Workloads

 Transactional Processing workloads

 Random small reads and writes

 Typically, database block size e.g. 8 KB

 Sequential Logging writes

 Critical for database performance

 Provide transactional consistency

 Typically, latency sensitive I/Os

(10)

Database I/O Workloads

 Multi-user Large Sequential I/Os

 1 MB reads issued by table scans

 Data loads issue 1 MB writes

 Multiple streams disrupt on-disk sequentiality

 Throughput intensive I/Os

 Throughput higher when 1 MB I/Os hit disk

without being split into smaller chunks

(11)

Database I/O Workloads

 Other miscellaneous workloads

 Database backups

 Typically, write once read never

 Sequential full backups

 Random incremental backups

 Database recovery

 Parallel reads of database backups

 Extremely latency sensitive to reduce downtime

(12)

NFS for Databases

 Attractive option for database storage

 Easy to deploy and administer

 Standard Ethernet backbone

 Cheaper than Storage Area Networks (SAN)

(13)

NFS for Databases

 NFS is not very popular for database storage

 Inferior performance compared to SAN

 NFS client not optimized for database

 Client management complexities

 Configuration and mount options vary across different platforms

 Performance characteristics different across

different platforms

(14)

Agenda

 Introduction

 Database Architecture

Direct NFS Client

 NFS Server Improvements

 NFS Protocol Extensions

 Flash for Databases

 Conclusion

(15)

Direct NFS Client

 Direct NFS Client

 User space NFS client

 Optimized for database access patterns

 Easy to configure and administer

 Massively Parallel I/O architecture

 Scalability and High Availability

(16)

Direct NFS Client

 Optimized for database access patterns

 No locking at NFS layer

 Not POSIX compliant

 I/O size does not depend on mount options

 Query NFS server for largest supported I/O size

 Client behavior tuned for database requirements

(17)

Direct NFS Client

Database Direct NFS client NAS Storage

LGWR I/O queue

DBWR I/O queue

PQ slave I/O queue

RMAN I/O queue

LGWR TCP connection

DBWR TCP connection

PQ slave TCP connection

RMAN TCP connection

Direct NFS can issue 1000s of concurrent operations due

Every process has

(18)

Direct NFS Client

 Massively Parallel I/O Architecture

 Separate TCP connection for each process

 Direct I/O and Asynchronous I/O

 No limit on number of concurrent operations

 Scalability and High Availability

 Optimize server scalability with multiple paths

 Load balance across available network paths

 Improve high availability by managing failover

(19)

 Transactional Processing Workload

 1 TB database, 8000 warehouses, 250 concurrent users

 220% IOPS improvement, 50% latency reduction

41698

94578 11.6

5.8

4 6 8 10 12 14

20000 40000 60000 80000 100000

La te nc y i n ms

ans ac ti ons pe r m in ut e

Direct NFS Performance

(20)

Direct NFS Performance

 Large Parallel Table Scan – 150 million rows

 Linear throughput scaling with multiple paths

112

224

328

380

100 150 200 250 300 350 400 450

N et w or k T hr oug hput (MB /s ec)

(21)

Agenda

 Introduction

 Database Architecture

 Direct NFS Client

NFS Server Improvements

 NFS Protocol Extensions

 Flash for Databases

 Conclusion

(22)

NFS Server Improvements

 Large (1 MB) maximum I/O size

 Optimized clients can issue large (1 MB) I/Os

 Max I/O size < 1 MB causes NFS I/Os to be split into multiple small chunks

 1 MB NFS I/Os improve overall throughput and reduce protocol overhead

 Scalable Duplicate Reply Cache (DRC)

 DRC doesn’t scale to 1000s of concurrent operations

 DRC not designed to handle 100s of TCP

(23)

NFS Server Improvements

 NFS server file system block size should be a multiple of database block size

 Mismatch in block sizes can lead to fractured database blocks

 Performance can be impacted due to read modify writes during updates

 Alignment can be configured manually

 Direct NFS Client can tune this automatically

(24)

Agenda

 Introduction

 Database Architecture

 Direct NFS Client

 NFS Server Improvements

NFS Protocol Extensions

 Flash for Databases

 Conclusion

(25)

NFS Protocol Extensions

 Workload agnostic NFS clients

 No notion of workload access pattern

 Sequential access or Random access

 Likelihood of subsequent reads

 No notion of frequency of access

 Is this block frequently accessed?

 Should the block be cached?

 No notion about nature of the I/O

(26)

NFS Protocol Extensions

 Direct NFS Client

 Intimate knowledge of workload access pattern

 Distinguish sequential scans from random I/Os

 Trigger storage prefetching for sequential scans

 Ability to identify critical latency sensitive I/Os

 Ability to identify frequently accessed blocks

 Hot blocks accessed frequently in buffer cache

 Only the database knows the true access counts

(27)

NFS Protocol Extensions

 Protocol Extensions to pass hints to storage

 I/O access pattern hints

 Sequential/ Random

 Storage Prefetch hints

 Prefetch/ Don’t prefetch

 Storage cache hints

 Positive cache hints for frequently accessed blocks

 Negative cache hints for scans, backups

 Latency hints for critical I/Os

(28)

Agenda

 Introduction

 Database Architecture

 Direct NFS Client

 NFS Server Improvements

 NFS Protocol Extensions

Flash for Databases

 Conclusion

(29)

Flash for Databases

 Promise of Flash Storage

 Low latency, High IOPS

 Lower energy and cooling costs

 Cons of Flash Storage

 Lower scan bandwidth

 Complex firmware for write wear leveling

 Prohibitively expensive

(30)

Flash for Databases

 Server attached Flash Storage

 Cannot scale out to cluster database

 Single point of failure without mirrored flash

 Poor resource utilization

 All Flash arrays

 Best in class performance, extremely expensive

 Limited throughput

 Missing functionality (cloning, snapshots) compared

(31)

Flash for Databases

 Hybrid Storage with Flash

 Different storage tiers based on performance

 Controller can move data between tiers

 Shared storage permits database clustering

 Cache hints can improve flash performance

 Cache hot blocks in flash

 Critical latency sensitive I/Os served by flash

(32)

Agenda

 Introduction

 Database Architecture

 Direct NFS Client

 NFS Server Improvements

 NFS Protocol Extensions

 Flash for Databases

Conclusion

(33)

Conclusion

 NFS clients and servers can be optimized for better database performance

 Generic protocol extensions will allow intelligent applications to pass hints to the storage

 Flash storage can significantly improve

database performance when deployed correctly

 Integrated database and storage appliances can

leverage these performance optimizations

(34)

Conclusion

 Thank You!!

 Questions?

References

Related documents

In this paper we proposed a mobility-based clus- tering approach that can be applied in wireless mobile ad-hoc networks in order to facilitate the implementation of efficient

For each dose at each stage, the data was simulated from a normal distribution with mean equal to that observed in the INHANCE study, and a standard deviation of 0.3L (as given in

Study the distance time graph of a toy car given here and choose the incorrect statement from the following... A The toy car is fastest during first

Goal #3 – Facilitate efficient delivery of PeopleSoft training to Functional Leads/SMEs, Peer.. Trainers, employees, supervisors and other identified

Workflows shown will include all of Cerner’s revenue management solutions and services areas across Cerner Millennium ® , Soarian, INVISION

of concurrent users session length session interval thinking time Overall request interval response time request interval within session Proportions of various vu Requests

• publikation, der er udarbejdet på internationalt og/eller europæisk niveau, og som ikke har fået status som standard, fx en teknisk rapport, eller.. •

Section 3 discusses some more general considerations that must be addressed in design, construction and modification Aboriginal housing, including the appropriateness of the