分散システムの限界について知ろう 大村伸吾 @everpeace 2018/07/02 株式会社エフ・コード 社内勉強会
分散型システムとは何でしょうか? なぜそんなに複雑なのでしょう? 分散型システムについて熟考中のクマ 目次 はじめに 分散型システムとは何か? なぜシステムを分散させるのか? データベースのスケーリングの例 分散型システムのカテゴリ 分散型データストア 分散型演算 分散型ファイルシステム 分散型メッセージング 分散型アプリケーション 分散型台帳 まとめ はじめに 目覚ましい進歩を遂げているテクノロジが世界中に拡大する中、分散型システムは広く知れ渡ってきました。コンピュータサイエンスにおいては、複雑かつ果てしない研究分野と言えます。 本記事は、基本的な方法を使って、この分散型システムを紹介しています。詳細まで深く掘り下げていくのではなく、こうしたシステムの様々なカテゴリを垣間見ていくことを目的としています。 分散型システムとは何か? 分散型システムを最もシンプルに定義するとしたら、エンドユー
Cassandra 先ほど触れたCassandraは分散型のNoSQLデータベースで、CAP定理のAとP(可用性と分断耐性)の特性を基準に最終的な一貫性が確保されています。ただ、このように言ってしまうと少し誤解を招くかもしれません。というのも、実際のところCassandraの設定は非常に柔軟性が高く、可用性を犠牲にして強い一貫性を提供することもできるからです。ですが、そうした使用ケースは一般的ではありません。 Cassandraでは、 コンシステントハッシュ法 を使って、渡そうとするデータをクラスタのどのノードが管理するのかを決めています。そしてその際は、データを複製するノード数を示す レプリケーションファクタ を設定します。 注釈: レプリケーションファクタ=3 挿入(キー、値) Cassandraのノード(コーディネータ) Cassandraのノード ハッシュ(キー)=2 ノード#2
BitTorrent BitTorrentは、Web上でtorrentを使って大容量ファイルを転送する際に広く使われているプロトコルです。その主な目的はメインサーバを経由することなく、ネットワーク内のさまざまなピア間でのファイル転送を容易にすることです。 BitTorrentクライアントを使うと、世界中の複数のコンピュータに接続してファイルをダウンロードします。.torrentファイルを開くと、コーディネーターのような役割を果たすマシン、いわゆる トラッカ に接続されます。トラッカはピアを見つけ出し、欲しいファイルを持っているネットワーク内のノードを示してくれます。 *注釈: トラッカ ・オンラインのノードをトラッキングする ・ノードが何のファイルを提供しているかを認識する Seeder:シーダ Leeche: リーチャ 破線:ファイル転送 実線:メタデータ転送* ネットワークのサンプル
分散システムについては、もう随分と前から学びたいと思っていました。ただ、それは一度首を突っ込んだら最後、ゴールのない迷路に迷い込むようなものなのです。どこまでも続いているウサギの穴のようなものです。分散システムに関する文献は星の数ほど存在します。様々な大学からたくさんの論文が発表されているばかりでなく、膨大な数の書籍もあるのです。私のような全くの初心者には、どの論文を読んだらいいのか、どの書籍を買ったらいいのか、見当もつきません。 そんなとき、一部のブロガーが、 分散システムエンジニア (それがどういう意味であれ)になるなら知っておくべき論文というものを推奨しているのを見つけました。その一部を紹介しましょう。 FLP , Zab , Time, Clocks and the Ordering of Events in a Distributed Systems , Viewstamped
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く