A diferença entre armazenamento estável e disco está principalmente na * garantia * de persistência de dados. Enquanto um disco * é * uma forma de armazenamento estável em muitos contextos, o termo "armazenamento estável" implica uma garantia mais forte e formal sobre a sobrevivência dos dados.
*
disco (ou mais geralmente, armazenamento em bloco): Um disco é um dispositivo físico ou virtual que armazena dados. É propenso a falhas:quedas de energia, mau funcionamento de hardware, falhas de software e até podridão de bits podem corromper dados. Enquanto os discos empregam mecanismos de correção de erros e redundância (como o RAID), eles não oferecem uma garantia de 100% de persistência de dados. A perda de dados é *possível *.
*
armazenamento estável: O armazenamento estável é uma abstração que * garante * persistência de dados além de falhas temporárias de energia ou travamentos do sistema. Se um sistema gravar dados para o armazenamento estável, ele deve * sobreviver a uma falha. Esta garantia é normalmente alcançada por meio de técnicas como:
*
redundância: Várias cópias de dados são armazenadas em diferentes dispositivos físicos.
*
Write-Ahead Logging (Wal): Os dados são gravados pela primeira vez em um log (normalmente na memória) antes de serem comprometidos com o armazenamento principal. Se ocorrer uma falha, o log permite a recuperação.
*
Sistemas de arquivos do diário: Esses sistemas de arquivos mantêm um diário (log) das alterações antes de serem gravadas no disco. Eles garantem a consistência dos dados, mesmo que o sistema trave no meio da gravura.
*
Recursos no nível de hardware: Alguns sistemas de armazenamento fornecem garantias baseadas em hardware de persistência de dados, mesmo diante de falhas graves.
em suma: * Um disco * pode ser * usado como armazenamento estável, mas não é um armazenamento inerentemente estável.
* Armazenamento estável * requer * mecanismos para garantir a sobrevivência dos dados além das falhas normais do disco. Ele fornece um nível mais alto de integridade e disponibilidade de dados.
Pense assim:um disco é uma ferramenta; O armazenamento estável é um conceito. Você pode usar um martelo para construir uma casa (a casa sendo o armazenamento estável), mas um martelo por si só não é uma casa. Da mesma forma, um disco é um componente que * pode ser usado * para criar um sistema de armazenamento estável, mas o disco sozinho não garante estabilidade.