Re[2]: WinFS когда будет?
От: Ночной Смотрящий Россия  
Дата: 14.06.17 15:27
Оценка: +1
Здравствуйте, ononim, Вы писали:

O>Потому что блочное устройство, файловая система и СУБД — три разных уровня абстракции, которые хорошо имплементятся именно в таком порядке


Ничего не слышал про возможность работы СУБД вообще без ФС?
Re[4]: WinFS когда будет?
От: Ночной Смотрящий Россия  
Дата: 14.06.17 15:27
Оценка:
Здравствуйте, ononim, Вы писали:

T>>SSD дает быстрый доступ, почему и теперь должно тормозить?

O>Оно все равно для типично файловых задач будет работать медленнее чем plain FS на том самом железе.

Зависит от типа операций.
Re: Было уже
От: Слава  
Дата: 14.06.17 15:36
Оценка:
Здравствуйте, turbocode, Вы писали:

T>Помню у MS была идея выпустить файловую систему операционной системы Windows на базе ядра SQLServer


https://en.wikipedia.org/wiki/OpenVMS

https://en.wikipedia.org/wiki/Files-11#Record-oriented_I.2FO:_Record_Management_Services

Record Management Services is the structured I/O layer of the VMS operating system. RMS provides comprehensive program support for managing structured files, such as record-based and indexed database files. The VMS file system, in conjunction with RMS, extends files access past simple byte-streams and allows OS-level support for a variety of rich files types. Each file in the VMS file system may be thought of as a database, containing a series of records, each of which has one of more individual fields. A text file, for example, is a list of records (lines) separated by a newline character. RMS is an example of a record-oriented filesystem.


Как писал главный эрлангист всея РФ Лео Валкин "но потом разработчиков стошнило, и они перестали это использовать".
Отредактировано 14.06.2017 15:43 Слава . Предыдущая версия .
Re[4]: WinFS когда будет?
От: Слава  
Дата: 14.06.17 15:41
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Это во многом уже есть и без БД. Версионность с откатами на уровне файлов, например.

Ops>А стабильность — это разве проблема сейчас? По-моему, с ССД эта проблема довольно редкая, даже при сбое питания. Разве что на серверах, но они и так в БД, а не прямо на диск пишут.

Да если бы. Увлекательное чтение: https://danluu.com/file-consistency/
Re[5]: WinFS когда будет?
От: Ops Россия  
Дата: 14.06.17 15:47
Оценка:
Здравствуйте, Слава, Вы писали:

С>Да если бы. Увлекательное чтение: https://danluu.com/file-consistency/


Чтиво. Сам-то когда с ужастиками сталкивался? Я написал где-то рядом честно — в начале нулевых. А сейчас в деревню переехал, где иногда свет отключают, и вот ни разу не было проблем.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[3]: WinFS когда будет?
От: ononim  
Дата: 14.06.17 15:49
Оценка:
O>>Потому что блочное устройство, файловая система и СУБД — три разных уровня абстракции, которые хорошо имплементятся именно в таком порядке
НС>Ничего не слышал про возможность работы СУБД вообще без ФС?
Я о многом слышал) Если от накопителя нужна только СУБД — не вопрос.
А данный топик о том чтобы использовать СУБД вместо файловой системы для задач, в которых сейчас используются файловые системы.
Как много веселых ребят, и все делают велосипед...
Re[4]: WinFS когда будет?
От: Ночной Смотрящий Россия  
Дата: 14.06.17 15:56
Оценка:
Здравствуйте, ononim, Вы писали:

O>>>Потому что блочное устройство, файловая система и СУБД — три разных уровня абстракции, которые хорошо имплементятся именно в таком порядке

НС>>Ничего не слышал про возможность работы СУБД вообще без ФС?
O>Я о многом слышал) Если от накопителя нужна только СУБД — не вопрос.
O>А данный топик о том чтобы использовать СУБД вместо файловой системы для задач, в которых сейчас используются файловые системы.

Тем не менее твои рассказы про уровни абстракции несколько отличаются от реальности.
Re[6]: WinFS когда будет?
От: Слава  
Дата: 14.06.17 15:57
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Слава, Вы писали:


С>>Да если бы. Увлекательное чтение: https://danluu.com/file-consistency/


Ops>Чтиво. Сам-то когда с ужастиками сталкивался? Я написал где-то рядом честно — в начале нулевых. А сейчас в деревню переехал, где иногда свет отключают, и вот ни разу не было проблем.


Я не верю, что ты успел это прочитать с такой скоростью. Также, я не верю, что ты вообще занимался низкоуровневой работой с файлами, всеми этими FILE_FLAG_WRITE_THROUGH.

Ну и, посыпавшуюся NTFS я видел много раз, как и RaiserFS. И битые файлы реестра видел много раз. Я ведь ремонтником работал.
Re[5]: WinFS когда будет?
От: ononim  
Дата: 14.06.17 16:07
Оценка:
O>>>>Потому что блочное устройство, файловая система и СУБД — три разных уровня абстракции, которые хорошо имплементятся именно в таком порядке
НС>>>Ничего не слышал про возможность работы СУБД вообще без ФС?
O>>Я о многом слышал) Если от накопителя нужна только СУБД — не вопрос.
O>>А данный топик о том чтобы использовать СУБД вместо файловой системы для задач, в которых сейчас используются файловые системы.
НС>Тем не менее твои рассказы про уровни абстракции несколько отличаются от реальности.
Реальность штука многогранная. В реальности некоторые мужчины в задницу сношаются. И некоторые женщины в задницу дают. Но это не повод объявлять вагинальный секс ненужным, как недостаточно универсальный механизм.
Как много веселых ребят, и все делают велосипед...
Re[7]: WinFS когда будет?
От: Ops Россия  
Дата: 14.06.17 17:36
Оценка:
Здравствуйте, Слава, Вы писали:

С>Я не верю, что ты успел это прочитать с такой скоростью.

Так чтиво же.
С>Также, я не верю, что ты вообще занимался низкоуровневой работой с файлами, всеми этими FILE_FLAG_WRITE_THROUGH.
А это не мои проблемы. Вы мне обеспечили надежные файлы — и хорошо.

С>Ну и, посыпавшуюся NTFS я видел много раз, как и RaiserFS. И битые файлы реестра видел много раз. Я ведь ремонтником работал.

Ну а в реале сколько видел? У себя, у семьи? Наверное, нисколько?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[8]: WinFS когда будет?
От: Слава  
Дата: 14.06.17 17:44
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>А это не мои проблемы. Вы мне обеспечили надежные файлы — и хорошо.


Вон из профессии.

С>>Ну и, посыпавшуюся NTFS я видел много раз, как и RaiserFS. И битые файлы реестра видел много раз. Я ведь ремонтником работал.

Ops>Ну а в реале сколько видел? У себя, у семьи? Наверное, нисколько?

Я не понимаю, к чем этот аргумент. Я например и СПИДом не болел — что же, его нет?
Re[9]: WinFS когда будет?
От: Ops Россия  
Дата: 14.06.17 17:53
Оценка:
Здравствуйте, Слава, Вы писали:

С>Вон из профессии.


Почему? Обоснуй. Если ты не умеешь собрать комп из говна и палок — то сам вон. А я за переиспользование чужих наработок, не вникая в детали.

С>Я не понимаю, к чем этот аргумент. Я например и СПИДом не болел — что же, его нет?


Так его и нет. Ты преувеличиваешь его масштабы и вероятность заразиться. Тот же сифилис намного опаснее, но ты же не переживаешь из-за него?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[10]: WinFS когда будет?
От: Слава  
Дата: 14.06.17 18:25
Оценка:
Здравствуйте, Ops, Вы писали:

С>>Вон из профессии.

Ops>Почему? Обоснуй. Если ты не умеешь собрать комп из говна и палок — то сам вон. А я за переиспользование чужих наработок, не вникая в детали.

Я-то как раз умею. А ты являешься ярким примером того, за что программистов не любят сотрудники IT Operations.
Re[3]: WinFS когда будет?
От: Kolesiki  
Дата: 15.06.17 15:51
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Kolesiki, Вы писали:


