The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Стабильный выпуск СУБД MariaDB 10.6, opennews (??), 09-Июл-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


66. "Стабильный выпуск СУБД MariaDB 10.6"  +1 +/
Сообщение от Shodan (ok), 10-Июл-21, 00:22 
Вообщето пострес поддерживает ACID и имеет WAL
Ответить | Правка | Наверх | Cообщить модератору

67. "Стабильный выпуск СУБД MariaDB 10.6"  –2 +/
Сообщение от Профессор (?), 10-Июл-21, 00:26 
ACID и WAL он поддерживает исключительно через flush, а значит это не ACID и WAL, а фуфло для школьников.
То, что Postgres зафлашил данные это не значит, что ядро их сразу сбросило на диск. Любая нормальная БД использует только direct io, но только не Postgres.
Ответить | Правка | Наверх | Cообщить модератору

68. "Стабильный выпуск СУБД MariaDB 10.6"  –2 +/
Сообщение от Профессор (?), 10-Июл-21, 00:31 
Под flush я имел ввиду fsync. На хабре есть статья по теме, возможно  это она, если нет сам найдёшь - https://habr.com/ru/company/oleg-bunin/blog/459444/
Ответить | Правка | Наверх | Cообщить модератору

93. "Стабильный выпуск СУБД MariaDB 10.6"  –2 +/
Сообщение от Аноним (119), 10-Июл-21, 12:59 
Это проблема того, что в современных ОС в общем случае невозможно гарантировать запись.
Единственный стопроцентный способ - работать напрямую с блочным устройством через direct IO в обход механизмов файловой системы, как это умеет Оракл.
Ответить | Правка | Наверх | Cообщить модератору

97. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (119), 10-Июл-21, 13:04 
А, вон внизу пишут, что Мария тоже так умеет. Молодцы.
Ответить | Правка | Наверх | Cообщить модератору

125. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от СеменСеменыч777 (?), 11-Июл-21, 10:44 
> А, вон внизу пишут, что Мария тоже так умеет. Молодцы.

это другое. это - сделать на устройстве свою файловую систему для себя, чтобы
обойти туповатые ext4/xfs/ufs и навороченных монстров btrfs/zfs/ntfs.

Ответить | Правка | Наверх | Cообщить модератору

99. "Стабильный выпуск СУБД MariaDB 10.6"  –1 +/
Сообщение от Пройессор (?), 10-Июл-21, 13:15 
Это не проблема ОС, ОС вообще не должна этим заниматься, это проблема кривых рук создателей Postgres. Direct IO именно для этого и создан. Если создатели Postgres не смогли direct io, а все остальные смогли значит, не OS виновата.
Более того, OS в идеале не должна (и не делает этого) предоставлять файловую систему которая на 100% позволит реализоваться СУРБД, таких файловых систем быть не может поскольку это всегда будет trade-off. Это задача СУРБД на голом девайсе самой реализоваться файловую систему которая будет заточенна именно под эту СУРБД.
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

101. "Стабильный выпуск СУБД MariaDB 10.6"  –1 +/
Сообщение от Аноним (119), 10-Июл-21, 15:51 
Я и не говорю, что это проблема ОС. Это проблема легаси. Постгрес очень старый проект, а в классических старых Unix-ах fsync вполне себе работал, и никому в голову не пришло добавить там уровень абстракции. Сейчас это уже не так просто.

Есть экспериментальная ветка https://github.com/anarazel/postgres/tree/aio, посмотрим, что получится.

Ответить | Правка | Наверх | Cообщить модератору

129. "Стабильный выпуск СУБД MariaDB 10.6"  –2 +/
Сообщение от Аноним (132), 11-Июл-21, 15:50 
> То, что Postgres зафлашил данные это не значит, что ядро их сразу сбросило на диск

Это имеено это и значит, что за чушь ты пишешь? Fsync работает на тех же механизмах что и direct io, если у тебя fsync не работает то и direct io не будет. У диска есть внутренний кеш, если ты не в курсе.

Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

