0

私はquoraで次の質問をしていました:

https://www.quora.com/How-was-YouTube-programmed-in-Python

ここでの最初の回答は、「Vitess」という名前のソフトウェアについて言及しています。vitess はクエリを書き換えて最適化を提供すると述べています。データベース トランザクションの最適化のためにクエリを書き直すとは、具体的にはどういう意味ですか。独自のカスタマイズされた RDBMS システムと、データベース操作を高速化するためのデータの階層化を備えたソフトウェアはほとんどないという話を読んだことがあります。

クエリを書き直すと、操作がどの程度速くなるでしょうか? この質問の範囲が広がることを恐れて、データの階層化とクエリの書き換えについて詳しく知るために、データと資料の階層化に関する洞察を求めます。

4

1 に答える 1

0

私はvitessに取り組んでいます。

最適化が普遍的に実行可能である場合、データベース エンジン自体が実行します。

Vitess が実行する最適化の種類は、今日のアプリケーションにとって実行可能なトレードオフです。例えば:

  • OLTP ワークロードの場合、Vitess は制限句をクエリに追加します。行数が一定量を超えると、エラーが返されます。
  • クエリの完了に時間がかかりすぎる場合は、他のクエリに悪影響を与える可能性が最も高くなります。そのため、システムを維持するために、そのようなクエリを強制終了します。
  • 主キーベースになるように DML を書き直します。このように、レプリカは元の作業をやり直す必要はありません。これは、ステートメント ベースのレプリケーションを使用している場合に適用されます。
  • 2 つの同一のクエリがシステムにヒットした場合は、1 つだけを送信して結果を共有します。

これらはほんの一部のハイライトです。YouTube で見られた問題や機能停止に基づいて、このような調整オプションをさらに追加しました。

于 2016-11-19T17:54:02.543 に答える