JBOD: Just a Bunch of Disks
Estava em um reunião para definir a estratégia de storage do cliente, quando alguém comentou (não lembro das palavras exatas, mas era similar a):
“Vocês querem usar um JBOD para guardar os dados?”
Que raios seria um JBOD? Essa é uma sigla curiosa… mais curioso é o seu significado: Just a Bunch of Disks. Essa história já faz 6 anos e vou dizer que foi um grande aprendizado, porque não tinha a menor ideia sobre Storage. Essa foi uma das grandes motivações que levou a estudar esse assunto e curiosamente meus primeiros posts eram relacionados a disco.
A primeira tentativa foi traduzir a sigla JBOD para o português: ABDD – Apenas um Bando De Discos, ou seja, não possui absolutamente nenhum significado.
Logo em seguida, um colega me explicou o básico sobre discos e como que o servidor enxergava. A explicação foi bem didática e começou falando sobre como os discos eram fisicamente adicionados em um servidor. Na realidade, o servidor (a máquina física) não tem espaço para adicionar dezenas de discos, por isso, existe um gabinete específico para adicionar esses discos.
Esse gabinete estava ligado a um servidor, que enxergava esses discos normalmente como “apenas um bando de discos”. Isso significa que haveria um monte de letras D:, E:, F:, G:, etc… cada um representando um disco físico. Portanto, essa é uma organização de discos denominada JBOD.
Agora sempre que me falam de JBOD (Just a bunch of disks), imagino que seja literalmente a foto acima: um monte de discos disponiveis para o sistema operacional.
Em geral, no mundo SQL Server, não gostamos do modelo JBOD – queremos algo que forneça uma redundância da informação. Daí surge a expressão RAID - Redundant Array of Independent Disks, que fornece a capacidade de paridade ou espelhamento dos discos.
Por fim, deixo uma pergunta para ver se o conceito está claro. Qual a diferença entre o JBOD e RAID 0?
Comments
Anonymous
April 07, 2014
Fala Catae blz? Também não conhecia o JBOD. Acredito que a maior diferença é que o RAID divide o dados nos discos e isso gera performance. Coisa que o JBOD não faz. Um abraço, Demétrio SilvaAnonymous
April 07, 2014
Catae, blz?! RAID 0 é também conhecido como Stripping, onde o dado a ser gravado é dividido entre os discos que compõe o RAID. Este link explica de maneira bem didática como funciona este e outros modelos de RAID: http://www.acnc.com/raidedu/0 Eu particularmente tenho dúvidas sobre a performance deste modelo de RAID. Já vi pessoas falando que você ganha em capacidade de transferência, multiplicada pela quantidade de discos, outros já falam que não há ganho pois a controladora vai escrever em um disco de cada vez e ler de todos eles para ter o dado completo... enfim... Para não fugir do tema, uma dúvida sobre JBOD. Com este modelo, não é possível implementar nenhum tipo de redundância de informação? Ficamos dependentes somente de uma estratégia de backup? Em que cenário é interessante o uso deste modelo? Abraço, Erickson RicciAnonymous
April 08, 2014
É isso mesmo Demétrio! No mundo SQL, dificilmente falamos sobre JBOD porque ele não oferece nenhuma forma de redundância em relação ao disco físico. RAID adiciona uma capacidade de virtualizar os discos, podendo adicionar espelhamento, striping ou paridade. Obrigado pelo seu comentário!Anonymous
April 08, 2014
Erickson,
- RAID0 é mais rápido em tudo. A controladora utiliza I/O assíncronos para operações em discos, portanto, a capacidade de transferência é proporcional ao número de discos. No mundo de storage isso se chama "IO tagging" - com exceção: alguns discos (tipicamente IDE e SATA) não suportam esse recurso.
- JBOD é literalmente apenas um monte de discos. Estou vendo aqui na minha frente um HUB USB com vários discos conectados. Isso é apenas um monte de disco (JBOD) usando USB. Se você utilizar uma controladora RAID, então você está adicionando uma camada de inteligencia, que oferece melhoria em desempenho e alta disponibilidade. Sinceramente não vejo o JBOD como uma realidade para banco de dados. Eventualmente, o JBOD seria uma forma RAW de enxergar os discos. Existe a possibilidade de criar uma arquitetura de AlwaysOn com JBOD...