質問

私には、販売のために車をリストしている人々のためにWebアプリを運営しているバディがいます。それを使用する数千人のクライアントがあり、各クライアントはデータベースに数百の行があります(一部は毎月数百の車が販売されており、販売ごとに10列を販売しています(コメント、メッセージ、メッセージ等))。彼は、20GBやRAMなどの1つの物理サーバー、および常にいくつかのプロセッサを持つ1つの物理サーバーで1つのSQL Serverデータベースでこのシステムを実行しており、問題はありません。これはある種の奇跡ですか?

ほとんどのプログラマーと同じように、私はDBAではなく、ORMSなどのおかげで、私が見ているところはどこでも、Webアプリの大ユーザーのために別のデータベースサーバーを削減または入手する必要性について話します。どうしてこれなの?ロットまたは列のある大きなDBを持つことは本当に非効率的ですか? Cassandraなどを使用する必要があるのですか、それともPostgresで十分にスケールアップすることに頼ることができますか?

役に立ちましたか?

解決

私は個人的にあなたが説明したことはそれほど大きなデータベースだとは思わない。サーバー(20ギグのRAM?;))はまともです。それは使用とデザインに関するものです。データベースがインデックス化され、適切に設計されている場合、現在のハードウェアではるかに大きく成長する可能性があります。

あらゆる種類の切り替えを行う前に、パフォーマンスの問題が恐れている場合、役に立たないデータのアーカイブとクエリの最適化を単に検討します。

他のヒント

シャードと個別のDBサーバーの理由は、ある時点で、1つの高価なマシンよりも複数の安価なマシンを使用する方が安価になるためです。ハードウェアの価格はパフォーマンスで直線的にスケーリングすることはなく、特定のポイントに到達すると、2倍の速さのマシンを取得するマシンの2倍を取得する方がはるかに安くなります。

SQL Server、Oracle、または最新のリレーショナルまたは非関連データベースで問題はないはずです。 1億個の記録とテラバイトのデータを備えたデータベースを管理しました。

通常、コンポーネントをさまざまなサーバーに分割して、時間、回復力、パフォーマンスをより簡単に管理できるようにします。

すべてを行うモンスターマシンを1つ持っていることは確かに可能ですが、マザーボードが死んだ場合、またはデータセンターが利用できない場合に備えて、別のモンスターマシンが必要になる場合があります。

Webサイトやアプリケーションを分割することで、さまざまなサーバーの中で、より安価なマシンなどを簡単に入手できます。したがって、レジリエンスを構築することができ、ハードウェアの衝突に似た要求を持つコンポーネントがありません。

また、サーバーの復元時間と回復計画について考えることも重要です。
あなたのマシンが死んだときにどうなりますか、あなたは合意された時間にそれを交換できますか?その時点でバックアップから復元できますか?

SQL Serverまたはその他のエンタープライズクラスのデータベースは、10個または100GBのデータベースにそれほどひどく設計されていない限り、問題はないはずです。 (その容量/使用を備えたいくつかのマシンがありますが、これはまったく苦労していません。)

私の心ではそれは何もありません。データベースサイズが10 GBを超える複数のテーブルに数千万行があることは、MS SQL Serverに問題を引き起こしていません。もちろん、それほど多くのデータでは速すぎませんが、それ以外の場合は正常に機能します。

また、質問に答えるには、大きすぎるため、問題が発生します。そして、それが問題を引き起こし始めたら、テーブル構造とパフォーマンスの要求に依存します。

データベースは、リレーショナルデータの保存と取得に非常に効率的です(つまり、構造化され、他のデータへの参照があるデータ) - それが設計されていることです。正直なところ、99%の人々がキー価値の店とカサンドラについて吐き出し、彼らが何をしているのかわからない。データベースサーバーは、特に適切に調整するために少しの作業をかけることをいとわない場合は、大量のデータを保存するのに問題ありません。

とはいえ、Cassandra etのユースケースがあります。アル。 - 主に構造化されていないキー/値データがある場合、または一貫性が必要ない場合、または冗長性のために破棄したい場合は、調査する価値があります。

あなたが非常に人気のあるウェブサイトでない限り、おそらくまともなデータベースサーバーでうまくいくことができます - 決定するまで切り替えないでください どうして 切り替える必要があります。切り替えは問題ありません。ニーズがより良くなるので、切り替えていることを確認してください。 いいえ それは「やるべきクールなウェブスケールのこと」だから

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top