130. "Стабильный выпуск СУБД MariaDB 10.6"  +1 +/
Сообщение от Профессор (?), 11-Июл-21, 16:02 
Иди мат.часть учи, преимущество direct io в том, что он не страдает от race condition в отличии от fsync. И эти люди ещё думают, что разбираются в программировании.
Ответить | Правка | Наверх | Cообщить модератору

135. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 16:50 
Как ты думаешь, дилетант, что означает флаг O_DIRECT_NO_FSYNC в параметре innodb_flush_method СУБД про которую ты ничего не знаешь, а мнение имеешь?
Ответить | Правка | Наверх | Cообщить модератору

137. "Стабильный выпуск СУБД MariaDB 10.6"  –1 +/
Сообщение от Профессор (?), 11-Июл-21, 16:57 
Причём тут innodb_flush_method если речь идёт о Postgres?

Ты думаешь, что вызов fsync данные сразу, как они были записаны через syscall типа write, отправляет на диск (в кеш диска)?
Или может всё таки в ядре есть логика переупорядочивания тех данных которые были записаны в один и тот же файл и для которого был вызван fsync, чтобы записать данные за один проход?
Что будет если несколько потоков будут писать в один файл и вызывать fsync?

Иди учи мат.часть.

Ответить | Правка | Наверх | Cообщить модератору

139. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 17:05 
Если ты утверждаешь что fsync не даёт достичь консистентности то он и в innodb не даст, дурик.
Ответить | Правка | Наверх | Cообщить модератору

141. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Профессор (?), 11-Июл-21, 17:11 
Да нет, это ты дурик. В innodb fsync используется потому, что некоторые файловые системы типа XFS не могут в direct io.

https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.ht...
```
O_DIRECT_NO_FSYNC: InnoDB uses O_DIRECT during flushing I/O, but skips the fsync() system call afterward. This setting is suitable for some types of file systems but not others. For example, it is not suitable for XFS. If you are not sure whether the file system you use requires an fsync(), for example to preserve all file metadata, use O_DIRECT instead. This option was introduced in MySQL 5.6.7 (Bug #11754304, Bug #45892).
```

https://bugs.mysql.com/bug.php?id=45892
```
Some testing by Domas has shown that some filesystems (XFS) do not sync metadata without the fsync. If the metadata would change, then you need to still use fsync (or O_SYNC for file open).

For example, if a file grows while O_DIRECT is enabled it will still write to the new part of the file, however since the metadata doesn't reflect the new size of the file the tail portion can be lost in the event of a crash.

Solution:

Continue to use fsync when important metadata changes or use O_SYNC in addition to O_DIRECT.
```

Т.е. оказывается, что в итоге в innodb используется direct io и fsync в качестве дополнения для XFS из-за кривизны XFS. Вот поэтому любая нормальная СУРБД и не использует файловые системы от ОС, а использует raw диск на котором сама управляет.

Ответить | Правка | Наверх | Cообщить модератору

142. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 17:15 
Теперь вот тут почитай https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.ht...

а то у тебя устаревшие данные на пару версий и больше не повторяй эту глупость про отсутствие fsync в mysql.

Ответить | Правка | Наверх | Cообщить модератору

143. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Профессор (?), 11-Июл-21, 17:18 
Я не могу понять, ты тупой или слепой. По твоей ссылке написано тоже самое что и в первой моей ссылке, что юзается fsync, а зачем он юзается я тебе показал в ссылке на баг. ПОТОМУ, ЧТО XFS НЕ МОЖЕТ ПРАВИЛЬНО В DIRECT IO.

Теперь ты идёшь в игнор.

Ответить | Правка | Наверх | Cообщить модератору

146. "Стабильный выпуск СУБД MariaDB 10.6"  –1 +/
Сообщение от Аноним (132), 11-Июл-21, 17:23 
Ты прямо классический пример ламера, воинствующий дилетант не способный даже прочитать документацию

