コツ2:タダより高いものはない:「無料」ソフトウェアもその一例

新しいデータアプリの傾向を見ると、ほぼ完全にパブリッククラウドインフラストラクチャーで構築され、APIでコア機能が統合されています。ただし、すべてのクラウドベースソリューションが同じようには作られていません。多くのソフトウェアベンダーは、アプリ開発の最初期に、先行投資を行わず、迅速に開発できる安価で汎用的なツールを採用します。たとえばPostgreSQL、Elasticsearch、NoSQLデータベースなどのオープンソースツールには、気軽に実稼働を目指せる魅力があります。利用すれば、データベースを調達する先行投資を行わずに新しいアナリティクスアプリを商品化でき、開発チームと財務チームの潜在的な対立構造も緩和されます。どうも話がうますぎると思いませんか?そのとおりです。強力なデータアナリティクスアプリを開発するためにデータスタックに必須の要素が、十分に検討されていないと、多くの場合、開発時に4つの課題に直面します。

1.多くのアプリが直面する問題は、顧客数が増えるにつれ、システムにかかるデータストレージやコンピュートの負荷が増大することです。オープンソースツールでは、運用を一時中断して手動で容量を拡張しなくてはなりません。必然的にカスタマーエクスペリエンスが劣化し、企業は最も大事なエンジニアリングリソースの時間と労力を集中的に奪われます。

2.半構造化データのネイティブサポートがない場合があります。選んだオープンソースソリューションが、現在利用できる膨大な半構造化データを標準でサポートしていない場合、JSON、XML、Avroなどのデータタイプを使おうとすると、大きな問題点になります。実現するには、データエンジニアリングチームが、複雑なデータパイプラインを構築し維持しなくてはならないため、リアルタイムのインサイトの実現と安定提供が難しくなります。

3.多大なメンテナンスとセキュリティの負担が生じます。開発チームはアナリティクスアプリケーションの作成と開発に時間を費やすべきですが、オープンソースソリューションを使っている場合、頻繁なメンテナンスとアップグレードという形のオーバーヘッドが必要になります。結果として開発者はコーディングではなく、システムのメンテナンスに追われることになります。オープンソースソリューションの場合、重要な修正を怠ると、企業がセキュリティ上の脆弱性を抱え込む可能性もあります。

4.専門スキルの不足に悩む可能性があります。オープンソースツールを利用するために必要な特定のスキルが、必ず組織内にもあるとは限りません。組織内でそのようなスキルを用意できない企業は、追加のリソースを雇用する必要がありますが、人材確保が困難な場合や多額の費用を要する場合があります。またオープンソースソリューションは、特にビジネスの成果を念頭に置いて設計されていないため、エンジニアチームが顧客の要件を満たすスタックを構築しなくてはなりません。

以上の課題は、開発チームが従来のデータプラットフォームを使用するときに直面する課題に酷似しています。たとえばシェアードディスクアーキテクチャとシェアードナッシングアーキテクチャでは、同時実行性が乏しいためにクエリ数が制限され、ワークロードの競合により性能が低下します。データウェアハウスなどの従来のデータプラットフォームも、半構造化データの統合で多くの問題が発生し、継続的な管理と社内の専門知識が必要になります。オープンソースのデータスタックを採用すると、以上のような制限があるため、一般的には一から再構築した方がよいという結論に達します。再構築が終わるまで、顧客は待ち時間の長い不完全なデータアナリティクスに不満を感じ続け、チームは「無料」ソリューションの実行と維持に多くの開発時間を浪費することになります。

コツ3:シンプルな真理:最新のアプリには最新のインフラストラクチャーが必要

アナリティクス、BI、IoT、機械学習などのデータアプリケーションは、本質的に次の2つの要件を抱えています。

1. 大規模データの取り込みが必要
2. 全データの迅速、簡単なアナリティクスが必要

具体的に考えると、ワークロードの分離、ほぼ無限かつ即座の伸縮性、無制限の同時実行性、半構造化データを取り込むネイティブ機能を提供する中央リポジトリが必要ということです。クラウドデータプラットフォームが、最新のアナリティクスアプリケーションを実行し、エンドカスタマーに価値を提供するために必要なプラットフォームをそっくり提供できると言えば、驚かれるでしょうか?ここ15年で主流は従来のデータウェアハウスから、最小限のメンテナンスでスケーラビリティ、伸縮性、柔軟性、性能を提供する最新のクラウドソリューションに移行しました。

