2008-10-02 3 views
9

私は、構築しようとしているRoRアプリケーションのデータストアとして、AmazonのSimpleDBサービスを使用する可能性についての研究を始めています。私たちはEC2をWebサーバーに使用し、EC2もMySQLサーバーに使用する予定でした。しかし今、問題はSimpleDBを使わないのですか?RoRアプリケーション用にMySQLとAmazonのSimpleDBを決定する際に、何を考慮する必要がありますか?

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

私はSOのコミュニティの考えがこれに何であるか興味があります。

+0

ここであなたの質問に多少対処しました:http://stackoverflow.com/questions/53693 – rjurney

答えて

4

RubyのSimpleDBのライブラリは私の場合であるに対して動作する単純なCRUD層を、必要な場合には、トリックを行う必要がありますActiveRecord(デフォルトのRails DBアダプタ)と同じくらい完全ではないので、あなたが使っていた機能の多くはそこにはありません。

プラス側では、スケーラブルでスケーラビリティがあり、ec2でうまく機能します。

あなたのアプリで全文検索のようなことをするなら、SimpleDBが最良の選択ではないかもしれませんが、AR +スフィンクスに固執してください。

4

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

は、ここでの起動と動作の一つの方法です: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1242

http://rubyforge.org/projects/aws-sdb/経由)あなたは決してレールの外側のデータを照会する必要があるとしていないしている場合、私が思う、そしてSimpleDBはOKになるかもしれません。しかし、それは一流のサポートされたDBではないので、修正が難しいバグに遭遇する可能性が高いです。私は、セミベータ版のバックエンドで生産用のアプリを走らせたくありません。

+0

これはどのようにこれがトピックに価値を追加するのか分かりません。 –

+0

私は前のコメントが、あなたが最初の段落を投稿した最初の「最速の銃」の後に来たことを明確にしたいと思います。 –

+0

その信頼性が高く、分析のためにSQL DBにデータを取り込むのが簡単です。 – rjurney

1

私はこのトピックに非常に関心があります。今、私はクラウドコンピューティングが高いので、SimpleDBを使って行くといいでしょう。高可用性という意味ではスケールが良くなるだろうからですが、それは今の私の考えです。経験からではありません。

編集:それはSimpleDBには、「通常の」データベースを全く正常な機能を持っていないことは事実だが、あなただけ

+0

私は100%AWSサービスを使ってこのアプリケーションを構築しようとしているわけではありませんが、SimpleDBとSQSだけが使用されていません。私が読んだことから、あなたがSimpleDBを使うルートに行くなら、SQSを使うのは簡単なことではありません。 –

0

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

2

私にとっては、実際にこれらの特定のツールを使用する必要はなく、「これらのきれいなツールがあるので、プロジェクトを作成する必要があります。たぶん私はちょうどカニですが、早すぎる最適化の古典的なケースのように感じます。まだ書かれていないアプリのお金を必要とする外部サービスを使用しようとしており、保証された視聴者を持っているとは言えません。

"アプリケーションが成功した場合、サポートされるユーザー数は膨大なものにする必要があります。それは本当に問題である "成功すれば"の部分です。アプリケーションを素早く簡単に構築することに集中してください。これを行う最も簡単な方法は、RORをそのまま使用することです。それをデータベースとペアにし、ActiveRecordを使って何かを構築し、ユーザーを引き付ける。

実際、私はさらに進んで、EC2は常にサーバー上では高価だと言います。それをSlicehostや他のホスティングされたソリューションに展開してから、必要に応じてEC2に移動して需要をサポートしてください。

+0

素晴らしいフィードバックがありました。ご説明いただいたとおり、ここでは時期尚早の最適化が進んでいます。現時点では、アプリケーションは私が長年持っていた私の専用サーバでホストされており、mySQLを使用しています。必要が生じた場合、AWSサービスに移行します。 –

関連する問題