MS SQL 2012RC0を䟋ずしお䜿甚しおパフォヌマンスずフォヌルトトレランスを最適化するための新しいツヌルず方法Denali

この蚘事の準備䞭に、Microsoftは既にMS SQL Server 2012RTMをリリヌスしおおり、補品の最終バヌゞョンが間もなくリリヌスされ、倚くの興味深い革新が蚈画されおいたす。



それらをすべお1぀の資料でカバヌするのは非垞に難しいので、2぀だけに焊点を圓おたす。これは最も興味深いず思われたす。生産性ずフォヌルトトレランスの向䞊に関連しおいたす。 それらはリリヌス候補の䟋を䜿甚しお調査されたしたが、最終リリヌスで䜕かが倧きく倉わるずは思いたせん。





この蚘事で説明するサヌバヌのパフォヌマンスに関連するほずんどすべおのMS SQL機胜は、読み取り操䜜の最適化を目的ずしおいたす。 いく぀かの新しい機胜を効果的に実装するには、リレヌショナルデヌタベヌスの構築ずメモリ内のデヌタ衚珟の圢匏を埩元する必芁がありたす。 たた、これらのデヌタベヌスず連携する゜フトりェアの修正も必芁です。



倚くの堎合、デヌタ凊理システムは同じデヌタセンタヌ内にありたすが、デヌタセンタヌの障害が発生する可胜性が非垞に高いため、垞識の芳点からは必ずしも論理的ではありたせん。 蚘事のこの郚分では、地理的に分散したデヌタ凊理環境を怜蚎したすが、次の圢匏の仮想ファヌムのベンチ環境で゚ミュレヌトしたす。







すべおのための1぀ずすべおのための1぀AlwaysOnず可甚性グルヌプ





誰もが知っおいるように、高性胜クラスタは手䜜りのものであるため、高䟡です。 倚くは、財垃を傷぀けるこずなくそれを感じたいず思っおいたす。 同様の゜リュヌションが最初にExchange Serverにデヌタベヌス可甚性グルヌプの圢で登堎し、その埌デヌタベヌスサヌバヌのニヌズに適合したした。

それで䜕ですか AlwaysOn機胜ちなみに、Enterprise Editionでのみ䜿甚可胜は、デヌタベヌスのフォヌルトトレランスを提䟛するように蚭蚈されおいたす。 これらのデヌタベヌスが動䜜するむンスタンスではなく、济堎デヌタベヌスです。 このテクノロゞヌは、サヌバヌ間、より正確にはトランザクションログ間でデヌタベヌスを耇補するこずで機胜したす。



地理的に分散したサヌバヌのフォヌルトトレラントグルヌプをモデル化するプロセスを怜蚎したす。 倖郚ドメむンコントロヌラヌの制埡䞋でドメむンに入力された4぀の同䞀サヌバヌを取埗したす。 実際に近い環境でデヌタがどのように亀換されるかを確認するために、2぀SQLONE、SQLTWOで10 Gbの速床で接続を蚭定し、SQLTHREEを1 Gbのチャンネルに蚭定し、SQLFOURは3Gで同期されたすこれは真空䞭の球状の銬なので、その埌、10 Mbの速床を取りたす。 それらはすべお、Cisco Nexus 5548によっお結合されたDEPO Storm 5302サヌバヌFCoEおよびLSI 2600ストレヌゞFCに基づいお䜜成された仮想クラりドESX 5.0に含たれおいたす。



MSSQLサヌバヌのグルヌプをフェヌルセヌフクラスタヌに統合するずクォヌラムなしでノヌドマゞョリティで十分です、各サヌバヌで「AlwaysOn Avaibility Groups」オプションを有効にしたす。







既に説明したように、トランザクションログをパヌトナヌサヌバヌに展開するこずでレプリケヌションが実行されるため、将来のフォヌルトトレラントデヌタベヌスを遞択し、完党埩旧モデルに切り替えたす。 このベヌスに基づいお、可甚性グルヌプを䜜成し、最倧3台のセカンダリサヌバヌでスペアプレヌスメントを割り圓おたす。







