9

構築する予定の RoR アプリケーションのデータストアとして、Amazon の SimpleDB サービスを使用する可能性について調査を始めたところです。Web サーバーには EC2 を使用し、MySQL サーバーにも EC2 を使用する予定でした。しかし、ここで問題になるのは、なぜ SimpleDB を使用しないのかということです。

アプリケーションは (成功した場合)、サポートされるユーザー数に関して非常にスケーラブルである必要があり、シンプルで効率的なコード ベースを維持する必要があり、信頼性が高い必要があります。

SOコミュニティがこれについてどう考えているのか、私は興味があります.

4

5 に答える 5

4

Ruby SimpleDBライブラリはActiveRecord(デフォルトのRails DBアダプター)ほど完全ではないため、これまで使用していた機能の多くはそこにありません。

プラス面としては、スキーマレスでスケーラブルであり、ec2でうまく機能します。

アプリで全文検索などを行う場合は、SimpleDBが最適ではない可能性があります。AR+スフィンクスを使用してください。

于 2008-10-02T16:54:15.310 に答える
4

まあ、単純な DB が SQL を使用しない、またはテーブルを持たないことを考えると、それは MySQL やその他の SQL ベースのもの ( http://aws.amazon.com/simpledb/ )とはまったく異なる獣であることを意味します。制約、トリガー、または結合はありません。幸運を。

起動して実行する方法の 1 つを次に示します: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1242 ( http://rubyforge.org/projects/aws-sdb/ 経由)

Rails の外部でデータを照会する必要がまったくないのであれば、SimpleDB で問題ないと証明されるかもしれません。しかし、これは一流のサポートされている DB ではないため、修正が困難なバグに遭遇する可能性があります。セミベータ版のバックエンドで実稼働の Rails アプリを実行したくありません。

于 2008-10-02T16:20:58.667 に答える
2

私には、これらの特定のツールを実際に使用する必要があるというよりも、「これらの優れたツールが世の中にあるので、それらを使用してプロジェクトを構築する必要がある」ように感じます。多分私はただ気難しいだけかもしれませんが、時期尚早の最適化の典型的なケースのように感じます. まだ作成されていないアプリに費用がかかる外部サービスを使用しようとしており、保証されたオーディエンス、またはそれを保証するレベルまで必然的にスケーリングされるオーディエンスがあるとは言いません。

「(成功した場合) アプリケーションは、サポートされるユーザー数の点で非常にスケーラブルである必要があります」、真剣に、それはインターネットの半分を表しています。本当に問題になるのは、「成功した場合」の部分です。アプリケーションを迅速かつ簡単に構築することに専念してください。これを行う最も簡単な方法は、いわばすぐに使用できる ROR を使用することです。それをデータベースと組み合わせて、ActiveRecord を使用して、ユーザーを引き付ける何かを構築します。

実際、EC2 はサーバー上に常時接続するにはかなり高価であると言えます。Slicehost または別のホストされたソリューションにデプロイし、必要に応じて EC2 に移動して需要をサポートします。

于 2009-05-20T18:02:29.383 に答える
1

私自身、このトピックに非常に興味があります。現在、私はクラウド コンピューティングを利用しているので、SimpleDB を使用することをお勧めします。SimpleDB を使用すると、可用性が高くなるという意味で、より適切にスケーリングされる可能性がありますが、それは現時点での私の考えです。まだ経験からではありません。

編集:SimpleDBには「通常の」データベースの通常の機能がないことは事実ですが、単純なCRUDレイヤーが必要な場合はうまくいくはずです。これは私の場合です

于 2008-10-02T16:21:07.280 に答える
0

ActiveRecordの代わりとなるSimpleRecordというライブラリがありますが、バックエンドデータストアとしてSimpleDBを使用しています。

于 2009-05-20T17:50:51.483 に答える