5章分散システムと柔軟なデータの処理

この章では、スキーマがなく構造の定まっていないデータと分散型のテクノロジーを使ってビッグデータの問題に取り組みます。ここで得られたスキルは他の課題にも適用できるでしょう。作成しようとしているシステムは、Twitterなどを使ったオンライン投票の時代がやって来ることを予感させてくれます。TwitterのストリーミングAPIを使い、ハッシュタグを含むツイートなどを検索します。その結果を投票に見立てて集計します。必要に応じて、スケールアウトしてシステムを強化することも可能です。ユースケースは面白みのあるものですが、この章で主眼を置いているのはコアのコンセプトや利用するテクノロジー自体です。これから紹介するアイデアは、現実に即した機能が求められるすべてのシステムに直接適用できるはずです。

[警告]

スケールアウトあるいは水平方向のスケールとは、システムにノード(物理的なマシンなど)を追加して可用性やパフォーマンスまたは容量などを増やそうという試みです。Googleなどのビッグデータを扱う企業では、安価で入手しやすい(コモディティと呼ばれます)ハードウェアを追加してスケーラビリティを向上させています。Googleのソフトウェアやソリューションは、このしくみに適した形で作られています。一方、スケールアップあるいは垂直方向のスケールでは、個々のノードから利用できるリソースを追加することがめざされます。例えばマシンにメモリを追加したり、プロセッサのコア数を増やすといったことがスケールアップに該当します。 ...

Get Go言語によるWebアプリケーション開発 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.