SQL Server高のよくある問題分析


毎回SQL Serverの高さに言及すると、多くのDBA、特にSQL Server DBAの心の中が痛くなります。みんながSQL Serverができないと思っているからです。あるいはSQL Serverを実現するのは難しいです。多くのDBAの友達が頭をたたいて答えを出しました。「高さはマイクロソフトの技術ではないですか?Replication、Failover Custering」。答え:いいえ、実はSQL Serverはとても力があります。2.なぜ多くの人がSQL Serverの中で高機能であると文句を言っていますか?ここはいくつかの面から言えば。まず、接触した多くの項目(欧米が多い)については、これらの項目にはいわゆる海量データがあり、多くの高性能アプリケーションがあります。後ろにはSQL Serverが採用されています。しかも、第三者のデータベースサポートソフトはまだ採用されていません。次に、人の問題について話しましょう。人はすべてこのような習慣があります。毎回問題が発生した後に、第一反応は逃避です。それからいい理由やスケープゴートを探して、最後にやってきます。技術自体がだめです。これはちょっと似ています。野菜や鳥が宝刀を使う時、死人を殺すことはできません。自分の能力が高くないとだめです。ここまで言うと、前のCSDNパスワードの漏洩問題を思い付いて、多くの人がマイクロソフトの技術がダメだと罵っています。マイクロソフトの技術で安全性の高いアプリケーションを実現した会社に笑われました。また、概念的な概念で!多くの人はReplicationは高利用だと思っていますので、Replicationは彼らの問題を解決できると期待しています。ここまで言うと、「JQueryはajax技術だと思っています」というような誤解をいくつか思い出しましたが、jqueryはただのフレームで、ajaxを実現するために使えます。「アーキテクチャ設計は設計モードとアーキテクチャモードの使用である」と考える人がいますが、実はアーキテクチャ設計は一種の思惟であり、それらのモデルはただ一つの小さな手段であり、構造設計を一つのビルに例えると、それらのモデルはせいぜいレンガであって、全部ではありません。同じように、Replicationも利用可能な中の「一枚のれんが」だけを実現します。最後に、技術の習得が足りず、多くの人が問題に直面した時に解決できなくなりました。それに、誰に解決してもらえるか分かりません。どこで探しますか?3.高利用は一つのソフトや製品でできますか?ここで多くの人が考えているのはOracleのRACです。第三者の製品もあります。異なる製品はパッケージの程度が違っています。多くのものをパッケージ化した製品もあります。使用者がどのように道具を使えばいいかを学ぶだけで、細部を把握する必要はありません。しかし、これらの製品を使う時、配置と操作をする時、実際には製品の設計者の思想によって高い利用ができます。ただ、この過程は「使用マニュアル」だと思っています。SQL Server自体はこのような完全パッケージの製品を提供していませんが、高機能設計に必要なコア技術とコンポーネントはすでにあります。同じ料理の材料と道具で、上手な料理人が作ったのは美味しい料理です。普通の料理人は料理を作るだけです。4.高利用はデータベース技術だけですか?高い利用可能性を実現するには、データベースレベルの上の内容だけではなく、より多くの必要があるのは設計とアーキテクチャ能力である。ソフトウェア、ハードウェア、オペレーティングシステム、ネットワーク、データベースなどの技術が必要です。また、高利用も具体的な技術ではなく、概念であり、実現の方法は千万千万です。「高利用は読み書き分離」、「高利用は負荷バランス」という人がいますか?足の指でこれらの質問に答えられます。5.万能な製品と万能な方案がなく、すべては「状況によって決まる」と多くの人が論争しています。「共有ディスク(データベース)がない」がいいです。「水平分割」がいいです。これらの話ははっきりしています。単独で討論することには何の意味もありません。技術を具体的な応用に使わないと、経済的価値をもたらさないし、技術は何でもない。製品、技術などは一定の使用範囲と限界があります。多くのコミュニティの友達が討論する時、いつも万能な製品の特性が好きです。例えば、「SQL Server 2012のAlwaysOn」は高い利用ができます。技術は人が使っています。製品は私達が設計に使っている部品の一つです。最後のデザインはやはり人を見ます。十数年前から、多くの会社の大型アプリケーションはSQL 2000を採用していました。その時、SQL Serverはまだこんなに多くの機能と部品がありませんでした。