Counterpoint: What's so great about block-level access?

Counterpoint: What's so great about block-level access?

In articles analyzing the pros and cons of NAS vs. SAN, the issue of file-level vs. block-level access often comes up. In particular, it's often said that databases operate "at the block-level". What is unique about the way a database accesses information that makes block-level access desirable? In a SAN environment, can a client request/receive individual pieces of the database (select blocks) rather than the entire database? I'm not certain where the efficiencies come in.

    Requires Free Membership to View

    When you register for SearchStorage.com, you’ll also receive targeted emails from my team of award-winning editorial writers. Our goal is to keep you informed on the hottest topics, the latest news and the biggest challenges you face as a storage professional today.

    Rich Castagna, Editorial Director

    By submitting your registration information to SearchStorage.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchStorage.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

The issue is really one of buffering. Typically file systems or virtual memory managers cache data in the processor memory in order to improve performance. Since they don't know anything about the application that is running, they use some generalized best efforts. The application (in this case the database) knows more about the data access and can be written to do its own buffering (or caching if you like). To do that, the file system caching must be bypassed. This requires what is termed "raw I/O" by the database where it will directly do the block I/O to the device (LUN). There have been great improvements in file systems such that is not as significant an issue as it used to be.

Read Greg Schulz' answer to this question.

This was first published in August 2004