451 文字
2 分
DBにおける構造化データと非構造化データの違い

構造化データ#

データストレージに配置される前に事前定義され、ある定められた構造となるように整形されたデータ

決められた形式で記述されたデータ#

  • テーブルのような明確な構造を持つ
  • 行と列で構成される
  • 属性と呼ばれるデータ項目の集合体
  • データ検索や分析がしやすい
  • トランザクション処理に適している
  • データの一貫性を保ちやすい

#

  • Excel ファイル
  • SQL データベース
  • POS データ
  • ウェブフォームの結果
  • 検索エンジン最適化 (SEO) タグ
  • 製品ディレクトリ
  • 在庫管理
  • 予約システム

CSV

id,name,description
1,aaa,bbb
2,ccc,ddd
3,eee,fff

SQL

-- 顧客情報テーブル
CREATE TABLE customers (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
-- 商品情報テーブル
CREATE TABLE products (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
price DECIMAL(10,2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
-- 注文情報テーブル
CREATE TABLE orders (
id INT NOT NULL AUTO_INCREMENT,
customer_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
FOREIGN KEY (customer_id) REFERENCES customers (id),
FOREIGN KEY (product_id) REFERENCES products (id)
);

非構造化データ#

ネイティブな形式のまま保存され、使用時まで処理されないデータ

決められた形式を持たないデータ#

  • テキスト、画像、音声、動画など、さまざまな形式
  • データ検索や分析が難しい
  • トランザクション処理には適していない
  • データの保存や管理にコストがかかる

#

  • SNSに投稿された記事や画像
  • メール
  • 文書
  • 画像
  • 音声
  • 動画

JSON

{
"name": "John Doe",
"email": "johndoe@example.com",
"address": {
"street": "123 Main Street",
"city": "San Francisco",
"state": "CA",
"zip": "94105"
},
"phone_numbers": [
"123-456-7890",
"012-345-6789"
]
}

半構造化データ#

#

XML

<customer>
<name>John Doe</name>
<email>johndoe@example.com</email>
<address>
<street>123 Main Street</street>
<city>San Francisco</city>
<state>CA</state>
<zip>94105</zip>
</address>
<phone_numbers>
<phone_number>123-456-7890</phone_number>
<phone_number>012-345-6789</phone_number>
</phone_numbers>
</customer>

使い分け#

構造化データ#

  • データ分析
  • レポート作成
  • トランザクション処理

非構造化データ#

  • コンテンツ管理
  • コミュニケーション
  • データマイニング

関連記事#

SQLとNoSQLの違い