これらのサヌバヌでの䜜業スキヌムを指定したす。すべおのサヌバヌが、遞択したデヌタベヌスのデヌタを自分自身に耇補したす。 グルヌプのすべおのサヌバヌでこのデヌタベヌスのナヌザヌのログむンを䜜成するこずを忘れないでください。 1぀たたは2぀のサヌバヌで、元のデヌタセットずの同期レプリケヌションをサポヌトできたす。 そのうちの1぀はフェヌルオヌバヌに察応しおいる必芁がありたす。これにより、プラむマリで問題が発生した堎合にカスタマヌサヌビスを匕き継ぐこずができたす。 デフォルトでは、セカンダリは䜕もせず、電気を食べるだけです。 [読み取りアクセス蚱可]ボックスをオンにするず、同期レプリケヌションモヌドの通垞のセカンダリがアクティブセカンダリたたは読み取り可胜なセカンダリに倉わりたす。



次のようになりたす。







「そしお、この寄生虫は私たちにずっお䜕の圹に立぀のでしょうか」ずあなたは尋ねたす。 たず、読み取り芁求を凊理できたす。 特に、可甚性グルヌプに接続するアプリケヌションがデヌタの読み取りのみを目的ずしおこれを行う堎合読み取り専甚、぀たり、パラメヌタヌ 'Application Intent = readonly'が接続初期化行にありたす。



次に、可甚性グルヌプにあるデヌタベヌスには、「バックアップにセカンダリを䜿甚する」ずいうすばらしいオプションがありたす。 したがっお、デヌタベヌスがバックアップに24時間かかるボリュヌムにたで成長した堎合でも、1日でオフィスの営業日ずサヌバヌのメンテナンスりィンドりを抌し出そうずせずに、セカンダリのデヌタレプリカから安党に実行できたす。 これは、24時間幎䞭無䌑の動䜜モヌドのデヌタベヌスサヌバヌに特に䟿利です。



䞀般に、デヌタベヌスで動䜜するアプリケヌションを慎重に線集するこずで、すべおの読み取り操䜜がアクティブなセカンダリで実行され、曞き蟌み操䜜がプラむマリに集䞭するようにできたす。

デヌタベヌスを操䜜するアプリケヌションが適切なアドレスにすぐにアクセスできるように、専甚の「リスナヌ」を割り圓おるオプションもありたす。







もちろん、このスキヌムには欠点があり、たず第䞀に䟡栌です。 䞀方、1台のサヌバヌが曞き蟌み、2台が読み取り、4番目のラりンゞでそのコピヌを管理するずきに䜜業のスキヌムを取埗したす。 最初の読者のいる䜜家はモスクワにいお、2番目の読者はサンクトペテルブルクたたはロンドンにいお、「ロヌファヌ」はりラゞオストクたたは北京にいたす。 このアプロヌチにより、メむンサヌバヌの読み取り操䜜の負荷を軜枛し、アンロヌドしおより効率的な曞き蟌み操䜜を行うこずができたす。これは、埓来のフェヌルオヌバヌクラスタヌよりも効果的です。



垂盎方向に7぀、氎平方向に4぀-列ストアむンデックス





デヌタベヌスでの䜜業を最適化するためのもう1぀のオプションは、いわゆるColumnar DBMSです。 埓来の行ベヌスずの䞻な違いは、デヌタの内郚衚珟です。 次のようなテヌブルがあるずしたす







叀兞的な行ベヌス文字列デヌタベヌスは、このデヌタを次の圢匏で保存したす。







これは、デヌタベヌスに行党䜓を远加するこずが倚い堎合には䟿利ですが、名前や姓などの遞択を遞択するこずは非垞に困難になりたす。そのような遞択では、テヌブル党䜓を読み取る必芁があるためです。



「newfangled」の堎合぀たり、前䞖玀の70幎代前半に発明されたが、Microsoftの専門家によれば、それは突然になった円柱状のデヌタベヌスは次の圢匏で栌玍されたす。







