Sistema(s) de arquivos Linux com garantias ACID?

Sistema(s) de arquivos Linux com garantias ACID?

O que eu poderia fazer para obter um sistema de arquivos Linux, com as mesmas garantias que as garantias ACID para bancos de dados?

Parece que os sistemas de arquivos não avançaram até o ponto que eu presumi que seria o padrão da indústria para tudo até agora.
Pelo menos não consegui encontrar nenhum resultado de pesquisa para isso.

O melhor que consegui descobrir é que eles conseguem manter a suaestruturaldados intactos. Mas não o conteúdo real do arquivo. (Embora eu não saiba o suficiente sobre ZFS, muito menos sobre Lustre.)

Estou abordando isso errado? O sistema de arquivos está na camada errada? (Talvez a camada de bloco seja a correta?)

Eu não quero exatamente rodar o ext4 em cima do PostgreSQL via FUSE, ou alguma outra abominação Lovecraftiana impossível como essa. ;)

EDITAR: Como administrador, pretendo configurar um servidor comercial de alta confiabilidade (para arquivos,nãobancos de dados) com ele. Obviamente, nesse caso, um sistema de arquivos com garantias ACID é o que uma empresa deseja em seus servidores. Não consigo pensar em nenhum site StackExchange mais apropriado para isso do que serverfault.

Responder1

Tenho certeza de que você está abordando isso de maneira errada, a menos que tenha requisitos muito peculiares. Algum trabalho acadêmico foi feito em torno de sistemas de arquivos ACID (vejaeste papel), incluindo o Amino FS (usando Berkeley DB como armazenamento), mas:

Os sistemas de arquivos com registro em diário são transacionais e, portanto, incluem pelo menostipo deincluem atomicidade; o isolamento não é realmente um problema no nível FS porque os bloqueios de arquivos são (geralmente) impostos pelo kernel (Windows) ou pelo código do aplicativo (semelhante ao Unix, consulte a discussãoaquipara alguns detalhes); e durabilidade e consistência sãometasde qualquer sistema de arquivos, embora todos os sistemas de arquivos tenham algumas desvantagens (no entanto, o ZFS enfatiza fortemente a integridade dos dados, mesmo através de problemas de hardware).

Eu nunca escrevi um FS, então partes deste parágrafo são conjecturas. O maior problema com sua abordagem é que ser totalmente ACID geralmente é tratado no DBMS ou no nível do aplicativo, e eususpeitoisso é por uma boa razão, porque seria terrivelmente ineficiente fornecer, por exemplo, isolamento completo de transações sequenciais em arquivos no nível FS. No artigo do primeiro link, seus benchmarks mostram que seu protótipo FS é significativamente mais lento, com uma sobrecarga maior para quase todas as operações, em comparação com o ext3.

informação relacionada