K>>ФС — это не только (и не столько) записи о файлах, сколько оптимальное управление пространством носителя. На хардах это были сектора и важнейшая задача ФС в том числе была оптимизация перемещения головки между цилиндрами.


PD>Это относится к функциям драйвера физического диска , а не драйвера файловой системы. Драйвер ФС просто передает запросы драйверу физического диска, а тот может оптимизировать перемещения головок. Тем более что к драйверу физического диска будут запросы от драйвера файловой системы, обслуживающего разные логические диски. Драйвер же физического диска о файловой системе понятия не имеет, не его дело.


Если разводить умные космические абстракции — да. На деле ФС должна знать особенности носителя. Скажем, для ленточного носителя удобнее все каталоги держать ближе к началу кассеты + резервировать некоторое про-во для расширения. Но это абсолютно не нужно на flash, зато желательна "кратная" работа с блоками, чтобы микрухи зря не насиловать. И совсем другая история с хардами — там нужно часто используемые файлы держать на краях диска (где наибольшая скорость), а саму запись оптимизировать по цилиндрам и даже выбирать нужный цилиндр, чтобы, например, туда мог поместиться весь каталог.
Простой командой "запиши по смещению 17 вот этот килобайт" ты НИЧЕГО не сможешь контролировать. Отсюда, все ваши абстракции "текут" — нельзя слишком высоко парить над железом!
Re[7]: WinFS когда будет?
От: Kolesiki  
Дата: 15.06.17 15:59
Оценка:
Здравствуйте, Слава, Вы писали:

С>Ну и, посыпавшуюся NTFS я видел много раз, как и RaiserFS. И битые файлы реестра видел много раз. Я ведь ремонтником работал.


Что ты этим хочешь доказать? Топик — про уместность использования СУБД вместо ФС. Разумеется, надёжность можно повышать вообще не прибегая к СУБД.
Re[4]: WinFS когда будет?
От: Pavel Dvorkin Россия  
Дата: 15.06.17 16:54
Оценка:
Здравствуйте, Kolesiki, Вы писали:

PD>>Это относится к функциям драйвера физического диска , а не драйвера файловой системы. Драйвер ФС просто передает запросы драйверу физического диска, а тот может оптимизировать перемещения головок. Тем более что к драйверу физического диска будут запросы от драйвера файловой системы, обслуживающего разные логические диски. Драйвер же физического диска о файловой системе понятия не имеет, не его дело.


K>Если разводить умные космические абстракции — да.


Это не абстракции, а модель многоуровневых драйверов в Windows.

K>На деле ФС должна знать особенности носителя. Скажем, для ленточного носителя удобнее все каталоги держать ближе к началу кассеты + резервировать некоторое про-во для расширения. Но это абсолютно не нужно на flash, зато желательна "кратная" работа с блоками, чтобы микрухи зря не насиловать. И совсем другая история с хардами — там нужно часто используемые файлы держать на краях диска (где наибольшая скорость), а саму запись оптимизировать по цилиндрам и даже выбирать нужный цилиндр, чтобы, например, туда мог поместиться весь каталог.


Ленты обсуждать не буду, так как последний раз имел с ними дело очень давно, а для дисков это никак не возможно, просто потому, что NTFS (или FAT) не знает, что находится под ней. А там может быть и простой том (часть винчестера), и составной том , лежащий на нескольких HDD(striped, RAID-5), и зеркало, а с другой стороны, и HDD, и SSD, и флешка.
В общем, стек драйверов — драйвер NTFS передает запрос драйверу нижележащему, тот, в свою очередь, нижележащему и т.д. При этом любой драйвер полагается на работу нижележащего драйвера и ничего не знает о том, как тот внутри себя устроен и с чем в реальности работает.

Подробности здесь. Кто такой Руссинович — надеюсь, знаешь.

