13

バックエンド データベースとして Amazon SimpleDB データ ストアに沿ったものを使用することを検討した人はいますか?

SQL Server ホスティング (少なくとも英国では) は高価であるため、このようなものをクラウド ファイル ストレージ (S3) と共に使用して、アプリケーションと共に成長する可能性のあるアプリを構築できます。

理論的には素晴らしいですが、誰もがそれを使用することを検討します. 実際、あなたのコメントを読みたいので、実際の本番ソフトウェアで実際に使用している人はいますか。

4

6 に答える 6

14

これは、 DareのAmazonサービスの優れた分析です。

S3は、私が通常「ブロブストレージ」と呼んでいるものを処理しました。一般的なWebアプリケーションには、通常、名前/パスで簡単にアクセスできるメディアファイルやその他のリソース(画像、CSSスタイルシート、スクリプト、ビデオファイルなど)があります。ただし、これらのリソースの多くには、同様に保存する必要のあるメタデータ(たとえば、YouTubeのビデオファイルには、その評価、アップロード者、再生回数などに関するメタデータが含まれています)もあります。クエリ可能なスキーマ化されたストレージのこの必要性は、SimpleDBの出番です。EC2は、仮想サーバーが何らかの理由でダウンした場合に永続的ではないローカルファイルシステムインスタンスを備えた計算に使用できる仮想サーバーを提供します。SimpleDBとS3を使用すると、「Web2.0」の大規模なクラスを構築するためのビルディングブロックが得られます。EC2が提供する計算機能を投入するときにアプリケーションをスタイルします。ただし、S3もSimpleDBも、データベース駆動型Webアプリケーションを構築する典型的なLAMPまたはWISC開発者エクスペリエンスを必要とする開発者、またはBLOBストレージのバケットにうまく収まらないカスタムストレージのニーズがあるアプリケーションのソリューションを提供しません。スキーマ化されたストレージ。永続的なファイルシステムにアクセスできない場合、Amazonのクラウドコンピューティングプラットフォームの開発者は、必要なエクスペリエンスを得るために、データをEC2からS3に手動でバックアップすることを含む高度なソリューションを考え出す必要がありました。ただし、S3もSimpleDBも、データベース駆動型Webアプリケーションを構築する典型的なLAMPまたはWISC開発者エクスペリエンスを必要とする開発者、またはBLOBストレージのバケットにうまく収まらないカスタムストレージのニーズがあるアプリケーションのソリューションを提供しません。スキーマ化されたストレージ。永続的なファイルシステムにアクセスできない場合、Amazonのクラウドコンピューティングプラットフォームの開発者は、必要なエクスペリエンスを得るために、データをEC2からS3に手動でバックアップすることを含む高度なソリューションを考え出す必要がありました。ただし、S3もSimpleDBも、データベース駆動型Webアプリケーションを構築する典型的なLAMPまたはWISC開発者エクスペリエンスを必要とする開発者、またはBLOBストレージのバケットにうまく収まらないカスタムストレージのニーズがあるアプリケーションのソリューションを提供しません。スキーマ化されたストレージ。永続的なファイルシステムにアクセスできない場合、Amazonのクラウドコンピューティングプラットフォームの開発者は、必要なエクスペリエンスを得るために、データをEC2からS3に手動でバックアップすることを含む高度なソリューションを考え出す必要がありました。

于 2008-09-10T13:15:03.310 に答える
11

Perl でアプリケーションを simpledb に簡単に移植できるようにするためのライブラリー、Net::Amazon::SimpleDB::Simple を書き終えたところです。このライブラリはまだ CPAN にはありませんが、http://rjurneyopen.s3.amazonaws.com/SimpleDB/Simple.pm にあります。アイデアは、SimpleDB にハッシュを出し入れするのを簡単にすることでした。

私はそれを使用するためにアプリを移植しました。全体として、SimpleDB には感心しています...非効率的なクエリでさえ、返されるのに 2 ~ 3 秒しかかかりません。SimpleDB は、Erlang/parallel の性質により、テーブルのサイズを気にしていないようです。テーブルスキャンは簡単です。

