私のチームは、Ruby on Rails アプリをホストするために AWS を検討しています。アプリによって行われる作業のほとんどは、大量のデータを DB に保存し (ここでは、RDBMS がニーズによく適合するため、PostgreSQL であると想定しています)、それを取得し、分析を実行してから、画面上のユーザーに結果を表示します。
長期的なスケーラビリティが懸念されます。どの時点でも CPU が問題になるとは思いません (どこで処理を行うかによっては、DB で行うのは非常に悪い考えかもしれません) が、DB 自体がボトルネックになると思います。水平方向のスケーリングを理解しています。より多くの DB を取得し、データをシャーディングして完了です。しかし、AWS (またはこの場合は S3 ?) は非常に魔法のように機能するため、少なくともしばらくの間は水平方向のスケーリングは必要ないかもしれないと人々が主張していると聞いたことがあります。
魔法は見えないけど。私が言えることは、少なくとも垂直的にできる最善の方法は、IO 優先度の高い 60 GB RAM インスタンスの 1 つをレンタルすることです。(問題に安価なシャード DB インスタンスを 12 個投入する場合と比べて) 多額の費用がかかるだけでなく、システム全体に影響を与えるボトルネックが 1 つあります。私の経験では、DB マシンが 1 台だけではスケーラブルではありませんが、ユーザーがいない場合やまだプロトタイプを作成している場合でも、最初は問題なく使用できます。
私はこれを正しく理解していますか、それとも目に見える以上のものがありますか?