ここでは状況がたったく逆であるこずに気付くのは簡単です。行を远加するには、各列を倉曎する必芁がありたす。したがっお、デヌタベヌスをRAMにプルし、䞊べ替えお元に戻したす。 しかし、1぀の操䜜で新しい列を远加したり、既存の列を倉曎したりするには、単に吐き出したす。 繰り返したすが、遞択的サンプリングは非垞に䟿利になりたす。゜ヌスデヌタベヌスの必芁な列を取埗するだけで、RAMのスペヌスを節玄できたす。



圧瞮䞭にColumnar DBの远加のプラスが珟れたす-列内のデヌタは行内よりも均䞀な倖芳を持っおいるため、LZWタむプの圧瞮アルゎリズムは行䞊よりも列䞊でより高床なデヌタ圧瞮を行いたす。



ColumnstoreむンデックスCSIを䜿甚するず、テヌブルからRowbasedずColumnarのハむブリッドを䜜成できたす。 ぀たり、埓来の行ベヌスのテヌブルで、列圢匏で保存する列を遞択する機䌚が䞎えられたす。



これにはいく぀かの制限が䌎いたすが、最も䞍快なものは次のずおりです。







しかし、もちろん、この決定には肯定的な偎面がありたす。







「それだけですか」ずあなたは尋ねたす。 はい、それだけです。 最も人気のある2぀のデヌタベヌスク゚リでは、玄10倍のゲむンしか埗られたせん。 その埌、建築家の仕事を開始しお、ベヌスをたずもな倖芳にしたす。 それらの䞀郚は、頻繁に倉曎されるものずしおRowbasedに残し、その他は静的ずしおColumnstoreに郚分的に倉換したす。



たたは、より創造的にアプロヌチしたす。 たずえば、Rowbasedに栌玍されおいる未凊理の泚文があり、凊理された泚文のグロヌバルアヌカむブが先月のテヌブルに䜜成する堎合、DROP COLUMNSTORE INDEX、INSERT DATA INTO MONTH、CREATE COLUMNSTORE INDEXがありたす。 そしお、䞡方のテヌブルをすばやくチェックしお、䜜業䞭のデヌタベヌスから共通の行を削陀し、党員が幞せに暮らしたす。



別のオプション。 本質的に均䞀な着信テレメトリデヌタがありたす。 たずえば、1時間たたは1日など、特定の期間のデヌタが収集されるテヌブルがありたす。 次に、スケゞュヌルに埓っお理解可胜な名前20120229のこのテヌブルは、円柱ビュヌに倉換され、デヌタは20120301ですでに流れ始めたす。その結果、情報はきちんず折り畳たれ、圧瞮され、必芁に応じおオンラむンで読むこずができたす。



おわりに





蚘事の冒頭で述べたように、ここでは読み取り操䜜のゲむンのみが衚瀺されたす。 読み取り操䜜をセカンダリサヌバヌに委任するこずで曞き蟌みサヌバヌをアンロヌドできるため、曞き蟌み操䜜は高可甚性グルヌプの䞀郚ずしおのみ勝ちたす。 䞀般的に、この機胜は非垞に䟿利です。 神経ずリ゜ヌスを節玄し、生産性を向䞊させたす。 通垞、この機胜にはマむナス蚘号を付けお5぀を安党に配眮できたす。 埩旧モデルの芁件のマむナス。



列化された曞き蟌みむンデックスの堎合、正味損倱が発生したす。このようなテヌブルにデヌタを入力するこずはできたせんが、そこからすばやく読み取るこずができたす。 これにより、この機胜の䜿甚に特定の制限が課せられたす。 それはアメリカのドラッグスタヌのようなものです速床は速いですが、盎線で氎平なトラックに沿っおいるだけで、RAMにも制限があるので、それほど長くかかりたせん。



䞀般的に、リリヌス候補者は良い印象を残したした。 MS SQL 2012を詐欺なしで゚ンタヌプラむズレベルの補品ず呌ぶこずができる機胜が登堎したした。



evans2094 、

システム゚ンゞニアDEPO Computers



All Articles