451 文字
2 分
DBにおける構造化データと非構造化データの違い
構造化データ
データストレージに配置される前に事前定義され、ある定められた構造となるように整形されたデータ
決められた形式で記述されたデータ
- テーブルのような明確な構造を持つ
- 行と列で構成される
- 属性と呼ばれるデータ項目の集合体
- データ検索や分析がしやすい
- トランザクション処理に適している
- データの一貫性を保ちやすい
例
- Excel ファイル
- SQL データベース
- POS データ
- ウェブフォームの結果
- 検索エンジン最適化 (SEO) タグ
- 製品ディレクトリ
- 在庫管理
- 予約システム
CSV
id,name,description1,aaa,bbb2,ccc,ddd3,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>
使い分け
構造化データ
- データ分析
- レポート作成
- トランザクション処理
非構造化データ
- コンテンツ管理
- コミュニケーション
- データマイニング