Why create Index blocks writes

  Рет қаралды 12,288

Hussein Nasser

Hussein Nasser

Күн бұрын

Пікірлер: 20
@arpanmukherjee4625
@arpanmukherjee4625 Жыл бұрын
When I listen to his videos while closing my eyes, it feels like Dictator movie's Alladin is teaching computer science. 😂❤
@xxyz9819
@xxyz9819 Жыл бұрын
Lmao
@jigsaw2253
@jigsaw2253 6 ай бұрын
Silly
@fueledbydata
@fueledbydata Жыл бұрын
Potentially we can use hybrid strategy. Lock when LSN theta is under certain thresh-hold.
@kartik4792
@kartik4792 Жыл бұрын
I don't think CREATE INDEX CONCURRENTLY will be plays catch up game with INSERT/UPDATE/DELETE, instead for all new changes it can start inserting to index and for old tuples it can build index in background using LSN. This is just assumption though.
@nafreenuddin6833
@nafreenuddin6833 Жыл бұрын
Best books for back end engineering mid level having bit knowledge on code
@herrxerex8484
@herrxerex8484 Жыл бұрын
this was very insightful, thank you for this
@user-bk5xo1gj7k
@user-bk5xo1gj7k Жыл бұрын
that implementation would not work... especially with postgres... taking snapshot of db -> you cant just retain this many snapshots... what if there are multiple indexes being created by separate threads? see where im going with it? there are other things to keep an eye out for, like the mvcc nature of postgres. like how updates and deletes actually create dead tuples. there are a bunch of things we need to consider because postgres is quite complex piece of software. i do completely agree with your approach on how to think though! i always do it myself, dont get how a software is doing something? how would you do it? the software is definitely doing it much better than your 5 min pseudocode but it does give one courage to actually explore the software, and gives you appreciation for the tool!
@Chill_panu_dude
@Chill_panu_dude Жыл бұрын
Please make a video on parallel writes and things that affect that like row lock or issue because of index which causes deadlocks
@malekalhourani5930
@malekalhourani5930 Жыл бұрын
I think locking the table for catching the rows that have been inserted while building the index for the first time won't be an issue.
@kartik4792
@kartik4792 Жыл бұрын
Great video!
@mustaphab32
@mustaphab32 8 ай бұрын
i have a question, and thanks a lot for the video. what happens if one row in an index -- covering index -- or a table is bigger than a page in PostgreSQL? ( which is usually 8KB) , and is it fine to create a denormelized table that exceeds 8KB to avoid joins and be able to create a covering index on the whole view ?
@arpanmukherjee4625
@arpanmukherjee4625 Жыл бұрын
I was thinking in the same lines. My instinct for creating big index online where concurrently option is not available goes like this. I would have a copy of the database, where i create the index, then apply the WAL entries from the online db in here which should be fast (will pause transaction in the online db for milliseconds), do multiple passes if too many WAL entries. Then will make the new db online. Do you think this will work? I mean is the assumption that the diff WAL apply should be really fast for small no of remaining WAL entries?
@empuraan4710
@empuraan4710 Жыл бұрын
Hey HN... can you do a video on Vitess and the proc/cons
@hamza201183
@hamza201183 Жыл бұрын
I thought you had a new guest but in fact it's just you with a new haircut hahahaha Nice video though, bro 👍
@jacob_90s
@jacob_90s Жыл бұрын
This sounds like what happens during a live VM migration with memory. As I recall part of the process at the very end is that once everything is more or less caught up, it pauses the vCPU, and finish and copies any remaining pages it needs so that everything will remain in sync. Just to note it has been a while since I read up on that so I am probably grossly oversimplifying and missing out on some crucial details. If anyone knows more please feel free to correct me.
@autohmae
@autohmae Жыл бұрын
Their is this saying in my country/language: did you fall off the stairs ? 🙂 Because you got short hair now (implying that you might have had surgery, etc.) Having said that: I wonder if they have a process/thread which just keeps track of the changes which apply to the index and keep a list of those (so you don't need to check all the logs)/
@al-assili-sounds
@al-assili-sounds Жыл бұрын
I thought that create index was a writing process too, because it doesn't read from the database or do i not understand it well 🤔?
@reactdeveloper2368
@reactdeveloper2368 6 ай бұрын
Mussahi book contd. from collection of books in older videos
@mustafahere01
@mustafahere01 Жыл бұрын
What’s up with the haircut brooo 😂
The effect of Random UUID on database performance
18:51
Hussein Nasser
Рет қаралды 72 М.
Database Indexing Explained (with PostgreSQL)
18:19
Hussein Nasser
Рет қаралды 318 М.
Yay😃 Let's make a Cute Handbag for me 👜 #diycrafts #shorts
00:33
LearnToon - Learn & Play
Рет қаралды 117 МЛН
А я думаю что за звук такой знакомый? 😂😂😂
00:15
Денис Кукояка
Рет қаралды 4,8 МЛН
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 37 МЛН
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 32 МЛН
Clustered Collections makes Mongo faster but there is a cost
26:14
Hussein Nasser
Рет қаралды 23 М.
When should you shard your database?
21:20
Hussein Nasser
Рет қаралды 79 М.
The Pros and Cons of Encrypted Client Hello
32:30
Hussein Nasser
Рет қаралды 6 М.
They Enabled Postgres Partitioning and their Backend fell apart
31:52
Hussein Nasser
Рет қаралды 43 М.
Six stages of a good software engineer
37:12
Hussein Nasser
Рет қаралды 34 М.
MySQL is having a bumpy journey
27:37
Hussein Nasser
Рет қаралды 15 М.
The Beauty of Assembly
29:31
Hussein Nasser
Рет қаралды 25 М.
Postgres System Columns Explained (ctid, xmin,xmax)
26:28
Hussein Nasser
Рет қаралды 10 М.
A Deep Dive in How Slow SELECT * is
39:24
Hussein Nasser
Рет қаралды 37 М.
Yay😃 Let's make a Cute Handbag for me 👜 #diycrafts #shorts
00:33
LearnToon - Learn & Play
Рет қаралды 117 МЛН