意外にも多くのチームは、データウェアハウスがデータスタックの一部として必要であることに、なかなか気づきません。技術的な問題が発生し始めてから、アーキテクチャを再検討しますが、悲惨な状況に陥るチームもあります。最初から適切なテクノロジーを選んだ場合に比べ、総所有コスト(TCO)が、はるかに大きく膨れ上がることがあります。

最新のクラウド型データウェアハウスをスタックとして利用すると、最新のデータアナリティクスアプリの開発とスケールに必要な機能がすべて、最初からアーキテクチャに組み込まれています。

• 上限がないスケーラビリティ。コンピュートとストレージを分離することにより、それぞれ独立したスケーラビリティを確保できます。どこまでも自動的にスケールできるため、大小さまざまなワークロードをさばき、高い性能を維持して、必要な瞬間にコンピュートリソースの融通無碍なスケールアップ、スケールダウン、スケールアウトができます。

• 同時実行性。コンピュート機能がストレージから独立した形で構築されたアーキテクチャで、全ユーザーが1つのデータのコピーを共有します。複数のコンピュートクラスタを介して複数のユーザーが同時にデータを利用できます。ユーザー一人ひとりに、独立した専用コンピュート能力が割り当てられるため、ワークロード間の競合が解消され、使用中の速度低下やクエリ中断が起こらなくなります。

• リアルタイムな伸縮性。即座のプロビジョニングで、オンデマンドの性能を確保できます。この伸縮性により、ユーザーはデータ量に左右されることなく、使用量に見合ったリソースを動的に調達できます。

• 半構造化データのサポート。半構造化データ(JSON、Avro、Parquet、XML)を扱う統合アプローチは必須です。つまり、ネイティブ機能により、構造化データと半構造化データが混在した状態で取り込まれ、保存され、すべてのデータがクエリやアナリティクスに活用されるということであり、ここでは追加の作業や無駄な作業負担は発生しません。

• 管理業務がほぼゼロ。サービスとしてのデータスタックでは、管理や最適化を必要とするインフラがありません。ソフトウェア更新時のダウンタイムも発生しません。

• セキュリティ。最新のデータスタックは、常に保護対策が行き届いたデータ環境を提供し、場合によっては仮想プライベートクラウド(VPC)で運用して保護を強化できます。顧客側での設定や継続的な管理は必要ありません。

• よりスマートなクエリ実行。クエリの実行方法を最適化すると、ユーザーに一段と優れた費用対効果を提供できます。結局のところ、10ノードのシステムが同じ時間で実行できるクエリに、1000ノードを費やす価値はほとんどありません。4しかもこの種のウェアハウスでは、企業の支払う料金が秒単位の使用量のみに限定されます。

  • データアナリティクスアプリケーションの開発に必要な7つの主要機能

データスタックの制約をなくし自在に顧客の要望を満たす

アプリケーションのデータスタックにクラウド型データウェアハウスを使う限り、スタートアップ企業も大手ISVもすべて、シンプルかつ手軽な方法で、顧客に差別化された高速のエクスペリエンスを提供できます。ポイントは、従来のデータスタックの制約とオープンソースデータベースの制限を取り除くことです。

詳細についてはこちらのリンク先をご覧ください。

Snowflakeについて

Snowflakeは、Snowflakeのデータクラウドを用い、あらゆる組織が自らのデータを活用できるようにします。お客様には、データクラウドを利用してサイロ化されたデータを統合し、データを発見してセキュアに共有し、多様な分析ワークロードを実行していただけます。データやユーザーがどこに存在するかに関係なく、Snowflakeは複数のクラウドと地域にまたがり単一のデータ体験を提供します。多くの業界から何千ものお客様(2021年7月31日時点で、2021年Fortune 500社のうちの212社を含む)が、Snowflakeデータクラウドを自社のビジネスの向上のために活用しています。詳しくはsnowflake.comをご覧ください。

関連リンク



※本記事はSnowflakeから提供を受けております。

[PR]提供:Snowflake