Това е много забавна тема
'>
Нямам категорично мнение по въпроса. Но мога да споделя малко размисли и страсти по темата
'>
Първо, зависи от RDBMS-a. Едно е mysql (myisam или innodb), друго е postgresql, трето е oracle.
Myisam използва 2-3 файла на таблица, като когато таблицата е голяма, тези 2-3 файла съответно са големи. При innodb, данните на всички таблици се пазят в 1-2 файла ibdata, при postgresql, данните са организирани в малки и много на брой файлове, при oracle...там има ASM, raw devices, всъщност точно там нещата са най-"различни"
'>
Доколко зависят нещата от файловата система? Мисля, че тук се намесват и по-забавни фактори от сорта на memory management. postgresql naprimer ползва shared memory, като много неща зависят от това доколко си му позволил да ползва (има /proc tunnables, покрай самата конфигурация на базата). Не знам дали вече не го знаете, но postgresql, колкото и прекрасен RDBMS да е, не се scale-ва добре. Нямате ли достатъчно RАМ да се вдигне там базата, производителността е отвратителна, в сравнение с mysql или oracle. От друга страна ядрото си прави vfs/pagecache кеширане. Цялостната картинка предполагам много зависи от системата и типа workload.
Човек би казал че при Oracle нещата стоят най-странно, но напротив, точно там нещата най-малко зависят. Даваш му някакъв raw device да си го достъпва с O_DIRECT, или пък някакво блоково устройство, което му се добавя към ASM-a и оракъла знае най-добре как да се оправи, като ядрото му пречи максимално малко. Той си се оправя с memory management-a, нямаш двойно кеширане и подобни глупости.
За xfs не мога да говоря, защото никога не съм си имал вземане-даване с тази файлова система. Що се отнася до reiserfs/ext, нещата са прости. По принцип, reiserfs си има дървовидно индексиране на файловете в една директория, което много ускорява нещата, особено в случая с postgresql. ext3 има подобна функционалност при 2.6 ядрата, но само ако човек се ъъ "постарае" малко. reiserfs е малко нестабилна работа, подобно на психиката на човека, който я е писал (в момента е подсъдим, заради убийството на жена си).
В конкретния случай, в който ползвате postgresql, базата е голяма и с много таблици, имате ext3 файлова система и нямате организация с двоични дървета на dentries, предполагам нещата могат да загрубеят. Онези големи глави от kernel.org неотдавна разкриха защо FTP сървърът им се бавел бая - пуснаха oprofile на сървърите и установиха, че syscalls от сорта на getdents() може да им влачат за интервали от порядъка на секунди, което е МНОГО.
Според мен обаче reiserfs е отмираща идея, след като голяма част от "гениалните" хрумвания бяха възприети в ext3. Няма да крия, че бях привърженик на тази файлова система доста дълго време...сега мнението ми се е променило доста
'>
Това всичкото е само по отношение на производителност...за стабилност (където трябва да се разглеждат разни журнални възможности), има още доста да се говори.
И накрая, в този paper не се говори нищо за клъстерни файлови системи, нещо, което е доста важно в последно време с нарастването на заявките, поне според мен. Там нещата придобиват малко различни измерения. opensource решенията се свеждат до OCFS или GFS, а двете конкретни имплементации са някак си...философски различни. Точно за тази тематика може да се изпишат още не знам колко поста, според мен OCFS предлага по-добра производителност на цената на имането на малко повече сиво вещество в главата. Там много добре трябва да се прецени балансът между fault tolerance и грозните ненужни fencing *събития*.
Между другото, ако разговорът се изроди в дискусия за клъстърни файлови системи, бих бил доста доволен, съжалявам за което
'> Ще ми е интересно да чуя мнението на някой, разбиращ повече от клъстерни файлови системи. Аз съм все още лаик в тази област.