Collection of debates on O_DIRECT.

Source: Internet
Author: User

It is interesting to have a look at the discussion of different roles. Start with Linus: O_DIRECT (Larry McVoy; Linus Torvalds)-Yarchive

Note that this post is a little long and has a long time span. It takes a bit of patience to finish reading.

People who started to learn DBMS earlier in the year know why O_DIRECT is used. In fact, many systems do the same. In fact, the original file system was actually very weak. In many aspects, DBMS first developed the file system. The two systems continued to learn from each other and adapt to each other during the development process, but they were far from reaching a tacit understanding. In terms of transaction processing, log recovery, and buffer algorithms, DBMS is superior in both theory and practice. In order to make a high-performance database on the disk device, the early DBMS manufacturers had a hard time thinking that it was understandable to require the file system to provide interfaces such as O_DIRECT. However, the closed source software is not interested in defining the interface so well, and does not fully consider the versatility beyond DBMS. No file system is interested in reversing this situation even after it became a reality. What's more, there are many open-source file systems, and DBMS should do less extra work, it is difficult to achieve consistent performance with the file system. In open-source DBMS, PostgreSQL prefers to rely on file systems, but it has encountered some troubles: http://lwn.net/articles/580542 /. The most typical problem is the link of this article: http://www.postgresql.org/message-id/17515.1389715715@sss.pgh.pa.us.

O_DIRECT is so messy. In addition to the long article above, there is a special discussion page: Clarifying Direct IO's Semantics-Ext4, and the data also contains parameters, big. For example, the open-source MySQL database introduces various innodb_flush_method parameter values: https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html. Tuning against a large number of parameters is not a good task for DBA. The system should be a little more intelligent and choose the appropriate parameters on its own.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.