まえがき
ソフトウェアの話題をするときは、必ずデータについても語ることになります。例えば、データはどれくらいあるのか、データはどこに保存されているのか、データはどういう意味なのか、データはどこから得られたものか、データが変化したときには何が起こるのか、などです。このような問いかけは、長年にわたって変わらず存在してきたものです。これに対して、データを管理するためのテクノロジーは急速に変化しています。現在のデータベースでは、膨大なオンラインデータセットに瞬時にアクセスできます。分析システムは、複雑で深遠な質問に答えてくれます。イベントストリーミングプラットフォームは、さまざまなアプリケーションをつなぐだけでなく、ストレージ機能やクエリ処理も提供してくれ、さらにデータ管理ツールも組み込まれています。
このようなテクノロジーの進化に伴い、ユーザーの期待するものも、レベルが高いものになっています。ユーザーは、モバイルからデスクトップに切り替えたり、場所を変更したり、アプリケーションを切り替えたりする際に、企業内のさまざまな場所にある、たくさんのバックエンドシステムに接続します。このようなときに、ユーザーはシームレスでリアルタイム性のある体験(エクスペリエンス)を期待します。これを実現するのは、多くの人々が考えているよりもはるかにたいへんなことです。この課題を解決するには、大規模なソフトウェア資産、データ、人材が必要です。しかも、(少なくともユーザーには)1つの統合システムに見えるようにしなければならないのです。
このような全社的なシステムを管理することは、常に暗黒面を見ることになります。私は、LinkedInを支えるインフラストラクチャーの構築に携わったときに、このことを実感しました。LinkedInのデータはすべて、24時間休むことなく生成されています。しかし、私がLinkedInに入社した当時は、毎日の終わりに大規模で遅いバッチ式のデータダンプを行い、自家製のデータフィードを利用した単純な検索機能を使っていました。LinkedInのデータを活用するためのインフラストラクチャーは、もう限界を迎えていました。「終業時のバッチ処理」という概念は、私にはパンチカードやメインフレームの時代の遺物のように感じました。実際問題として、グローバルビジネスの場合、一日は終わることなく、終業時などという時間帯はありません。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access