インピーダンスミスマッチ

インピーダンスミスマッチとは、インピーダンスの整合ができていない状態のことである。電気電子の分野においては、エネルギーの伝送という観点からは反射や損失を発生させ、非効率の原因となるため問題にされる。理論的には、電気的なものに限らず、音波などといった媒質中を伝搬する波について全く同様の現象がある。

 電気電子 
電気的総合的な説明はインピーダンス整合（この記事名である「インピーダンスミスマッチ」の対義的な語である「インピーダンスマッチ」のことである）の記事にある。また高周波（RF）の場合の、無線機と給電線とアンテナの運用における実際的な内容については、マッチング (無線工学) の記事にある。

 コンピュータシステム 
コンピュータシステムでは、物理的な対応があるアナロジーではないが、APIなどのようなレイヤや領域が異なるシステム間の界面（インタフェース）において、想定された設計と異なる使われ方（ユースケース）であったり、「セマンティックギャップ」がある場合に、その界面を挟んだ処理の効率の低下や、プログラミングなどの実装の工数の著しい増加などといった非効率が発生することから、そういった不整合を「インピーダンスミスマッチ」と俗に呼ぶことがある。

 データベースにおける事例 
山田祥寛の著書『ASP.NET MVC 5 実践プログラミング』によれば、特に、アプリケーション開発においてしばしば発生するオブジェクト指向言語とリレーショナルデータベースとのギャップのことを指す。システム開発上、煩雑となりがちで生産性が著しく低下する要因として挙げられる。主に、この問題を解決するO/Rマッピングなどの手法を説明する文脈で用いられる。

オブジェクト指向プログラミングとリレーショナルデータベースは異なるデータモデルを持つ。リレーショナルデータベースの関係モデルは整合性を重視した２次元表の構造を持っており、データ同士は関係（リレーション）によって表現される。一方オブジェクト指向プログラミングのデータはひとまとまりのオブジェクトとして扱われ、関係モデルにおける関係と同じような構造を持つとすれば、オブジェクト指向としての恩恵が得られるモデル設計ができない。逆も然り、オブジェクトモデルをリレーショナルデータベースで実現しようとすると、整合性が損なわれたり、関係が表現できなくなる。このデータ構造や概念の隔たりがインピーダンスミスマッチと呼ばれる。

 脚注  

 関連項目  
 O/Rマッピング
 Entity Framework
 LINQ
 NoSQL

Category:オブジェクト指向
Category:オブジェクト関係マッピング
Category:データベース
Category:関係モデル