As of MySQL 8.0.14, fsync() is called after creating a new file, after increasing file size, and after closing a file, to ensure that file system metadata changes are synchronized. The fsync() system call is still skipped after each write operation.

Ответить | Правка | Наверх | Cообщить модератору

148. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Профессор (?), 11-Июл-21, 17:28 
Это точно бот написаный школотой.
Ему же написали, что есть баг - ```some filesystems (XFS) do not sync metadata without the fsync. If the metadata would change, then you need to still use fsync (or O_SYNC for file open).```

Поэтому тупо всегда вызывается fsync на всякий случай, но direct io при этом включем, а в Postgres direct io всегда ВЫКЛЮЧЕН, что фатально в ряде случаев.

Ответить | Правка | Наверх | Cообщить модератору

151. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 17:38 
> что фатально в ряде случаев.

Нет, это заблуждение.

Ответить | Правка | К родителю #148 | Наверх | Cообщить модератору

144. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 17:18 
А это твой любимый race condition в официальной документации mysql:

Data loss is possible if redo log files and data files reside on different storage devices, and an unexpected exit occurs before data file writes are flushed from a device cache that is not battery-backed. If you use or intend to use different storage devices for redo log files and data files, and your data files reside on a device with a cache that is not battery-backed, use O_DIRECT instead.

Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

145. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Профессор (?), 11-Июл-21, 17:22 
Понял, он тупой - ```and your data files reside on a device with a cache that is not battery-backed, use O_DIRECT instead```

Именно про это я ему и писал, а теперь он это преподносит, как доказательство его правоты. Хотя это может быть бот.

Ответить | Правка | Наверх | Cообщить модератору

147. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 17:27 
В режиме O_DIRECT mysql делает fsync, чтож ты прочитать то не можешь, ппц ;-)

O_DIRECT or 4: InnoDB uses O_DIRECT (or directio() on Solaris) to open the data files, and uses fsync() to flush both the data and log files.

Ответить | Правка | Наверх | Cообщить модератору

149. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Профессор (?), 11-Июл-21, 17:30 
Чувак, ты просто критин, тебе уже 100 написали, что fsync вызывается в ДПОЛНЕНИЕ к direct io потому, что в XFS бага.
Ответить | Правка | Наверх | Cообщить модератору

150. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 17:36 
Ты не прав.

Во первых — в XFS нет бага :-)

Ответить | Правка | К родителю #149 | Наверх | Cообщить модератору

131. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (-), 11-Июл-21, 16:29 
Direct IO не использует page cache, значит не будет загрязнения page cache'а в отличии от fsync. БД сама кэширует, в случае с fsync будет двойное кеширование. Зачем?
Ответить | Правка | К родителю #129 | Наверх | Cообщить модератору

136. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 16:56 
Это просто другой способ работы с диском, основанный на использовании кеша ФС. Что бы избежать двойного кеширования можно уменьшить кеш БД или наоборот увеличить что бы вытеснить кеш ФС, в зависимости от того что вам больше нравится.

И fsync в innodb всё равно есть, не надо повторять эту чушь.

Ответить | Правка | Наверх | Cообщить модератору

138. "Стабильный выпуск СУБД MariaDB 10.6"  –1 +/
Сообщение от Профессор (?), 11-Июл-21, 16:59 
>Это просто другой способ работы с диском, основанный на использовании кеша ФС.

Который фатален в ряе случаев.

>Что бы избежать двойного кеширования можно уменьшить кеш БД или наоборот увеличить что бы вытеснить кеш ФС, в зависимости от того что вам больше нравится.

Это просто пипец. На этом с тобой общение закончил, это клиника.

>И fsync в innodb всё равно есть, не надо повторять эту чушь.

Причём тут innodb? Тебе пишут, что речь идёт про Postgres.

Ответить | Правка | Наверх | Cообщить модератору

140. "Стабильный выпуск СУБД MariaDB 10.6"  +/
Сообщение от Аноним (132), 11-Июл-21, 17:09 
> Который фатален в ряе случаев.

Глупость.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру