[20] 色々なプログラミング言語のライブラリーなどでは、 接続先のデータベースやオプションを指定するために、 URL が用いられています。
[21]
そもそも URL の多くは、何らかの意味のデータベースに接続して情報を得たり、
書き込んだりするものです。例えば https:
URL
は HTTPS プロトコルを介してハイパーテキストデータベースにアクセスすることを表しています。
[22] 本項でいう「データベース」は、それよりも限定されたもので、 プログラムが情報の保持に用いる関係データベースやいわゆる NoSQL データベースなどです。
[5] 本項に該当する URL の多くは、接続先のデータベースを表しています。 すなわち、データベースへ接続するために必要なプロトコル、 ホスト、データベース名、接続オプションなどを URL に含めています。
[7] データベース内のデータにまでアドレス付けしている URL scheme は今のところなさそうです。
[4] データベースの種類 (接続プロトコルの種類) ごとに、 色々な URL scheme が使われています。
[6] あらゆる点でほとんど実装依存であり、標準化の動きもありません。 みな似たような構文と意味に収まっていますが、細かい点に色々と違いがありそうです。
DATABASE_URL
[14] Ruby on Rails は設定ファイル内で接続先のデータベースを URL
で指定できるとしています。加えて、環境変数 DATABASE_URL
によって指定する方法も提供しています。
[8] ODBC や Perlモジュールの DBI は、接続先のデータベースの種類 (プロトコル) によらず (ほぼ) 共通化された構文の接続文字列や DSN を採用していました。 これが単一の文字列によって接続先データベースの記述を統合的に扱おうとした事例のはしりなのでしょうが、 接続文字列は構文的に URL とまったく異なっていましたし、 DSN も URL とは見なされていませんでした。
[9] データベースへ接続するためにはホスト、プロトコル、 データベース名など色々なオプションを指定しなければなりません。 データベースを扱うアプリケーションの起動時や設定ファイルでこれを一々指定するのも中々大変ですし、 複数のデータベースに接続する巨大なアプリケーションではデータベース管理だけで一苦労です。 その点、 URL のようにこうした指定を1つの文字列にまとめられると、 データベースごとに1文字列を指定できるようにすれば良いだけなので、 開発者も運用担当者も楽になります。
[1] Engine Configuration — SQLAlchemy 0.9 Documentation ( 版) <http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html#database-urls>
[11] seamusabshere/database_url: Convert back and forth between Heroku-style ENV['DATABASE_URL'] and Rails/ActiveRecord-style config/database.yml hashes. () <https://github.com/seamusabshere/database_url>
[13] John Griffin: Rails 4.1: Database URLs (John Griffin著, ) <http://www.johng.co.uk/2014/04/29/rails-41-database-urls/>