インピーダンスミスマッチ【impedance mismatch】

概要

インピーダンスミスマッチとは、異なるシステムやコンポーネント間でデータや信号をやり取りする際に、それぞれの「作法」や「構造」が食い違うことで生じる不整合のこと。
インピーダンスミスマッチのイメージ画像

もとは電気工学の用語で、回路間の電気的特性(インピーダンス)がズレていると、信号が反射・減衰してしまう現象を指す。この概念がソフトウェア工学に転用され、現在では主に、オブジェクト指向プログラミングリレーショナルデータベースの間で生じるデータ構造の齟齬を指す文脈で用いられることが多い。

オブジェクト指向言語では、データオブジェクトクラスインスタンス)として扱い、継承や関連といった複雑な構造を表現する。一方、リレーショナルデータベースデータを行と列からなる「表」(テーブル)の形式で管理し、テーブル同士の結合によって関係を表現する。この両者はデータの持ち方が根本的に異なるため、アプリケーション側でオブジェクトデータベースに書き込んだり、逆に読み出したりする際に変換処理が必要になる。

この変換を担うのが「O/Rマッピング」(ORMObject/RDB Mapping)と呼ばれる技術である。Javaの「Hibernate」やRuby on Railsの「Active Record」などが代表例で、開発者がSQLを直接記述しなくてもオブジェクトとテーブルを対応付けられるよう設計されている。ただし、ORMを用いても複雑なクエリや継承関係の表現においては限界があり、変換の仕組みを完全に隠蔽できるわけではない。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。