最近では珍しくもなくなった"Quorum"という言葉。Zookeeper, etcd, Serfといったクラスタ中でデータのレプリケーションを行ってくれるようなツールや、Cassandra, Riakといった分散データベース(NoSQL系)のようなツールにおいても、データの複製に一貫性を持たせる仕組みとしてよく聞かれます。 しかしながら、多くのスライドやWebの記事を読んでも、"Quorum"という語が意味するところは要するに「過半数ノードによる多数決」というような説明が多いように感じていました。 にも関わらず、"Quorum"と呼ばれているのはなぜか?そんな疑問を持っていたので、この機会に調べてみました。 そうしたら、"Quorum"は過半数/多数決という概念を一般化した非常に抽象でパワフルな概念だということがわかりましたのでここにまとめておきたいと思います。 分散システムにおけるデータ
![最近よく聞くQuorumは過半数(多数決)よりも一般的でパワフルな概念だった - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/1c84c8213009dffe296f44d5c351191d344ea58f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU2JTlDJTgwJUU4JUJGJTkxJUUzJTgyJTg4JUUzJTgxJThGJUU4JTgxJTlFJUUzJTgxJThGUXVvcnVtJUUzJTgxJUFGJUU5JTgxJThFJUU1JThEJThBJUU2JTk1JUIwJTI4JUU1JUE0JTlBJUU2JTk1JUIwJUU2JUIxJUJBJTI5JUUzJTgyJTg4JUUzJTgyJThBJUUzJTgyJTgyJUU0JUI4JTgwJUU4JTg4JUFDJUU3JTlBJTg0JUUzJTgxJUE3JUUzJTgzJTkxJUUzJTgzJUFGJUUzJTgzJTk1JUUzJTgzJUFCJUUzJTgxJUFBJUU2JUE2JTgyJUU1JUJGJUI1JUUzJTgxJUEwJUUzJTgxJUEzJUUzJTgxJTlGJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1mMjQ0NmU2OGMwYjRmZWRlNTU3ZDk2NjMwMWIxZjFlNQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBldmVycGVhY2UmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTljM2VjODAzM2EwZGZjMDU1MGQ3ZjA3MTA2YWUxMGE4%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dee743b873daf98549e764e6b1fb64baf)