正在加载视频...

视频加载失败

Everyone should know how WALs work. Not sure where to start? Write-ahead logs 101:

380,002 次观看 • 2 个月前 •via X (Twitter)

40 条评论

Ben Dicken 的头像
Ben Dicken2 个月前

YouTube, if you're into that kinda thing:

Will King 的头像
Will King2 个月前

From the queryyyyyy to WAL (to the WAL) til the data's pulled off the log, all your clients can call.

Ben Dicken 的头像
Ben Dicken2 个月前

Have you considered a career in entertainment Will?

Will King 的头像
Will King2 个月前

Not quick witted enough! This was my one for the quarter. It took all my juice.

Yash Agarwal 的头像
Yash Agarwal2 个月前

After going through Ben’s explanation, if you want to dive deeper into how WAL is actually used for database recovery, I wrote a blog covering the recovery process and ARIES from first principles:

Ben Dicken 的头像
Ben Dicken2 个月前

This is a great article

Yash Agarwal 的头像
Yash Agarwal2 个月前

@Hi_Mrinal If you get a chance, check out the article. Would love to hear your thoughts and get your feedback!

HSVSphere 的头像
HSVSphere2 个月前

Great explanation. Also a good WAL is uniform, bcache does this quite nicely in its journal (which can be uniform, as the btrees are also uniform). Check out 9.7 and 9.8 in the principles of operation docs You want everything in your system to use the same infra and no special cases

Jarno 的头像
Jarno2 个月前

Ask a candidate to explain WAL recovery in an interview and watch the room go quiet.

Ben Dicken 的头像
Ben Dicken2 个月前

Excellent interview Q

Noah 的头像
Noah2 个月前

Such a good refresher, you rock at explaining things

Jilles Soeters 的头像
Jilles Soeters2 个月前

Imagine this on a physical blackboard 😮

纳米AI 的头像
纳米AI2 个月前

Did you hand-draw this on Excalidraw?

prasad 的头像
prasad2 个月前

True i built simple wal for 2 months ago for document writes using and also watched your video on that

Saurabh Kumar 的头像
Saurabh Kumar2 个月前

instead of a cyclical buffer, does a using queue work as well?

Amine 的头像
Amine2 个月前

Every new architecture blog post seems to be "we added a WAL to S3" so this is very timely, thanks!

Ochuko 的头像
Ochuko2 个月前

one time my etcd database got corrupted I was trying to do a backup restore that's when I stumbled on WAL, still a rabbit hole tho

Tim Tucker 的头像
Tim Tucker2 个月前

What software was used to make this diagram?

Ben Dicken 的头像
Ben Dicken2 个月前

excalidraw

Daniele Scaratti 的头像
Daniele Scaratti2 个月前

That was really well explained. I'll have to save this for later. it's a helpful recap.

Abdulrahman Sultan 的头像
Abdulrahman Sultan2 个月前

Great vid as always is the case

Aditya 的头像
Aditya2 个月前

I’m working on the db branching software . For syncing the main replica with the prod , i had three options : 1) create a pub sub slot and apply changes instantly 2) create a pub slot but apply wal periodically 3) push wal to s3 and apply changes later What should i use ?

Thanos 的头像
Thanos2 个月前

Bro, it is just a file where you append data to it

LyLy Trann 的头像
LyLy Trann2 个月前

Chỗ ghi log trước khi ghi dữ liệu chính đúng không, nhìn cái sơ đồ này là dễ hiểu hẳn ra đó 😄

Ramakanth 的头像
Ramakanth2 个月前

How btree gets stored on the disk

angelo 的头像
angelo2 个月前

data stored in disk in databases is basically just a materialized view of the event log (WAL in this case)

Magie Chang 的头像
Magie Chang2 个月前

WAL is one of those things that suddenly makes half of database internals click.

noøne 🐦‍🔥 的头像
noøne 🐦‍🔥2 个月前

Open a school, I will make sure I pay the school fees 😭😭🤣🤣

Timothy Blumberg 的头像
Timothy Blumberg2 个月前

Karpathy-tier info density and understandability! Great video thanks!

ucixrn 的头像
ucixrn2 个月前

Yeah

Kien Trinh 的头像
Kien Trinh2 个月前

Mình mới tìm hiểu về WAL hôm qua, đọc xong thấy dễ hiểu hơn nhiều luôn 👍

misticos 的头像
misticos2 个月前

no balls?

Zorro Rebelde 的头像
Zorro Rebelde2 个月前

6:24 b ga.i, lol

Jay 的头像
Jay2 个月前

Great watch

Michael Timbs 的头像
Michael Timbs2 个月前

from an application architecture POV, processing the WAL is also the nicest way to react to state change events in the application.

Gerson Sosa 的头像
Gerson Sosa2 个月前

It’s useful to see it explained with a drawing. Interestingly the WAL is also used for replication and for backups, is quite an important part on many databases.

TheoryOfNearlyEverything 的头像
TheoryOfNearlyEverything2 个月前

warum?

Buswe 的头像
Buswe2 个月前

They also unlock point-in-time recovery: you replay the log up to a chosen timestamp instead of restoring a whole snapshot.

ahmet cemrek 的头像
ahmet cemrek2 个月前

@readwise save

Heisenberg 的头像
Heisenberg2 个月前

I have implemented a Toy-WAL in pure Python. You guys can check out. Repo Link:

相关视频