https://books.google.ru/books?id=hxzECwAAQBAJ&pg=PA27&lpg=PA27&dq=%D0%A0%D1%83%D1%81%D1%81%D0%B8%D0%BD%D0%BE%D0%B2%D0%B8%D1%87+%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D1%8B%D0%B9+%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80&source=bl&ots=PsM25MxlYA&sig=YTymf1Yaqh1jBx3TTboMH2HrJK0&hl=ru&sa=X&ved=0ahUKEwje4o2kqcDUAhVrLZoKHU0uAL0Q6AEIOzAF#v=onepage&q=%D0%A0%D1%83%D1%81%D1%81%D0%B8%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D1%8B%D0%B9%20%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80&f=false
With best regards
Pavel Dvorkin
Отредактировано 15.06.2017 17:09 Pavel Dvorkin . Предыдущая версия . Еще …
Отредактировано 15.06.2017 17:00 Pavel Dvorkin . Предыдущая версия .
Отредактировано 15.06.2017 17:00 Pavel Dvorkin . Предыдущая версия .
Re[5]: WinFS когда будет?
От: m2l  
Дата: 15.06.17 18:19
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Это не абстракции, а модель многоуровневых драйверов в Windows.

PD>Ленты обсуждать не буду, так как последний раз имел с ними дело очень давно, а для дисков это никак не возможно, просто потому, что NTFS (или FAT) не знает, что находится под ней. А там может быть и простой том (часть винчестера), и составной том , лежащий на нескольких HDD(striped, RAID-5), и зеркало, а с другой стороны, и HDD, и SSD, и флешка.
PD>В общем, стек драйверов — драйвер NTFS передает запрос драйверу нижележащему, тот, в свою очередь, нижележащему и т.д. При этом любой драйвер полагается на работу нижележащего драйвера и ничего не знает о том, как тот внутри себя устроен и с чем в реальности работает.

Всё в общем то верно, но ntfs и этот стек дисковой подсистемы разрабатывалась почти тридцать лет назад и предназначались для жеских дисков того времени.
Более современные системы вроде ZFS/Btrfs имеют другой дизайн.
Re[6]: WinFS когда будет?
От: Pavel Dvorkin Россия  
Дата: 19.06.17 14:18
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Всё в общем то верно, но ntfs и этот стек дисковой подсистемы разрабатывалась почти тридцать лет назад и предназначались для жеских дисков того времени.

m2l>Более современные системы вроде ZFS/Btrfs имеют другой дизайн.

Я с их внутренним устройством незнаком, поэтому хочу лишь задать вопрос. Верно ли, что они напрямую работают с физическим диском (то есть осуществляют ввод-вывод по CHR или логическому номеру сектора) ? Или же они это делают все-таки через драйвер физического диска, а сами занимаются только своими структурами в рамках того раздела, который отведен этому тому на физическом диске ?

То, какой у них дизайн в рамках собственно тома, которым они управляют — несущественно, пусть там что угодно создают. А вот если они с физическим диском напрямую работают — это уже нечто иное.
With best regards
Pavel Dvorkin
Re[7]: WinFS когда будет?
От: m2l  
Дата: 19.06.17 19:47
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Я с их внутренним устройством незнаком, поэтому хочу лишь задать вопрос. Верно ли, что они напрямую работают с физическим диском (то есть осуществляют ввод-вывод по CHR или логическому номеру сектора) ? Или же они это делают все-таки через драйвер физического диска, а сами занимаются только своими структурами в рамках того раздела, который отведен этому тому на физическом диске ?

Они делают это через драйвер блочного устройства, которым не обязан быть физический диск.

PD>То, какой у них дизайн в рамках собственно тома, которым они управляют — несущественно, пусть там что угодно создают.

Одна ФС может располагаться поверх нескольких "томов" или устройств без разметки разделов. При этом, что пришло в голорву на всидку:
1. Более быстрые устройства могут использоваться в качестве буфера доступа к более медленым;
2. Запись динамически балансируеться между устройствами по их пропускной способности;
3. Выбирает размер своих секторов в зависимости от размера секторов устройств включенных в ФС;
4. Динамическая репликация/востановление при возникновении событий подключения/отключения и ошибок ввода/вывода на блочном устройстве;
Если всё это не подподает под "На деле ФС должна знать особенности носителя", то мне странно...

PD>А вот если они с физическим диском напрямую работают — это уже нечто иное.

