Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ScyllaDB chose asynchronous direct I/O (AIO/DIO) because it wanted the database—not the general-purpose Linux page cache—to control caching, read-ahead, request ordering, and I/O scheduling. Avi Kivity described that 2017 decision as choosing “the highest performing option, AIO/DIO,” a statement about ScyllaDB’s workload and design rather than a universal benchmark claim.

The choice also imposed costs: direct I/O requires careful alignment, and asynchronous completion makes application design more complex. Later ScyllaDB work discusses io_uring as a newer interface, but that is an evolution of the implementation context, not a reason to rewrite the original decision as if io_uring had been available in 2017.

The four Linux file-access paths

Linux applications commonly reach storage through four broad approaches. They differ mainly in who owns the cache, how data reaches the application, when a thread waits, and how much control the application has over scheduling.

Method Cache ownership Data movement and CPU effects Scheduling and waiting Alignment and complexity
Buffered read(2)/write(2) Kernel page cache Copies data between kernel buffers and the process; ordinary alignment is handled automatically Kernel decides much of request handling; calls can block Simplest application model
mmap Kernel page cache Maps file pages into the process instead of using an explicit read copy; incurs more MMU activity Page faults and kernel policy govern when data arrives Convenient mapping model, but cache and scheduling remain outside application control
Direct I/O (DIO) Application-managed; bypasses the page cache with O_DIRECT Less page-cache involvement and no normal buffered copy; buffers and offsets must satisfy alignment rules The calling thread may block while the operation runs More control, but alignment and cache management are the application’s responsibility
Asynchronous direct I/O (AIO/DIO) Application-managed; bypasses the page cache Direct-I/O constraints remain, while submissions can remain outstanding Submission and completion are separate, allowing other work while storage operations are in flight Greatest scheduling control in the original comparison, with the highest implementation complexity

Why page-cache methods were not enough for ScyllaDB

Buffered I/O and mmap are strong general-purpose defaults because Linux can share cached data across processes and make automatic readahead and writeback decisions. That policy is necessarily generic, however. The kernel does not know which database pages are likely to be queried again, which writes are compaction output, or how a commit-log write should compete with a user query.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Dell Optiplex 3060 Desktop Computer | Intel i5-8500 (3.2) | 32GB DDR4 RAM | 1TB SSD Solid State | Built in WiFi | Bluetooth | Windows 11 Professional | Home or Office PC (Renewed)
  • [INTEL POWERED CONTENT] - Built with a 8th Generation Hexa-Core Intel i5 and 32GB of DDR4 RAM; Modern, Windows 11 ready, with 4K support, Executive multitasking, media streaming and smooth, multi-tab web browsing; Perfect as an all-purpose multimedia computer; built for content creators; Plenty of RAM and Mass storage for photo and video editing powered by Intel HD 630
  • [LATEST WIRELESS TECH] - This Dell Desktop Computer easily connects to the internet through the Built In WiFi / Bluetooth
  • [SOLID STATE STORAGE] - This Dell Computer setup comes with an ultra-fast 1TB Solid State Drive (SSD); Setup as the primary boot device; Boot and load programs with lightning speed ; Additional expansion available
  • [BUY & OWN WITH CONFIDENCE] - From the world's largest Microsoft Authorized Refurbisher; Quality Guarantee and Free Tech Support; Award-winning Customer Service; | Support Sustainable Business
  • [MODERN HI-SPEED PORTS] - USB 3.0 (x4) | USB 2.0 (x4) | DisplayPort (x1) | HDMI Port (x1) | Audio Combo Jack (x1) | Audio Out (x1) | RJ-45 Ethernet (x1) | Internal SATA (x3)

ScyllaDB’s design already included database-specific knowledge and its own cache. Leaving storage policy to the kernel could therefore duplicate caching and make unrelated work compete in ways the database could avoid. The 2017 explanation by Avi Kivity presents bypassing the page cache as a way to put those decisions in the database’s control.

What AIO/DIO lets the database control

Application-level read-ahead and write-behind

