AWSを活用したデータエンジニアリング戦略の成功ガイド
2019年5月にOnica.com/blogで初公開された記事です
ビッグデータの可能性は誰もが認めるところですが、依然として一部の企業では、データと分析がレガシーな世界にとどまっています。それは、オンプレミスサーバーに構造化データを保存し、専用ソフトウェアで分析するという旧来型の環境です。
ビッグデータに適した手法への移行を目指す組織にとって、この旧来の仕組みは大きな障害となります。しかし、ここ数年のデータエンジニアリングの変革は非常に深刻なものであり、新しい手法やテクノロジーを採用しない組織は、重大なビジネス上のメリットを逃しかねません。だからこそ、データエンジニアリングを改めて見直し、ビジネスの成功にどう活かせるかを考えることが重要なのです。
データエンジニアリングとは?
データエンジニアリングの定義自体は、近年大きく変わっていません。しかし、その基盤となる技術やツールは劇的に進化しました。データエンジニアリングの中核は、データサイエンスと分析を支える土台であり、データテクノロジーに関する幅広い知識、適切なデータガバナンスとセキュリティ、そしてデータ処理に対する深い理解によって成り立っています。
リレーショナルデータベースやトランザクションデータベースといった従来型の技術も、ビッグデータアーキテクチャの中で依然として重要な役割を果たしていますが、新たに登場したサービスがこの分野にイノベーションをもたらしています。データエンジニアリングの分野において、AWSはまさにゲームチェンジャーです。主要なサービスには以下のようなものがあります。
Amazon DynamoDB
Amazon DynamoDBはNoSQLデータベースで、ドキュメント、グラフ、キーバリュー、インメモリ、検索など多様なデータモデルをサポートし、リレーショナルデータベースの代替となります。モダンワークロードに求められる、スケーラブルで柔軟性が高く、高性能なデータベースを実現します。
Apache Hadoop
Apache Hadoopはオープンソースのフレームワークで、クラスタリングを活用して大規模データセットを処理できます。ワークロードのニーズに応えられる豊富なツールエコシステムを備えています。AWS上ではAmazon Elastic MapReduce(EMR)を使ってHadoopを実行でき、Hadoopエコシステム内の関連アプリケーションのクラスタ管理を大幅に簡素化できます。
Amazon EMR
AWS上でHadoopエコシステムを管理するためのサービスであるAmazon EMRは、Amazon EC2インスタンス全体でコスト効率よくデータを処理することを可能にします。Apache SparkやHBaseなど他の分散フレームワークの実行もサポートしており、Amazon S3やAmazon DynamoDBといったAWSのデータストアとの連携も実現します。
Amazon Redshift
Amazon Redshiftは高速かつスケーラブルなデータウェアハウスで、データレイクへのクエリ拡張を簡単に行えます。機械学習、並列クエリ実行、カラムナストレージ技術により、他のデータウェアハウスの10倍という高速なパフォーマンスを発揮します。
AWS Glue
AWS Glueは完全マネージド型の抽出・変換・ロード(ETL)サービスで、分析用データの準備とロードを容易にします。一度カタログ化されたデータは、即座に検索・クエリ可能となり、ETL処理にもすぐに利用できます。
Amazon Athena
Amazon Athenaはインタラクティブなクエリサービスで、標準SQLを使用してAmazon S3上のデータを手軽に分析できます。AWS Glue Data Catalogとも統合されており、複数サービスにまたがる統合メタデータリポジトリの作成、データソースのクロールによるスキーマ検出、新規・変更されたテーブルやパーティション定義の反映、スキーマバージョン管理などが可能です。
何事にも共通していえますが、重要なのは、データの形式やモデルの面で自社のセキュリティ要件を満たす、最適なコンポーネントを選択することです。
AWSを活用したデータエンジニアリング:導入事例
具体的な例として、ある顧客が月次レポートシステムを通じてデータを処理していたケースをご紹介します。レポートは必要な情報こそ提供していましたが、収集済みの膨大なデータからさらなる価値を引き出せていませんでした。私たちはこの課題に対し、自動化されたパイプラインと組み込みのデータチェック機能を備えたデータレイクを構築し、レポートシステムへ送信される前に全データがそこを経由する仕組みを実装しました。
このコンポーネントをデータアーキテクチャに追加したことで、顧客は既存のレポートシステムを維持しながら、元のデータセットへの柔軟なアクセスを実現し、コスト管理や収益性に関する臨時の問い合わせにも迅速に答えられるようになりました。多くの企業が日常業務でデータと分析を活用していても、適切なツール、特に新しいテクノロジーを統合することで、データをより大きなビジネス成果へとつなげられることを示す好例といえるでしょう。
データ処理の実装
データエンジニアリングを最大限に活用するには、適切なデータアーキテクチャのコンポーネントを揃えるだけでは不十分です。データ処理の強固な基盤も不可欠です。データ処理には、データライフサイクル全体を通じたデータ移動だけでなく、品質チェックや不良データのクリーニング技術によるデータの最適化も含まれます。
データ処理の中でも特に重要なのがデータ取り込み(インジェスト)です。本質的には、データの発生地点からストレージシステムへの移動にすぎませんが、その実現方法は複数あります。データ取り込みは自動化することで真価を発揮し、少ないメンテナンス工数で常に新鮮なデータを保つことができます。ストリーミングデータパイプラインによる継続的なリアルタイム処理、バッチ処理による非同期処理、さらには両方の組み合わせも可能です。どの取り込み方式を選ぶべきかは、対象データの種類、ソース、宛先によって決まります。AWSは独自のデータ取り込み手段を複数提供しており、例えばS3への完全マネージド型リアルタイムストリーミングを可能にするAmazon Kinesis Firehose、オンプレミスのストレージやHadoopクラスターを一括移行できるAWS Snowball、オンプレミスのデータ処理プラットフォームとAmazon S3ベースのデータレイクを統合するAWS Storage Gatewayなどが挙げられます。
リレーショナルデータベースを扱う場合、取り込みのもうひとつの要素が抽出・変換・ロード(ETL)です。ETL処理では、重複排除を行い、不良データをクリーニングしてフラグを付け、データベースのフォーマットに合わせて変換します。Python、Java、Scalaなどの言語と、SparkやFlinkといったフレームワークを用いて実装されるのが一般的で、データ品質向上の要となります。
どのデータベースタイプを採用する場合でも、最終的に得られるデータが正確で信頼できるものになるよう、強固なデータ品質プログラムが重要です。これには、AWS Identity and Access Management(IAM)などのツールによるデータアクセス権限の明確化と設定、標準化と突合のためのプロセス策定、データ整合性を維持するための品質チェックの導入が含まれます。データ品質という概念自体は新しいものではありませんが、高品質なデータを実現するためのリソースは近年大きく進化しました。最新のデータツール群を活用して、私たちのチームはある顧客向けに自動化されたデータ品質レポートを構築しました。これは、ソースシステムのデータとレポートダッシュボードにつながる下流システムのデータを定期的に自動比較する仕組みで、システムから出力されるデータの品質に対して前例のない可視性を提供します。これにより、エラーや品質劣化を先回りして検知し、データ利用者からの指摘が上がる前に問題を修正できるようになりました。
ビッグデータを現在と将来の成功に活かす
データエンジニアリングにおけるこれらの変化を見ると、最も明白なのは、プロセスが変化しただけでなく、変化が今後も続いていくという点です。それに伴い、こうした変化が自社のデータポリシーに与える影響と、それをビジネスの成功改善にどうつなげるかを検討することが求められます。データと分析の変革は、アーキテクチャやツールの領域にとどまらず、データ活用に関する新しい仕組みや考え方そのものを生み出しました。
かつてデータと分析の取り組みは、プロジェクト完了時やビジネス活動の後追いとして行われるのが普通でしたが、現在では自動的かつ継続的にデータを扱うことが標準になっています。これは、Amazon S3、Amazon DynamoDB、データ取り込みパイプラインなど、データアーキテクチャを強化するツールと、機械学習や自動化データダッシュボードのように、データの監視・消費の在り方を変える手法やプロセスによって実現されています。今日の企業は、ストレージ容量やコストを無駄にすることなく長期間データを保持でき、データクレンジングを容易に自動化して、整理され探索しやすい状態を保ちながら、リアルタイムでのアクセスまで可能にしています。こうしたサービスをデータアーキテクチャに組み込むことは、実装した企業にとって大きな競争優位性となるでしょう。
コメントやご質問がある場合は、フィードバックタブからお気軽にお寄せください。「Sales Chat」をクリックすれば、今すぐ担当者と対話を始めることもできます。
-
スマホのデータ容量を節約!Android向けデータ使用量管理アプリ5選
朝起きて枕元やサイドテーブルからすぐにスマホを探す——私たちは今や、スマートフォンなしでは生活できないほど魅了されています。単なる通信機器だったはずのものが、これほど生活に影響を与えるとは、誰が予想したでしょうか。友人との連絡、SNSへの写真投稿、あらゆる検索など、スマホの用途は挙げればきりがありません。しかし、その便利さゆえに、月の途中であっという間にデータ容量を使い切ってしまうことも少なくありません。だからこそ、日頃からデータ使用量をしっかり把握しておくことが重要です。手動での管理には限界があるため、専用アプリを活用するのが最適な解決策と言えるでしょう。Androidにおすすめのデータ使用
-
データセンターにフラッシュストレージが必要な理由|性能・耐久性・コストを徹底解説
技術と時代の変化とともに、データを保存するためのさまざまな手段が登場してきました。初期にはフロッピーディスクが使われ、その後はCDやDVDでメディアを書き込むのが一般的になりました。しかし現在、これらのデバイスは急速に姿を消しつつあります。最新ノートパソコンをはじめとする主流デバイスの多くには、もはや内蔵のCD/DVDドライブすら搭載されていません。 市場の話題や世間の声によれば、近い将来、世界のすべてのデータはクラウドに保存されることになるといわれています。しかしこれは完全に正しいとは言えません。企業はクラウドが提供する以上のコントロールをデータに対して求めており、重要なデータ要素を自社の手