痛みは、数えることも、合計することも、グループ化することもできないという事実から来ています。これらのいずれかを実行する予定がある場合は、SimpleDB はおそらく適していません。現時点では、機能的には memcached と MySQL の間のどこかに存在します。SELECT ORDER BY LIMIT を選択できます。これは便利です。また、自分でスケーリングする必要がないのも素晴らしいことです。しかし、分析のようなより高度な操作は、せいぜい苦痛です。サーバー側で独自の計算を行う必要があります。また、どのコンピューターでも simpledb CLI http://code.google.com/p/amazon-simpledb-cli/を使用してデータをクエリできることも大きなプラスです。

紛らわしい「落とし穴」がいくつかあります。たとえば、属性は複数の値を持つことができ、アイテムを保存するときに明示的に「置換」を設定する必要があります。また、その属性の名前/値のペアを削除したり、null/空の文字列を設定したりする代わりに、undef または null 文字列を格納すると、ライブラリ エラーが発生します。

大部分が正規化されていない方法で考えることを学ぶことも少し奇妙です。そのため、新しいアプリケーションに最適であるという上記の提案を支持します。SQL アプリから SimpleDB への移植は、アプリケーション ロジックを変更する必要があるため、骨の折れる作業です。やり方が少し違います。アマゾンのドキュメントは、これを説明するのにかなり適しています。

これらはすべて、SimpleDB の上にあるライブラリーで抽出可能であるため、SimpleDB を使用するためには、適切なライブラリーを選択する必要があります... おそらく直接処理したくないでしょう。作業を簡単にするための PHP 側の作業がいくつかあり、私のライブラリーがあります。RAILS アクティブソースがありますが、あまり効果がないようです。

全体としてはまだ初期段階ですが、他の API (Twitter が思い浮かびます) と比較すると、SimpleDB REST API は非常に単純であり (特に XML であることを考えると)、礼儀正しく使用できると言わざるを得ません。アプリケーションの要件と使用の経済性に応じて...お勧めします。DB に大きな負荷をかけず、スケーラブルな MySQL/memcache コンボに煩わされたくないサービスを迅速にスケーリングすることを検討している場合は、SimpleDB が「シンプルな」ソリューションを提供できます。

私は、その機能が成長し続け、より複雑で興味深いことを行うより多くのアプリケーションにとって良い選択になることを期待しています. しかし、現時点では、典型的な Web 2.0 サービスを対象としており、それに適しています。

于 2008-12-31T23:16:33.490 に答える
3

私たちは、新しいプロジェクトにほぼ独占的に SimpleDB を使用しています。メンテナンス不要、高可用性、インストール不要という側面は、あまりにも優れています。また、Ruby 開発者は、SimpleDB の ActiveRecord に似たインターフェイスであるSimpleRecordをチェックしてください。これにより、非常に使いやすくなります。

于 2010-02-06T01:21:09.397 に答える
0

SimpleDB は多くのアプリケーションでうまく機能します。プロジェクトで多くの分析レポートや結合などが必要な場合は、MySQL またはハイブリッド モデルを検討してください。

SimpleDB を使用する場合は、Radquery.com を社内で使用するために開発し、一般に公開しています。

于 2010-11-16T09:15:08.057 に答える
0

しかし、本当に SQL Server が必要ですか? PostgreSQL や MySQL と一緒に暮らすことはできませんか? どちらも、ほとんどのタスクで問題ないことが証明されています。

SQL Server の機能が必要な場合は、運が悪いです。

別のオプションは、サーバーをレンタルすることです。高価とはどのくらい高価ですか?

(私は Amazon S3 を使用してアプリケーションの画像を保存しましたが、少なくともそれについては問題なく動作します)

于 2008-09-10T09:29:02.840 に答える
0

私は SimpleDB を使用していませんが、S3、EC2、および MySQL を組み合わせてアプリケーションに使用しています。

SimpleDB を使用する意思がある限り、MySQL の使用を検討することもできます (これは非常にスケーラブルであり、それほど高価ではありません)。

S3 および EC2 側では、実際にも優れています。

于 2008-09-10T09:32:02.083 に答える