ScyllaDB’s compaction path knows that much of the data it scans will be cold from a query perspective. The article describes using application-level read-ahead and write-behind while avoiding pollution of caches intended for application requests. This is a workload-specific policy, not a recommendation that every Linux program should bypass the page cache.

Query caching and read-ahead

For queries, the application can combine its knowledge of access patterns with its own cache and decide when to fetch additional data. That avoids treating every storage read as an interchangeable request managed by a system-wide policy.

Rank #2
Sale
GMKtec G3S Mini PC Intel N95 Processor (Up to 3.4GHz) 8GB RAM 256GB M.2 SSD
  • 12th Intel Alder Lake N95 Processor – The GMKtec G3 S Mini PC is powered by the 12th Gen Intel N95 processor with 4 cores, 4 threads, 6MB cache and a burst frequency up to 3.4GHz. Compared with N100/N5105/N5100/N5095, the N95 delivers up to 36% overall performance improvement. Perfect for routine tasks, office work, and home entertainment, this compact mini desktop is more convenient than traditional bulky PCs.
  • 8GB RAM & 256GB SSD Storage – Pre-installed with 8GB DDR4 memory and a fast 256GB M.2 2242 SSD, the G3 S mini desktop offers quicker startup, smoother multitasking, and faster file transfers. Enjoy seamless performance whether you’re working on multiple applications, browsing, or streaming content.
  • Rich Interfaces & Connectivity – The G3 S mini computer comes equipped with USB 3.2 (up to 10Gbps), dual HDMI 2.0 (4K@60Hz), and a 3.5mm audio jack. With support for WiFi 5, Bluetooth 5.0, and Gigabit Ethernet (RJ45 1000MbE), it connects easily with monitors, projectors, printers, office equipment, and other peripherals, making it versatile for both home and business use.
  • Dual 4K Display Support – Featuring upgraded Intel UHD Graphics (up to 1000MHz), the G3 S supports 4K video playback and AV1 decoding for a smooth viewing experience. With dual HDMI outputs, you can connect two 4K@60Hz displays simultaneously, enabling efficient multitasking for work and entertainment.
  • GMKtec WARRANTY - GMKtec offers a 1-year limited GMKtec's warranty for each mini PC, starting from the date of the purchase. All defects due to design and workmanship are covered. With a professional after sales team always ready to attend to your needs, you can simply relax and enjoy your mini PC.

Predictable alignment

The ScyllaDB article describes aligning small reads to a 512-byte boundary. Direct I/O generally requires aligned buffers, offsets, and lengths appropriate to the filesystem and storage stack; the exact constraints must be validated for the target Linux configuration. Meeting them is the price of bypassing buffered-I/O convenience.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Bandwidth classes for competing work

ScyllaDB assigns I/O scheduling classes so queries, compaction, and commit-log writes can receive different treatment. This lets latency-sensitive foreground work coexist with background maintenance instead of relying solely on a kernel scheduler that lacks the database’s priorities.

Why asynchronous submission matters

With synchronous direct I/O, a thread can still stop and wait for each request. Asynchronous direct I/O separates submission from completion: the application submits work, continues useful execution, and later handles completion events. That separation allows a framework to keep storage queues full while assigning CPU time and I/O bandwidth according to database policy.

Rank #3
Linux Mint 22 (Latest Version) Cinnamon Bootable Live USB for PC/Laptop 64-bit
  • Live Boot: Simply plug the USB drive into your computer, select the USB drive as your boot device, and experience Linux Mint without installation. This allows you to test the OS and its features before making any changes to your system.
  • Install Option: Once you've tested and decided to keep Linux Mint, you can easily install it on your computer directly from the USB drive.
  • Pre-installed software like LibreOffice for office tasks, a capable web browser (Firefox), email client (Thunderbird), and multimedia tools. This minimizes the need for additional downloads, saving you time and effort.
  • Resource Efficiency: Designed to run efficiently on a variety of hardware configurations. It demands fewer system resources compared to some other operating systems, making it an excellent choice for older computers or devices with limited hardware specifications.
  • Compatible with PC/Laptop/Desktop brands - Dell, HP, Sony, Lenovo, Samsung, Acer, Toshiba & more. Minimum system requirements 4 GB RAM Dual-Core Processor (2 GHz) 20 GB of free disk space

