SQLパフォーマンスの最適化の概要(続き) - 章の構造調整

SQL パフォーマンス最適化の概要(続き)- 構造調整の記事

 

私は最終的に停止し、話題に、さらに苦もなく、今日を合計し続けることができ、関心のこの非常にトピックに関するいくつかのブロガーを参照してください。

 

SQL Server2005からSQL Server 2008およびSQL Server2012今まで、Microsoftは、このような負荷分散を実現することができないのOracle RAC同様の技術として、負荷分散コンポーネントのない導入、行われていないようです。高い並行性とスケールアウトデータベースに頻繁に問題に遭遇され、多くのユーザーが問題を解決するためにRACを使用して、Oracleプラットフォームに移植されたときにプログラムがこのような状況に遭遇したことを検討してください。これは非常に困難なプロセスであり、私はコストが膨大になると信じています。また、いくつかのサードパーティ製プログラムを検討してください。以下のような:などメビウス、多くの制限と同様に、また、採用しませんでした。MSは、前者のみが、MS SQLプラットフォームの下にいくつかの技術を言及簡単に紹介し、従来技術を使用することができます。

 

フェールオーバークラスタリング

Microsoft Cluster Server(MSCS)の可用性を高めるための技術であり、サーバーがダウンしたときに、他のサーバーに切り替えるための時間の期間とすることができ、負荷分散を実現することができない、アプリケーションサービスを提供し続けています。

SQL Server 2005では、ミラーリングとスナップショット
技術は、スナップショットサービスを使用してデータ・アクセス・サービスを提供するために、可用性を向上させるためにミラーを使用しています。

ミラーリングは、我々はすべて理解している概念であり、SQL Server 2005で導入された新機能のスナップショットです。スナップショットは、ある時点でのクローン・データベースです。スナップショットは通常、実際には、任意のデータレプリケーションのスナップショットを作成しなかった、ほんの数秒を要します。スナップショットミラーデータベースのDBを作成するには、DBは、ユーザにデータ・サーバのスナップショットを提供することができます。しかしのでそれは本当の貧困層のスナップショットなので、いくつかのリアルタイムアプリケーションの適合性を検討するために使用された場合。あなたは、プライマリ・データ・サーバとミラー・サーバ上の負荷を分散したい場合には、ステージのスナップショットを作成する必要があります。

コピーは、サブスクライブ
SQL Serverは、レプリケーション・テクノロジー(複製)を提供し、あなたが今読んで、分離を書くことができます。ここでは繰り返されていない本実施形態においては使用がないため、スナップショットに基づいて、いくつかの方法、およびログ系複合方法があります。

 

データ・サーバ・アーキテクチャの調整:

アプリケーションは、同社が徐々に増加し、システムのパフォーマンスの問題があった数年前に、データ・サーバ・ハードウェアは、一度アップグレードされているが、システムの継続的な増加により、近年では、再び臨界点が、現在のデータに達したので、基本的な構成は、トップと見なされてきた典型的なエンタープライズ・アプリケーション・サーバーでは、その後、ハードウェアのアップグレード、我々は確かに費用に大金を必要としています。分析の後、実際には、既存のシステムの機能の一部は、データを更新するために必要とされていない、あなただけのデータ(レポート、クエリなどの数)を読む必要がある、既存のサーバアーキテクチャを調整読み、分離、書くことにしましたいくつかは、読み取り専用、既存のプライマリ・データ・サーバへの圧力を軽減するために、他のサーバーに転送機能を満たすために。

 

以下に示すように、元のデータ・サーバ・アーキテクチャでは、クライアントは、線形接続データ・サーバの一般的な解決策です。

 

調整後のデータ・サーバ・アーキテクチャ:

 

実際には、このアーキテクチャは、現在最善の解決策ではありません、レプリケーション・テクノロジーを使用すると、現在のケースにする必要があります最初、変更データコネクション限りシステムへの最小の変更は、現在の結果を得ることができ、最も適切でなければなりません。プログラムは、今まで採用されていないので、第二に、カレントミラー複製スナップショット+プログラムは、技術を使用しての相対は比較的成熟しているが、障害に起因する前に一度登場し、まだ怒っている(TMD社の政治、言うことはありません。 )、データ・サーバ・アーキテクチャ・チューンクライアントへの読み取り専用の機能のいくつかは、直接ミラーサーバーに接続することができますが、フォールトトレラントデータソリューションであるあなたは、ミラーサーバー上で更新されたデータを提供する場合、予期しない事態が発生する可能性がミラーリング(特に、そこにはテストは、)不適切なコメントをしないではない、と私たちは、どのようにそれを行うには、クライアントにデータサービスを提供したいですか?追加および削除は、実際には、創造の初めのDBスナップショット、唯一のレコード情報の変更、特定の原則のDBスナップショットは、我々は別のものを理解できるデータがないことができますようSqlServer2005は、オリジナルのDB DB後のスナップショットへのアクセスと同様に、スナップショット機能を提供します、ここでは説明しません。

このアプローチは、DBスナップショット作成した欠点を持って、ユーザーが時間のスナップショットDBを指し元DBと同等のものを作成するために、スナップショットDBアクセスにアクセスすることができます。

たとえば:データベースDB1のための元の名前、あなたは午前10時に、データベース全体のスナップショットを作成するときに、DB2の名前は、DB2ユーザーがアクセスするアクセスは、10時00時DB1に相当したときに名前が示すように、まあスナップショット。

 

以下の二つの理由から、我々は常に古いスナップショットDBを削除する必要があり、データ・アクセス・サービスを提供するために、新しいスナップショットのDBを作成します。

 

  1. ユーザークライアントは常に最もリアルタイムデータを訪問したかったです
  2. 過言ではない数のDBのスナップショット、スナップショットDBサーバの負荷が増加の増加理由は(彼はそれぞれのデータ・ソースの違いDBとDBスナップショットを同期したいので)

 

タイムラグで元サーバのデータとデータにアクセスするためにユーザによって提供DBスナップショットは、我々は10分となり、平均的なユーザーアプリケーションは、この時間差は許容可能です。

 

いくつかのかかるサーバリソースの移行後、ミラーサーバーへの大きなレポートまたはクエリ、効果的にプライマリ・データ・サーバの圧力を下げ、効果は非常に明白であるという事実(主に論理読み込み、これがボトルネックサーバー操作です)。上記の努力の後、他のサーバへの主要データ・サーバの圧力の合理的なシェアは意味での負荷分散効果を達成するために非常に重要ではありません。最後に来て、データ・サーバ・アーキテクチャの調整、その後の再導入し、特定のSQLの最適化に関しては、この、。

 

継続するには。

 

ます。https://www.cnblogs.com/JerryTian/archive/2012/06/30/2558356.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34161083/article/details/93845188