Ilya Kosmodemiansky is a CEO and co-founder at Data Egret. A consultancy specializing in PostgreSQL migration, maintenance and support. Ilya has a broad experience working with PostgreSQL as consultant, architect and administrator. His main focus is database performance and optimization. He sees the mission of PostgreSQL in substituting the commercial databases in high-performance mission-critical applications. His interests are promoting PostgreSQL as enterprise-ready database, distributed transaction processing, data integration.
Input-output performance problems are on every day agenda for DBAs since the databases exist. Volume of data grows rapidly and you need to get your data fast from the disk and moreover - fast to the disk. For most databases there is a more or less easy to find checklist of recommended Linux settings to maximize IO throughput. In most cases that checklist is good enough. But it is always better to understand how it works, especially if you run into some corner-cases. This talk is about how IO in Linux works, how database pages travel from disk level to database own shared memory and back and what kind of mechanisms exist to control this. We will discuss memory structures, swap and page-out daemons, filesystems, schedullers and IO methods. Some fundamental differences in IO approaches between PostgreSQL, Oracle and MySQL will be covered.