Your SSD lies and that's ok .. I think

Hussein Nasser · Beginner ·📊 Data Analytics & Business Intelligence ·2y ago
fsync is a linux system call that flushes all pages and metadata for a given file to the disk. It is indeed an expensive operation but required for durability especially for database systems. Regular writes that make it to the disk controller are often placed in the SSD local cache to accumulate more writes before getting flushed to the NAND cells. However when the disk controller receives this flush command it is required to immediately persist all of the data to the NAND cells. Some SSDs however don't do that because they don't trust the host and no-op the fsync, in some cases SSD buffers…
Watch on YouTube ↗ (saves to browser)

Chapters (17)

Intro
1:00 A Write doesn’t write
2:00 File System Page Cache
6:00 Fsync
7:30 SSD Cache
9:20 SSD ignores the flush
9:30 15 Year old Firefox fsync bug
12:30 What happens if SSD loses power
15:00 What options does Postgres exposes?
15:30 open_sync (O_SYNC)
16:15 open_datasync (O_DSYNC)
17:10 O_DIRECT
19:00 fsync
20:50 fdatasync
21:13 fsync = off
23:30 Don’t make your API simple
26:00 Database on metal?

Playlist

Uploads from Hussein Nasser · Hussein Nasser · 0 of 60

← Previous Next →
1 Extending ArcObjects (IGeometry) - 01 - Getting Started
Extending ArcObjects (IGeometry) - 01 - Getting Started
Hussein Nasser
2 Extending ArcObjects  (IGeometry) - 02 - The Document, The Map and The Layers
Extending ArcObjects (IGeometry) - 02 - The Document, The Map and The Layers
Hussein Nasser
3 Channel Update - New Book, New Job, New Videos
Channel Update - New Book, New Job, New Videos
Hussein Nasser
4 Learn Programming with VB.NET - 01 - Getting Started
Learn Programming with VB.NET - 01 - Getting Started
Hussein Nasser
5 Learn Programming with VB.NET - 02 - Classes and Objects (Part 1)
Learn Programming with VB.NET - 02 - Classes and Objects (Part 1)
Hussein Nasser
6 Learn Programming with VB.NET - 03 - Classes and Objects (Part 2)
Learn Programming with VB.NET - 03 - Classes and Objects (Part 2)
Hussein Nasser
7 Learn Programming with VB.NET - 04 - User Interface
Learn Programming with VB.NET - 04 - User Interface
Hussein Nasser
8 Learn Programming with VB.NET - 05 - By Value v. By Reference
Learn Programming with VB.NET - 05 - By Value v. By Reference
Hussein Nasser
9 Learn Programming with VB.NET - 06 - Variable size, 32 bit vs 64 bit
Learn Programming with VB.NET - 06 - Variable size, 32 bit vs 64 bit
Hussein Nasser
10 Learn Programming with VB.NET - 07 - Conditional Statements
Learn Programming with VB.NET - 07 - Conditional Statements
Hussein Nasser
11 Learn Programming with VB.NET - 08 - Inheritance
Learn Programming with VB.NET - 08 - Inheritance
Hussein Nasser
12 Learn Programming with VB.NET - 09 - Strategy Design Pattern
Learn Programming with VB.NET - 09 - Strategy Design Pattern
Hussein Nasser
13 Learn Programming with VB.NET - 10 -  How did I learn programming
Learn Programming with VB.NET - 10 - How did I learn programming
Hussein Nasser
14 IGeometry 2016 Retrospective - Channel Update
IGeometry 2016 Retrospective - Channel Update
Hussein Nasser
15 1K Subs .. Thank you
1K Subs .. Thank you
Hussein Nasser
16 I wish I can change the name of this book
I wish I can change the name of this book
Hussein Nasser
17 IGeometry new plan in preparation for 2018
IGeometry new plan in preparation for 2018
Hussein Nasser
18 Javascript by Example - The Vook
Javascript by Example - The Vook
Hussein Nasser
19 Vlog - Keep your servers close and your database closer
Vlog - Keep your servers close and your database closer
Hussein Nasser
20 Vlog - Client/Server Programming Languages
Vlog - Client/Server Programming Languages
Hussein Nasser
21 Javascript By Example L1E01 - Getting Started
Javascript By Example L1E01 - Getting Started
Hussein Nasser
22 Persistent Connections (Pros and Cons)
Persistent Connections (Pros and Cons)
Hussein Nasser
23 Javascript By Example L1E02 - Building the Calculator Interface
Javascript By Example L1E02 - Building the Calculator Interface
Hussein Nasser
24 Happy new Year from IGeometry!
Happy new Year from IGeometry!
Hussein Nasser
25 Synchronous v. Asynchronous
Synchronous v. Asynchronous
Hussein Nasser
26 Javascript By Example L1E03 - Displaying the Digits on Calculator Screen
Javascript By Example L1E03 - Displaying the Digits on Calculator Screen
Hussein Nasser
27 Show Your Work. Blog, Vlog, Write, Create and Develop!
Show Your Work. Blog, Vlog, Write, Create and Develop!
Hussein Nasser
28 Relational Database Atomicity Explained By Example
Relational Database Atomicity Explained By Example
Hussein Nasser
29 Javascript By Example L1E04 - Operators, All Clear with Arrow Functions
Javascript By Example L1E04 - Operators, All Clear with Arrow Functions
Hussein Nasser
30 What Comes First, User Experience or Software Architecture?
What Comes First, User Experience or Software Architecture?
Hussein Nasser
31 Javascript By Example L1E05 -  Evaluate the Calculator Expressions with eval
Javascript By Example L1E05 - Evaluate the Calculator Expressions with eval
Hussein Nasser
32 Fastest Way to Learn Programming Language or Technology
Fastest Way to Learn Programming Language or Technology
Hussein Nasser
33 Can you build software that alters its behavior?
Can you build software that alters its behavior?
Hussein Nasser
34 Javascript By Example L1E06 -  Fix Leading Zero Bug with Conditions
Javascript By Example L1E06 - Fix Leading Zero Bug with Conditions
Hussein Nasser
35 Stateful vs Stateless Applications (Explained by Example)
Stateful vs Stateless Applications (Explained by Example)
Hussein Nasser
36 git by Example - (IG) - #1 - Getting Started!
git by Example - (IG) - #1 - Getting Started!
Hussein Nasser
37 Javascript By Example L1E07 - Running our Calculator on the Mobile Phone
Javascript By Example L1E07 - Running our Calculator on the Mobile Phone
Hussein Nasser
38 Advice for New Software Engineers and Developers
Advice for New Software Engineers and Developers
Hussein Nasser
39 Vlog - Cash in on Your Passion (Crush it)
Vlog - Cash in on Your Passion (Crush it)
Hussein Nasser
40 Why JSON is so Popular?
Why JSON is so Popular?
Hussein Nasser
41 Building Scalable Software - SLA, HS, VS
Building Scalable Software - SLA, HS, VS
Hussein Nasser
42 Vlog (Istanbul) - Datacenter Proximity
Vlog (Istanbul) - Datacenter Proximity
Hussein Nasser
43 Should Software Engineers Learn Bleeding-Edge Technologies?
Should Software Engineers Learn Bleeding-Edge Technologies?
Hussein Nasser
44 Do Developers Build Bad User Interfaces/Experience?
Do Developers Build Bad User Interfaces/Experience?
Hussein Nasser
45 Vlog - disk
Vlog - disk
Hussein Nasser
46 git by Example - (IG) - #2 - Branches
git by Example - (IG) - #2 - Branches
Hussein Nasser
47 Learn By Doing.
Learn By Doing.
Hussein Nasser
48 I Wrote Bad Front-End Code That Broke Chrome
I Wrote Bad Front-End Code That Broke Chrome
Hussein Nasser
49 See you in the Esri Dev Summit 2018! (Mar-6 till Mar-9)
See you in the Esri Dev Summit 2018! (Mar-6 till Mar-9)
Hussein Nasser
50 My Story
My Story
Hussein Nasser
51 Vlog - Horizontal vs Vertical Scaling
Vlog - Horizontal vs Vertical Scaling
Hussein Nasser
52 Can User Experience Help Build Better Rest API?
Can User Experience Help Build Better Rest API?
Hussein Nasser
53 Reverse engineering Instagram in flight mode
Reverse engineering Instagram in flight mode
Hussein Nasser
54 Dragons Fight Engineers Too
Dragons Fight Engineers Too
Hussein Nasser
55 Content Persistence: Examples from Siri, Whatsapp and Twitter
Content Persistence: Examples from Siri, Whatsapp and Twitter
Hussein Nasser
56 The Benefits of the 3-Tier Architecture (e.g. REST API)
The Benefits of the 3-Tier Architecture (e.g. REST API)
Hussein Nasser
57 Stateless v. Stateful Architecture (Podcast)
Stateless v. Stateful Architecture (Podcast)
Hussein Nasser
58 The evolution from virtual machines to containers
The evolution from virtual machines to containers
Hussein Nasser
59 Proxy vs. Reverse Proxy (Explained by Example)
Proxy vs. Reverse Proxy (Explained by Example)
Hussein Nasser
60 Canary Deployment (Explained by Example)
Canary Deployment (Explained by Example)
Hussein Nasser
Data Analyst = SQL + Excel + PowerBI
Next Up
Data Analyst = SQL + Excel + PowerBI
Coursera