Amazon CloudSearchとAmazon Elasticserch Serviceの違いは?用途によってどちらを選ぶべき?

はじめに

Amazon CloudSearchとAmazon Elasticsearch ServiceはAWSにて用いることのできる、マネージド型の検索サービスです。どちらも全文検索を行うことができるサービスですが、Amazon CloudSearchのほうが手軽に使用することができる分カスタマイズ性は低くなっており、Amazon Elasticsearch Serviceはより高度に検索機能をカスタマイズすることができます。マネージド型サービスであるため、導入のために機器のメンテナンスについての専門的な知識を取得する必要はありません。まずはサービスの概要を説明し、それぞれの用途の違いを紹介します。

Amazon CloudSearchの特徴

Amazon CloudSearchは、Apacgh Solrをベースにした、WEBサイトやアプリケーションなどのデータ検索を実現するマネージド型サービスです。ハードウェアおよびソフトウェアのセットアップやソフトウェアのパッチ適用などを自動的に行なってくれるため、ハードウェアのメンテナンスや専門的な検索機能の仕様について考えることなくWEBサイトやアプリに様々な検索機能を導入することができます。

Amazon CloudSearchでできること

Amazon CloudSearchを使用することによって、大規模なデータにおいても低レイテンシで高スループットの検索を実現できます。その他にもファセット検索、フリーテキスト検索、候補の自動入力などの検索機能をサポートしています。

Amazon CloudSearchにはテキスト型・日付型・数字型および配列型などのデータ型が用意されています。

Amazon CloudSearchの使用にかかる費用

Amazon CloudSearchは使用時間とリソースの使用量に応じて料金を支払います。セットアップのための料金は必要なく、データの保護や復元機能も無料で使用することができます。また、初めて使用する際には30日間の無料トライアルを使用することができます。

Amazon Elasticsearch Serviceの特徴

Amazon Elasticsearch Serviceは、AWS上でElasticsearchの機能を使用することができる検索エンジンプラットフォームサービスです。Elastic Cloudとは異なりElastic社公式のサービスではないためプラグインの使用等に制限がありますが、AWSの他サービスとの連携が容易です。

Webサイト内を検索するために必要な機能をあらかじめ備えているAmazon CloudSearchに対して、Amazon Elasticsearch Serviceを効果的に使用するためには検索に必要な要件をエンジニアが設計する必要があります。その分、用途に合わせてカスタマイズできるため、検索精度がサービスの仕様に左右されにくいのが特徴です。また、Amazon CloudSearchと同じくAmazon Elasticsearch Serviceもマネージド型のサービスであるため、機器の保守等について考える必要はありませんが、Amazon CloudSearchとは異なり必要なサーバ台数は利用者が判断して決定します。

Amazon Elasticsearch Serviceでできること

Amazon Elasticsearch Serviceは、Amazon CloudSearchが備えているテキスト型・日付型・数字型・配列型のデータ型に加えて、オブジェクト型や親子関係のインデックスも備えているため、1対多のデータ構造に対応して検索を行うことができます。

Amazon Elasticsearch Serviceの使用にかかる費用

こちらもAmazon CloudSearchと同じように使用した分のみ料金を支払うシステムです。また、1年あるいは3年分の使用量をまとめて予約するリザーブドインスタンスというシステムがあり、オンデマンドに比べて料金を節約できます。

Amazon CloudSearchを使うと便利なケース

Amazon CloudSearchは設計の必要がなく、すぐに使用することができます。また、データ量や検索リクエストが増えると自動的に検索ドメインを拡張してくれるため、メンテナンスの手間が省けます。一方で、検索機能をカスタマイズすることは難しいため、検索精度に強くこだわらず、導入後すぐに使用したい場合に選ばれます。

Amazon Elasticsearch Serviceを使うと便利なケース

Amazon Elasticsearch Serviceは使用するために設計が必要となります。また、データ量や検索リクエストが増えても自動で検索ドメインを拡張してくれることはなく、構成を手動で変更する必要があります。検索機能についてもカスタマイズが可能ですが、運用についてはエンジニアが考えて実装する必要があります。より高い検索結果の精度を求める場合にAmazon Elasticsearch Serviceが選ばれます。

まとめ

Amazon CloudSearch、Amazon Elasticsearch ServiceのどちらもApach Luceneを元にした検索機能を提供するサービスであり、どちらがどちらより完全に優れているというわけではありません。

サービスの初期段階などの場合はAmazon CloudSearchを選択すると、メンテナンスや運用部分をAmazon CloudSearchが吸収してくれるので、フロント部分の開発に注力することができます。一方、データ構造に対してある程度カスタマイズ性をもち、検索精度を重視する必要がある場合は、Amazon Elasticsearch Serviceを選択するとよいでしょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です