The trade-off is software complexity. The application must manage request lifetime, aligned buffers, outstanding operations, completion handling, cancellation or failure paths, and backpressure. ScyllaDB uses Seastar to abstract these mechanics and expose callback and coroutine programming styles, according to Kivity’s 2017 article.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What “highest performing” means in ScyllaDB’s statement

Kivity wrote in the October 5, 2017 ScyllaDB article: “With ScyllaDB, we have chosen the highest performing option, AIO/DIO.” Read in context, this is ScyllaDB’s architectural choice for its latency-sensitive database workload, where application-controlled caching and scheduling are central. It is not evidence that AIO/DIO is fastest for every Linux application, filesystem, storage device, or access pattern.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The available source set does not establish a single general performance percentage or a universal ranking. The meaningful comparison is therefore control versus convenience: buffered I/O and mmap reduce application work, while DIO and AIO/DIO transfer more policy responsibility to the application.

Rank #4
Dell Optiplex 7050 SFF Desktop PC Intel i7-7700 4-Cores 3.60GHz 32GB DDR4 1TB SSD WiFi BT HDMI Duel Monitor Support Windows 11 Pro Excellent Condition(Renewed)
  • Model: Dell OptiPlex 7050 Small Form Factor (SFF)
  • Processor: Intel Core i7-7700 3.60 GHz
  • Memory: 32GB DDR4 Ram
  • Storage: 1TB Solid State Drive (SSD) Fast Boot + Storage
  • Operating System: Windows 11 Pro (64-bit)

The later io_uring context

Why io_uring entered the discussion

A ScyllaDB database-internals excerpt published November 25, 2024 describes shortcomings encountered with legacy Linux AIO and presents io_uring as a newer interface with a more convenient API. This later interface addresses how asynchronous operations are submitted and completed; it does not change the original reason ScyllaDB wanted direct, application-controlled I/O.

Seastar’s asymmetric backend work

In an engineering article dated July 22, 2026, ScyllaDB described an asymmetric io_uring backend for Seastar alongside the existing linux-aio backend. The stated aim was to offload work from application cores. That report said purely I/O-bound benchmarks showed no speedup, while the core backend had been merged into the official Seastar repository at the time of publication. Repository and release status can change, so those statements should be treated as dated engineering status rather than a permanent product guarantee.

The practical takeaway is that io_uring is a newer mechanism in the same broader effort: keep asynchronous I/O efficient while preserving application-level control. Choosing an interface should still be based on the workload, kernel and filesystem behavior, framework support, and the engineering cost of operating outside buffered I/O.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choosing among the methods

Prefer buffered read/write when

  • You want the simplest, most portable file-I/O code.
  • Linux’s shared page cache and automatic readahead are useful rather than harmful.
  • Your application does not have reliable knowledge to replace kernel cache policy.

Consider mmap when

  • A memory-mapped programming model fits the access pattern.
  • You accept page-fault-driven fetching and continued dependence on the kernel page cache.
  • Reducing explicit read-call bookkeeping matters more than controlling I/O scheduling.

Consider direct I/O when

  • Your application has its own cache and can prevent duplicate caching.
  • You need to avoid page-cache pollution from streaming or background work.
  • You can enforce the required buffer, offset, and length alignment and handle blocking explicitly.

Consider asynchronous direct I/O when

  • You need many operations outstanding and want execution to continue while storage is busy.
  • The application can prioritize classes of I/O and process completions safely.
  • The performance and policy benefits justify substantially more implementation and operational complexity.

Bottom line for ScyllaDB

ScyllaDB selected AIO/DIO because its database engine could make better cache, read-ahead, and scheduling decisions than a generic page-cache policy for its workload. That decision required alignment discipline and a more elaborate asynchronous framework, but it matched ScyllaDB’s goal of coordinating query I/O with compaction and commit-log traffic. The later move to evaluate and implement io_uring concerns the interface used to deliver that control, not a claim that one API is universally fastest.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.