LOB 【Large Object】 ラージオブジェクト
概要
LOB(Large Object)とは、リレーショナルデータベース(RDB)のテーブルに、単体で巨大なサイズになるデータを格納する仕組み。バイナリ型のBLOB(Binary LOB)、テキスト型のCLOB(Character LOB)などの種類がある。通常のデータ型の仕様の範疇では収まらない大きなデータや、それ自体が内部に複雑な構造を持つデータを格納するのに用いられる。最大サイズはシステムにより異なるが、ストレージ容量が許せばギガバイト(GB)やテラバイト(TB)で表されるサイズまで対応可能なことが多い。
LOBはレコード中のフィールドとして他のデータと同じように扱うことができるが、内部的にはテーブルの保存領域とは別に、外部に用意した特別な領域に格納され、テーブル側には保存位置への参照のみが格納される実装になっていることが多い。これによりテーブル本体のデータサイズの肥大化を抑え、性能が劣化しないよう配慮している。
SQL文などでデータの追加や更新、取り出しを行うのは他のデータ型と同じように可能だが、WHERE句などで文字列や数字のように条件式を用いて比較などを行うことは制限される場合がある。
多くのデータベース管理システム(DBMS)では実際のデータ型として、画像などのメディアデータや実行可能プログラムなどを格納できるバイナリ形式の「BLOB」(Binary Large Object)と、マークアップ言語やプログラミング言語で書かれたデータや長大なテキストデータを格納できるテキスト形式の「CLOB」(Character Large Object)を用意している。
(2021.10.23更新)