1. ホーム
  2. sql

[解決済み】データベースへの「ネイティブ」SQL接続を使用するとはどういう意味ですか?

2022-02-04 08:41:23

質問

最近、チームプロジェクトで仕事をするようになりました。

私はデータベース初心者で、このプロジェクトの直接の担当者でもないのですが、このプロジェクトがどのようなものかを学びたいのです...。

基本的に、私の会社はSybase ASE (Adaptive Server Enterprise) データベースにすべてのデータを保存しています。

現在、会社はデータベースへの接続にDBLIBという技術を使っているようですが、どうやらDBLIBは本当に時代遅れで遅いので、会社はすべてのDBLIB関連から脱却したいと考えているようです。

チームプロジェクトの説明に、こうあります。

Retire all DBLIB connections and implement the native Sybase SQL connection...

Sybase の SQL ネイティブ接続の意味がよくわからないのですが......。

OLEDBを使うという話を聞いたような気がするのですが...。

OLEDBは"native"sql接続技術なのか?この用語は正確に何を意味し、なぜこれが重要なのでしょうか?

ありがとうございます。

解決方法は?

データベースソフトは通常、どこかのマシン上で動作するサーバーです。 他のアプリケーションは、このサーバーに接続することで通信し、情報がやり取りされる必要があります。 この他のアプリケーションとは、クエリーインターフェイス、エクセル、プログラミング言語など、さまざまなものがあります。

何がやり取りされるのか? 昔々、データベースはそれぞれ独自のインターフェース仕様を持っていました。 というのも、データベースへの指示はすべてSQLという(一見)標準化された言語を使っているからです。 (データベースベンダーは、主にSQLを破ることで標準SQLを守っているのですが、これは余談です。)

そこで、ODBC(Open Database Connectivity)規格が誕生したのです。 そして、すべてのデータベースがODBCをサポートするようになったのです。 その後、OLEDBなど、他の方式も生まれました。 同時に、データベースも本来のネイティブなインターフェースを維持するようになりました。 ネイティブ・インターフェースの利点は、データの受け渡しの際に、1〜2段階のパース作業が不要になることです。 単一のデータベースに固執しているのであれば、これは合理的なことです。 時には、ネイティブ・インターフェースでできることで、他の方法では利用できないことがあります。

これはかなり簡略化された(そしてできればあまり不正確でない)歴史です。 しかし、「ネイティブ・インターフェース」という用語が何を指しているのか、その背景をある程度理解することができるはずです。