I don't think so.

Async IO module creates a queue of pages that will be written to the database 
file on disk according to available IO bandwidth.

WAL mode creats a queue of pages from committed transactions that are written 
to the database file on disk according to available IO bandwidth.

Both allow the writer to not have to wait until the data physically hits the 
disk. Introducing a second level of buffering is not likely to help with speed 
but multiplies the risk of losing durability. Since WAL mode in standard sync 
does not call fsync() during commit, a crash could prevent the commit record 
reaching the WAL file. And since async IO stores writes in a queue and pretends 
they are alredy completed, a crash during a checkpoint operation could cause 
(possibly very much older) writes to be lost even though the WAL file has 
recorded them as completed.

-----Ursprüngliche Nachricht-----
Von: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] Im 
Auftrag von test user
Gesendet: Dienstag, 13. August 2019 11:44
An: SQLite mailing list <sqlite-users@mailinglists.sqlite.org>
Betreff: [EXTERNAL] [sqlite] Why does WAL prevent the need for async IO?

Hello,

On this page:
https://www.sqlite.org/asyncvfs.html

Quote: The use of WAL mode largely obviates the need for this asynchronous I/O 
module.


The WAL mode does not change the fact that these operations will still block 
the application process that embeds SQLite:

   - Slow read queries.
   -  A large amount of writes.



So would something like the original async module still be useful, even with 
WAL mode?


Thanks.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


___________________________________________
 Gunter Hick | Software Engineer | Scientific Games International GmbH | 
Klitschgasse 2-4, A-1130 Vienna | FN 157284 a, HG Wien, DVR: 0430013 | (O) +43 
1 80100 - 0

May be privileged. May be confidential. Please delete if not the addressee.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to