今日ではあらゆる企業が何らかの形でデータを収集しています。大企業はすでにデータの収集、保存、分析に関するプロセスを確立しており、中小企業やスタートアップでも整備が進んでいます。これは、データの収集と分析が以下の点で極めて大きなメリットをもたらすためです。
ビッグデータの活用とデータの民主化が進む中で、AIが普及し始めた現在では、データに基づくインサイトをかつてないほどたくさん利用できるようになりました。
ほとんどの企業がすでに、データベース、CRMプラットフォーム、自動化システムなどを使ってデータを収集および管理していますが、データの形式やエントリのタイプが異なるために情報の不整合や重複が生じることがあります。データ収集を効率化するには、データ管理のプロセスを合理化する必要があります。そこで重要になるのがデータの正規化です。
データの正規化とは、簡単に言えば、データエントリを体系化し、すべてのフィールドとレコードの形式を揃えて、情報の検索、グループ化、分析を容易にするためのプロセスです。データを正規化する技法と規則にはさまざまなものがあります。
この記事では、データの体系化と管理を効率化するための基本とヒントをご紹介します。
データの正規化は、データに適用できる多くの処理の中の1つです。データを整理して「大掃除」することで、ユーザーがデータを検索、活用し、出力を分析しやすくします。
データセットを正規化するときは、非構造化データや冗長なデータをすべて排除して、より優れた論理的な方法でデータを格納できるように整理します。
データを正規化する主な目的は、システム全体でデータの形式を標準化することです。これにより、データを検索および分析しやすくなり、ビジネス上の意思決定により効果的に利用できるようになります。
データの正規化をデータパイプラインに組み込めば、データの全体的な可視性を向上させることができます。この考え方をデータオブザーバビリティと呼びます。
データを正規化すれば、最終的にはデータを最適化して、その価値を最大限に引き出すことができます。
しかし残念ながら、多くの組織がデータを最適化できていません。組織が収集したデータの量は膨大で、そのほとんどがそのままの状態であり、活用されず価値が見出されていません。一方で、世界は今、AIの時代に突入しています。そこで1つ確かなのは、AIの時代に成功を掴むために、「すべてのデータ」を活用する必要があるということです。
(もちろん、AIに必要なのはデータだけではありません。ガバナンス、倫理、フレームワークは基本中の基本ですが、今日私たちが知り得る限りのリスクを避けながらAIの価値を引き出すには、多くの検討事項があります)
後で説明するように、データの正規化には他にも多くのメリットがあります。しかし、最初にデータを正規化する主な技法をいくつか知っておくことが重要です。
(関連記事:データプラットフォーム(英語)、データベース監視(英語))
データの正規化の基本は、組織のデータベース内のすべてのデータに適用するデフォルトの(標準化された)形式を定義することです。データの種類によって正規化の方法は異なります。以下にデータの正規化の例を示します。
問題は、データを一括して正規化する方法を確立することです。通常は、データを保護し、データの異常を取り除くための一連の手法を取り入れながらデータテーブルを作成し、すべてのテーブルを関連付けます。こうした正規化の技法や手法ではさまざまな形式が使用されます。次に、これらの形式について見ていきましょう。
(関連記事:DBMS (データベース管理システム(英語)))
データの正規化は特定の規則に従って行います。この規則を「正規形」と言います。データの正規形は階層化されており、各規則が下層の規則の上に成り立ちます。つまり、データが第1層の規則に合致している場合にのみ、第2層の規則が適用可能になるといった具合です。
データの正規形にはさまざまな種類がありますが、最も一般的で広く使われ、ほとんどのデータセットに適用できる正規形には、以下の4つがあります。
第1正規形(1NF)は、データの正規化における最も基本的な形式です。この規則の必須条件は、1つのグループが繰り返しのエントリを持たないようにすることです。その結果、次の点が保証されます。
たとえば、顧客の氏名、住所、性別、注文したSplunk Tシャツのサイズを1行ずつ記録したテーブルが該当します。
第2正規形(2NF)は、第1正規形の規則に従っていることが前提となります。この規則でも、目標は、1つのデータセットが繰り返しのエントリを持たないようにすることです。このデータの正規化規則を適用したエントリでは次の点が保証されます。
1つのプライマリキーを定めるには、基本的に、複数行に繰り返される可能性のあるデータのサブセットを、別のテーブルを作成して移動する必要があります。その後、2つのテーブルのデータを外部キーのラベル(下の例では数字)を通じて関連付けます。
先ほどの例で「顧客番号」をプライマリキーにした場合、複数行に分ける必要のあるデータ(注文したTシャツの各サイズ)をサブセットとして新しいテーブルに移動し、対応する外部キーを設定します。
第2正規形のデータの例:
顧客番号 | 氏名 | 住所 | 性別 |
---|---|---|---|
1 | Joe Bloggs | 37 Buttercup Avenue | 男性 |
2 | Jane Smith | 64 Franciso Way | 女性 |
3 | Chris Columbus | 5 Mayflower Street | 男性 |
顧客番号 | Tシャツのサイズ |
---|---|
1 | L (大) |
2 | S (小) |
2 | M (中) |
3 | M (中) |
第3正規形のデータモデルには次の規則が含まれます。
この規則を満たすには、プライマリキーが変更された場合に影響を受けるすべてのデータを新しいテーブルに移す必要があります。
この例では、ある顧客の氏名、住所、性別を登録した後、氏名を修正するときに性別の変更も必要になるかもしれません。そのため、性別に外部キーを設定して、性別のデータをすべて新しいテーブルに移動します。
第3正規形のデータの例:
顧客番号 | 氏名 | 住所 | 性別ID |
---|---|---|---|
1 | Joe Bloggs | 37 Buttercup Avenue | 1 |
2 | Jane Smith | 64 Franciso Way | 2 |
3 | Chris Columbus | 5 Mayflower Street | 1 |
顧客番号 | Tシャツのサイズ |
---|---|
1 | L (大) |
2 | S (小) |
2 | M (中) |
3 | M (中) |
顧客番号 | Tシャツのサイズ |
---|---|
1 | L (大) |
2 | S (小) |
2 | M (中) |
3 | M (中) |
性別ID | 性別 |
---|---|
1 | 男性 |
2 | 女性 |
3 | ノンバイナリー |
4 | 無回答 |
ボイス・コッド正規形(BCNFまたは3.5NF)は、第3正規形データモデル(3NF)の発展形で、第3正規形のテーブルから、重複する候補キーを切り出したものです。この正規形のデータモデルには次の規則が含まれます。
基本的に、X → Yの関数従属性で、Yが主キー属性の場合、Xは非主キー属性になることはありません。
基本的な概念を理解したところで、データの正規化がビジネスにもたらすメリットをご紹介します。データベースが体系化されて適切に構造化される以外に、ビジネス面でも多くのメリットがあります。
データを正規化しない場合、データベース内の複数の場所に顧客情報などが重複して保存される可能性があります。データを整理して重複をなくせば、貴重なストレージ領域を節約して、システムの処理スピードと効率を向上させることができます。
(関連記事:顧客データ管理(英語))
正規化した後は、一般的なクエリーの実行で検索スピードが大幅に向上します。また、組織内の多くのチームが、複数の場所に散らばったデータセットを探し回ることなく、1カ所で情報を検索できます。
データを正規化すれば、異常なデータを排除してデータストレージの整合性を保てるというメリットもあります。データベースの構造に関する問題は、データベース内で情報を追加、更新、または削除するときにエラーが発生することで判明します。
データの正規化規則を適用すれば、情報の入力または更新時に、データに重複や誤りがないこと、情報の削除時に他の関連データに影響がないことを保証できます。
(関連記事:最新のアノマリ検出(英語))
データの正規化は、幅広いソースからインサイトを収集する場合にも役立ちます。特に、SaaSプラットフォームやWebサイト、ソーシャルメディアなどのデジタルソースからデータをストリーミング、収集、分析する場合に便利です。
データの正規化は、ビジネスの成長にも貢献します。たとえば、リードセグメンテーションなどの戦術において、データが正規化されていれば、以下に基づいて連絡先をグループ化し、包括的なカテゴリに分類できます。
こうした分類ができれば、リードに関する情報を簡単に見つけることができ、ビジネスの成長を支えるチームの負担を軽減できます。
一方で、実際のところはどうなのでしょうか。データの正規化が組織にもたらすメリットが大きいのは確かですが、踏まえておくべき欠点もあります。
データを正規化する方法が複雑になると、一部の分析クエリーの実行に時間がかかる場合があります。特に、大量のデータを取得するクエリーではこの問題が発生しがちです。データの正規化規則に従うことで複数のデータテーブルが必要になると、その分、スキャンに時間がかかります。
従来は、クエリーの実行に多少時間がかかってもストレージの使用量を減らすことを優先していましたが、今後はストレージの価格が低下していくと見込まれます。
データを適切に正規化するには、データの正規形と構造について詳細かつ正確な基礎知識を身に付ける必要があります。初期段階で設定を誤ると、データの整合性に関する重大な問題につながります。
データを正規化するときは、データベースを設定するだけでなく、適切な担当者にトレーニングを行ってその内容を理解してもらう必要があります。正規形の規則に従うデータの多くは数値として保存されます。つまり、テーブルには実際の情報ではなくコードが保存されます。そのため、常にクエリーテーブルを参照する必要があります。
開発者やデータアーキテクトが、ディスクストレージを必要としないドキュメント指向のNoSQLデータベースや非リレーショナルシステムの導入を検討するケースが増えています。今日では、データの正規化と非正規化をバランスよく取り入れることが一般的になっています。
データの正規化には時間と労力がかかりますが、欠点をはるかに上回るメリットがあります。さまざまなソースから収集したデータを適切に正規化しなければ、その多くは組織にとって真の意味をもたらさず、役に立たないものになります。
今後、データベースやシステムの進化によってストレージの制約が軽減される可能性がありますが、それでも、データの形式を標準化してデータの重複や異常を防ぐことは、データの全体的な整合性を向上させるために重要です。データの正規化は、ビジネスの潜在能力を高め、組織の強化と成長の可能性を広げます。
その意味で、データの正規化は、今日の組織が取り入れられる強力な戦略の1つと言えます。
このブログはこちらの英語ブログの翻訳です。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。