# flush

Published articles for flush.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## How fsync affects data durability, latency, and group commit

DevFeed: [How fsync affects data durability, latency, and group commit](<https://devfeed.tech/articles/fsync-is-the-only-thing-between-you-and-data-loss-and-it-is-slower-than-you-think-39589.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/37-fsync-durability-cost-group-commit/>)

Author: hello@ankit-rana.com

Published: 2026-08-14T00:00:00Z

Content type: article

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [NVMe](<https://devfeed.tech/topics/nvme.md>), [Replication](<https://devfeed.tech/topics/replication.md>)

Tags: [databases](<https://devfeed.tech/tags/databases.md>), [durability](<https://devfeed.tech/tags/durability.md>), [flush](<https://devfeed.tech/tags/flush.md>), [fsync](<https://devfeed.tech/tags/fsync.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [stack](<https://devfeed.tech/tags/stack.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This article explains that a successful write() may leave data only in the kernel page cache, so a power loss can destroy it. It describes fsync as the operation that pushes data to the device, discusses its latency cost, and explains how group commit amortizes the synchronization barrier. It also distinguishes disk durability from replication across failure domains.

### Source excerpt

A successful write() only copies your data into the kernel page cache, where a power loss destroys it. Only fsync pushes it to the device, and because fsync is a barrier rather than a write, a system that syncs once per commit is capped at roughly one divided by the fsync latency, no matter how fast the rest of the stack is. Group commit exists to amortise that barrier, and replication solves a different failure domain than fsync does, which is why acks=all does not mean the data is on any disk.

## Interfaces 101 : Interface Type Assertion Ep. 6

DevFeed: [Interfaces 101 : Interface Type Assertion Ep. 6](<https://devfeed.tech/articles/interfaces-101-interface-type-assertion-ep-6-22218.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/03/interfaces-101-interface-type-assertions.html>)

Published: 2023-03-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [IO](<https://devfeed.tech/topics/io.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [copy](<https://devfeed.tech/tags/copy.md>), [flush](<https://devfeed.tech/tags/flush.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [io](<https://devfeed.tech/tags/io.md>), [io-interface](<https://devfeed.tech/tags/io-interface.md>), [io-reader](<https://devfeed.tech/tags/io-reader.md>), [io-writer](<https://devfeed.tech/tags/io-writer.md>), [library](<https://devfeed.tech/tags/library.md>), [logger](<https://devfeed.tech/tags/logger.md>), [receiver](<https://devfeed.tech/tags/receiver.md>), [type-alias](<https://devfeed.tech/tags/type-alias.md>), [versatile](<https://devfeed.tech/tags/versatile.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This video tutorial explains how to use type assertions and Go interfaces. It demonstrates io.Reader and io.Writer, io.Copy, and interface design while building a logging library that moves data from memory to stable storage.

### Source excerpt

Introduction In episode 5, Miki wrote a function that counted the number of lines in a file with interfaces. The first thing his function did was to open a file with Go's os.Open function. Miki chose this method because the variable returned by said function implements the io.Reader interface which is crucial for the next step. The remaining parts of this function consisted of a primitive type alias that satisfied the io.Writer interface and tracked the number of lines by increasing the Write method's receiver value. To put the process in motion, Miki will invoke function io.Copy to trigger his type alias' Write method and in essence, count the number of lines in the file.

## MySQL - dostęp zdalny na szybko

DevFeed: [MySQL - dostęp zdalny na szybko](<https://devfeed.tech/articles/mysql-dostep-zdalny-na-szybko-27487.md>)

Original publisher: [Read original article](<https://gagor.pro/2011/08/mysql-na-szybko/>)

Author: Tom

Published: 2011-08-27T00:00:00Z

Content type: tutorial

Language: pl

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [MySQL](<https://devfeed.tech/topics/mysql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [apt](<https://devfeed.tech/tags/apt.md>), [debian](<https://devfeed.tech/tags/debian.md>), [flush](<https://devfeed.tech/tags/flush.md>), [ip](<https://devfeed.tech/tags/ip.md>), [localhost](<https://devfeed.tech/tags/localhost.md>), [mariadb](<https://devfeed.tech/tags/mariadb.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [percona](<https://devfeed.tech/tags/percona.md>), [root](<https://devfeed.tech/tags/root.md>), [server](<https://devfeed.tech/tags/server.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

A Polish tutorial explains how to install MySQL Server on Debian and configure remote access. It covers granting privileges, limiting access by IP address, changing the MySQL bind address, and restarting the server.

### Source excerpt

Instalacja serwera MySQL na Debianie jest niezwykle prosta i sprowadza się do jednego polecenia: sudo apt-get install mysql-server Polecenie to zainstaluje i uruchomi usługę serwerową MySQL. W czasie instalacji będziemy proszeni o podanie hasła dla root'a (które oczywiście dobrze jest zapamiętać bądź zapisać). Tak zainstalowana baza nasłuchuje na lokalnym porcie (localhost:3306) umożliwiająć dostęp wyłącznie root'owi. Jest to bardzo bezpieczna konfiguracja... Ale jeśli nie mamy zamiaru na tej samej maszynie instalować oprogramowania zarządzającego to nie zawsze jest to wygodne, tym bardziej gdy przykładowo mamy działającego phpmyadmin'a na jakimś serwerze www. W takim przypadku pierwszą rzeczą, którą robię jest udostępnienie dostępu zdalnego dla root'a. Warto zaznaczyć że uprawnienia root'a można nadać dowolnemu użytkownikowi (np. romanowi) co jest dużo bezpieczniejszą konfiguracją niż działanie bezpośrednio na koncie root'a (którego nazwa jest powszechnie znana).