ホームページ  >  に質問  >  本文

mongodb还有分表的必要吗?

mongodb自带了autosharding,那么还有必要分表吗,加入一张表过亿级别?

天蓬老师天蓬老师2749日前1741

全員に返信(4)返信します

  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:28:37

    まあ、この回答は読者を誤解させるものであるため、私はそれに反対票を投じました。
    データベースの種類に関係なく、インデックスの作成には膨大なコストがかかります。これはテーブル全体のデータを走査することを意味するためです。大きな負担をかけずにインデックスを作成するにはどうすればよいでしょうか?そのため、この状況を適切に軽減できる {background: true} オプションがあります。負荷が高すぎるクラスターでインデックスを作成する場合は、オンライン システムの動作への影響を避けるために、ノードを 1 つずつ削除してインデックスを作成し、オンラインに置く「ローリング」インデックス作成方法を使用することをお勧めします。 。
    ロックの問題に関しては、3.0 以降、WT エンジンはドキュメント ロック (行ロック) をサポートします。
    インデックスのクエリにかかるコストが膨大になるのは、おそらくインデックスが適切に確立されていないためです。具体的な例を挙げて説明します。
    データが1億件を超える場合、落とし穴が多いかどうかを具体例を挙げて議論してください。

    返事
    0
  • 天蓬老师

    天蓬老师2017-05-02 09:28:37

    Mongodb は自動シャーディングおよびパーティショニング アーキテクチャをサポートしており、これを使用して水平方向に拡張されたデータベース クラスター システムを構築し、各シャーディング ノードにデータベース テーブルを保存できます。

    データベースシャーディングの代わりにmongodbシャーディングを参照してください[1]: https://yq.aliyun.com/article...

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:28:37

    テーブルは月ごとに分割できます。 Name_03 Name_04 名前は変更されません。クエリ対象のテーブルの名前はプログラム内のタイムスタンプに従って動的に変更されます。

    返事
    0
  • PHPz

    PHPz2017-05-02 09:28:37

    MongoDB には、データベースのロック (低バージョン) とテーブルのロック (中バージョン) という問題があり、ファイルを保存するためのシャードが存在する場合でも、インデックス作成とインデックス クエリのオーバーヘッドが依然として大きいと思います。 ! ! ! !データが 1 億を超えると、まだまだ落とし穴がたくさんあります。

    返事
    0
  • キャンセル返事