sql >> データベース >  >> RDS >> Sqlserver

データベースのクエリと挿入の速度は何に依存しますか?

    大まかな比較:SQL Server の TPC-C ベンチマーク レコード 1 分あたり約 120 万のトランザクションであり、過去 4 年ほどの間 (64 CPU OS の制限によって制限されています) はこのようになっています。これは、1 秒あたり最大 16,000 トランザクションの境界線にあるものです .これは、超ハイエンド マシン、64 個の CPU、十分な RAM、NUMA ノードごとのアフィニティ化されたクライアント、およびサーバー的に短いストリップ I/O システム (各スピンドルの約 1 ~ 2% のみが使用される) 上にあります。これらは TPC-C トランザクションであるため、いくつかの操作で構成されていることに注意してください (平均して、それぞれ 4 ~ 5 回の読み取りと 1 ~ 2 回の書き込みだと思います)。

    ここで、この最上位のハードウェアを実際の展開に合わせてスケールダウンする必要があります。これにより、OLTP トランザクション処理全体に対する期待値をどこに設定すればよいかがわかります。 .

    データ アップロードの現在の 世界記録は約30 分で 1 TB (まだ最新の場合...)。毎秒数万回の挿入は非常に野心的ですが、本格的なハードウェアで適切に実行すれば達成可能です。リンク内の記事には、ETL の高スループットのヒントとコツが含まれています (例:複数のアップロード ストリームを使用し、それらを NUMA ノードに関連付ける)。

    あなたの状況では、何よりもまず対策をお勧めします ボトルネックを見つけて、具体的な質問をする 特定のボトルネックを解決する方法について質問します。良い出発点は 待機とキューのホワイトペーパー .



    1. クラウドベンダーの詳細:AWSAurora上のPostgreSQL

    2. 未定義の関数session_register()の呼び出し

    3. SQLSELECTクエリが機能しない-エラーが見つかりません

    4. 月に基づいて新しいデータを比較してテーブルに挿入します