Ceph: Por que um número maior de “grupos de colocação” é uma “coisa ruim”?

5

Eu tenho pesquisado bancos de dados distribuídos e sistemas de arquivos, e enquanto eu estava originalmente interessado principalmente no Hadoop / HBase porque sou um programador Java, encontrei este documento muito interessante sobre o Ceph , que um grande ponto positivo, o agora está integrado no kernel do Linux.

Ceph como uma alternativa escalável ao HDFS

Existe uma coisa que eu não entendi, e espero que um de vocês possa me explicar. Aqui está:

A simple hash function maps the object identifier (OID) to a placement group, a group of OSDs that stores an object and all its replicas. There are a limited number of placement groups to create an upper bound on the number of OSDs that store replicas of objects stored on any given OSD. The higher that number, the higher the likelihood that a failure of multiple nodes will lead to data loss. If, for example, each OSD has replica relations to every other OSD, the failure of just three nodes in the entire cluster can wipe out data that is stored on all three replicas.

Você pode me explicar por que um número maior de grupos de veiculação aumenta a probabilidade de perda de dados? Eu teria pensado que é o contrário.

    
por monster 22.04.2011 / 13:20

1 resposta

3

Atualmente, estou investigando o ceph como uma alternativa ao nosso armazenamento de dados. Eu encontrei sua pergunta e fiz algumas leituras e espero que essa ideia faça sentido. A forma como eles fazem a distribuição dinâmica de dados sugere que, se você tiver um número alto de OSDs (significativamente mais do que o nível de replicação). Então parece que seria possível (e provável) que o algoritmo de distribuição colocasse algumas partes de arquivos em um grande número de OSDs, de modo que se você perdesse N nós (onde N é maior que seu nível de replicação) é altamente provável que você perderia seus dados (ou pelo menos tem uma quantidade significativa de corrupção). O que não é realmente uma surpresa. Eu esperaria ter perda de dados se você perdesse 3 nós em seu cluster (como seu exemplo), a menos que seu nível de replicação fosse 4 ou superior.

    
por 15.08.2011 / 23:45