iSCSI/файл/программный RAID?
По твойму если файловая система не шлет SCSI команды прямо в шину — то она не знает особеностей блочного устройства поверх которого работает?
С каких пор IOCTL_DISK_GET_DRIVE_GEOMETRY_EX/IOCTL_DISK_GET_CACHE_INFORMATION/IOCTL_DISK_GET_DISK_ATTRIBUTESIOCTL_DISK_GET_CLUSTER_INFO и т.д. противоречат Руссиновичу?
Re[8]: WinFS когда будет?
От: Pavel Dvorkin Россия  
Дата: 20.06.17 02:19
Оценка:
Здравствуйте, m2l, Вы писали:

PD>>Я с их внутренним устройством незнаком, поэтому хочу лишь задать вопрос. Верно ли, что они напрямую работают с физическим диском (то есть осуществляют ввод-вывод по CHR или логическому номеру сектора) ? Или же они это делают все-таки через драйвер физического диска, а сами занимаются только своими структурами в рамках того раздела, который отведен этому тому на физическом диске ?

m2l>Они делают это через драйвер блочного устройства, которым не обязан быть физический диск.

Так и в NTFS не определено, что там ниже. Там потенциально может быть все, что угодно. Например, драйвер томов, который реализует RAID-5.

m2l>Одна ФС может располагаться поверх нескольких "томов" или устройств без разметки разделов. При этом, что пришло в голорву на всидку:


Есть и Windows. RAID5, stripped.

m2l>1. Более быстрые устройства могут использоваться в качестве буфера доступа к более медленым;


Вот о таком в Windows не слышал.

m2l>2. Запись динамически балансируеться между устройствами по их пропускной способности;


Кем ? Вот это основной вопрос. Драйвером ФС (ZFS etc.). или все же драйвером блочного устройства ? В Windows это есть, но занимается этим драйвер физического диска или драйвер томов. Например, если ниже зеркало, то драйвер томов при чтении может решить , с какой половины зеркала читать, чтобы было быстрее, и передать запрос драйверу физического диска, указав ему, с какого диска читать и по какому номеру логического сектора(ов)

m2l>3. Выбирает размер своих секторов в зависимости от размера секторов устройств включенных в ФС;


Видимо, под своим сектором ты понимаешь здесь не сектор HDD, который всегда 512 байт, а нечто иное. Если это единица размещения файла, то в NTFS это называется кластером. Об этом речь ? Если да, то уточни — это при создании ФС или же во время работы динамически. Первое, очевидно, есть в NTFS , о втором не слышал, если такое там есть — дай ссылку, если можешь, было бы интересно узнать.

m2l>4. Динамическая репликация/востановление при возникновении событий подключения/отключения и ошибок ввода/вывода на блочном устройстве;


Э нет, минуту. При возникновении ошибок об этом в Windows узнает драйвер физического диска, и, конечно, сообщит об этом драйверу NTFS. Тот должен предпринять меры, например, произвести горячую замену кластера, но для этого он в своих таблицах делает изменения, но для записи их опять обращается к драйверу физического диска.

PD>>А вот если они с физическим диском напрямую работают — это уже нечто иное.

m2l>iSCSI/файл/программный RAID?
m2l>По твойму если файловая система не шлет SCSI команды прямо в шину — то она не знает особеностей блочного устройства поверх которого работает?
m2l>С каких пор IOCTL_DISK_GET_DRIVE_GEOMETRY_EX/IOCTL_DISK_GET_CACHE_INFORMATION/IOCTL_DISK_GET_DISK_ATTRIBUTESIOCTL_DISK_GET_CLUSTER_INFO и т.д. противоречат Руссиновичу?

Да никак они не противоречат. Они даже из 3 кольца доступны, можешь из своего приложения заняться изменением геометрии разделов. Только вот поступит этот DeviceIOControl , естественно, в диспетчер ввода -вывода после перехода в 0 кольцо, а тот перенаправит его не драйверу NTFS, которому до DRIVE_GEOMETRY и дела нет, а драйверу физического диска, который и займется всей этой геометрией. Ты можешь спокойно сделать этот вызов для диска, на котором вообще нет никакой файловой системы, что , кстати, и делает инсталлятор Windows.
With best regards
Pavel Dvorkin
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.