DBMSをアプリケーションが利用するにはなんらかのドライバーが必要ということはご存知と思います。
一般のアプリケーションでDBMSとの低水準なインターフェースを用いてコードを書くのは現実的ではありませんから、「DBと接続」「SQLを発行」「result setを取得」といった高水準のインターフェースを利用しますね?
そうした高水準なインターフェースを提供するソフトウェアをDBドライバーと呼んだりします。それには色々な種類がありますがODBC, JDBCなどは代表例と言えると思います。特にODBCはC言語のインターフェースを利用しており、Cは高水準言語の中でも様々な言語と接続することが容易な言語(誤解を恐れずいえば高水準言語の中でも低水準な言語)といえるのでODBCを用意しておけばCモジュールとインターフェースを取る能力のあるあらゆる言語から利用可能になるわけです。そういう意味で一般性の高いドライバーということができると思います。
かたやJDCBはJavaからの利用を想定したものでありJVM上で動作してJavaとインターフェースを取れる言語に向いたものです。例えばJavaとかScalaとかJRubyとかJythonとかそうしたもろもろのJVM言語です。JVM言語も世の中に沢山あるので一般性の高いドライバーの一つと言えると思います。
さてmysqlがnodejsのmysqlモジュールのことを指しているならそれはjavascriptで用いることができるドライバーと言えます。javascirpt自体、あるいはjavascriptとインターフェースが取れる言語から利用できるドライバーと言えますね。
mysqlのGithubの作者コメントを見るとoracleの技術者に低水準プロトコルについて技術支援を得たといったことが書いてあるのでTCP/UDPを通じた低水準プロトコルを使ってMySQLとやりとりするドライバーなのだろうと思います。実際インストールの説明にはnpm install mysql
としかかかれておらずODBC/JDBCのインストールについては何も触れられていませんのでODBC/JDBCを前提としないドライバーと言えると思います。
あなたがnodejsのアプリケーションしか作らないのであればあなたにとってODBCの存在は(一般的かどうかには関係なく)「必要のないもの」と感じると思います。しかし世の中一般について考えてみるとC言語のインターフェースを通じてDBMSと接続するアプリケーションは非常に沢山ありこれを必要としているプログラマーもまた非常に沢山存在していると言えると思います。
もし何年後かにC言語が一般的でなくなりnodejsで誰もがプログラムを作る時代がきたとしたら「ODBCが一般的」という記事は消え去り「かつてはODBCを使って接続することが一般的だった」という記述に変わることだろうと思います。今はどうなのでしょうか?多分nodejsの方が少数派なのだと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/15 05:13