ハードウェアおよびOSプラットフォームのカテゴリとは?データウェアハウスに適した3つのプラットフォームを解説
ハードウェアおよびOSプラットフォームの主なカテゴリ
データウェアハウスを構築する際に選択できるハードウェアおよびオペレーティングシステム(OS)プラットフォームには、大きく分けて「メインフレーム」「オープンシステムサーバー」「NTサーバー」の3つのカテゴリがあります。それぞれの特徴と、データウェアハウスへの適合性について詳しく見ていきましょう。
1. メインフレーム
メインフレームは、データウェアハウスの基盤としては第一の選択肢にはなりません。ただし、成功しているメインフレームベースのデータウェアハウスも存在します。その多くは、長年にわたりメインフレーム上で稼働してきたために移行コストが高すぎるケースや、余剰容量を活用することで限界費用を抑えられているケースです。
メインフレームは、データウェアハウスにとって必ずしもコスト効率が良いとは言えません。管理コスト、ハードウェアコスト、プログラミングコストは、一般的にオープンシステムプラットフォームよりも高くなります。これは、メインフレーム環境が堅牢なトランザクション処理インフラで構成されており、その一部がデータウェアハウスには不要だからです。
また、メインフレームは本来トランザクション処理の要件を満たすために設計されているため、プログラミングの観点からは柔軟性に欠けます。ツールや技術は堅牢である反面、扱いが難しいという側面もあります。ウェアハウスへ新しいデータソースを追加したり、既存の抽出処理を維持したりするだけでも、負担の大きい作業になりかねません。
2. オープンシステムサーバー(UNIXサーバー)
オープンシステムサーバー、すなわちUNIXサーバーは、現在の中規模以上のデータウェアハウスにおける主要なプラットフォームです。UNIXは本番アプリケーションを支えるのに十分な堅牢性を備えており、10年以上前から並列処理にも対応してきました。
UNIXサーバーの市場はかなりコモディティ化しています。一方で、メインフレームの専門家やPCプログラマにとって、UNIXは難解で異質な環境に感じられることがあります。また、メインフレームで標準的だった一部のツールやユーティリティは、UNIXでは一般的ではありません。
UNIXサーバーをプラットフォームとして選択する場合、ウェアハウスチームはUNIX環境の導入・管理に関するリソースと経験を確保する必要があります。これは通常、サーバー管理部門との緊密で協力的な連携によって実現されます。
さらに、データウェアハウスがUNIX環境に依存する場合、ウェアハウスチームは基本的なUNIXのコマンドやユーティリティを習得し、ウェアハウスの開発・運用を自ら行えるようにしておく必要があります。
3. NTサーバー
NT(Windows NT)は、サーバー市場において最も急速に成長しているOSですが、中規模のデータウェアハウスをサポートできるようになったのはごく最近のことです。NTに対応した実用的な大規模ハードウェアプラットフォームも、ようやく登場しつつある段階でした。
当時の並列処理機能は一桁台のプロセッサ数に制限されており、NTサーバーのクラスタリングも実用段階に入ったばかりでした。NTは今後間違いなく強力なOSプラットフォームへと進化していきますが、現時点では中規模〜大規模のウェアハウスには最適な選択肢とは言えません。
ただし、アトミックデータマートからデータを供給されるような小規模なウェアハウスやデータマートについては、NTは十分に費用対効果の高いプラットフォームとなり得ます。
-
Unix系OSはあなたに向いている?特徴・メリット・デメリットを徹底解説
オペレーティングシステム(OS)とは、デバイスのハードウェアと、ユーザーが実行するプログラムとの間をつなぐソフトウェア層のことです。小売市場で広く普及しているデスクトップ向けOSとしては、Windows、macOS、Linuxの3つが挙げられます。ここで押さえておきたいのが、「Unix」という特定のOSが単体で存在するわけではないという点です。Unixとは、macOS、Android、Linuxなどを含むオペレーティングシステムのファミリー(系統)を指す総称です。なお、WindowsはUnix系には含まれません。Unix vs. Windows:競争の歴史と今後の展望UnixコンピュータOSは
-
C#のstringとStringの違いとは?文字列データ型の基礎を徹底解説
C#におけるstringとStringの関係 C#では、Stringは.NETのクラス「System.String」そのものを指し、一方のstringはSystem.Stringに対して付けられたエイリアス(別名)です。つまり、両者は本質的にまったく同じ型を表しており、どちらを使っても動作に違いはありません。 例えば、次のように記述できます。 string str = Welcome!; 使い分けの一般的な慣習 厳密なルールがあるわけではありませんが、実務では次のように使い分けられることが一般的です。 string:変数宣言など、通常のコード内で使用する String:Stringクラスの