Chrome、Firefox、Opera、SafariなどのWebブラウザで最も使用されているデータベースサーバーは何ですか? Webブラウザーは理解できないかもしれませんが、Webアプリケーションがデータベースサーバーを持っているのと同じように、データベースサーバーが必要だと思います。
Webアプリケーションにデータベースサーバーがあるのと同じように、データベースサーバーが必要だと思います。
その仮定の根拠は何ですか? WebブラウザとWebアプリケーションは別のものであり、それらはdo別のものです。したがって、それらは自動的に要件を共有しません。
ブラウザはcanであり、データベースを使用することがよくありますが、do n't「Webアプリケーションはデータベースを使用するため」です。データベースを使用する場合、データベースを使用する場合は、特定のニーズがあります。長期的な検索可能なデータストレージです。それでおしまい。
多くのWebアプリケーションでは、データベースの必要性は明らかです。ユーザーアカウントを持っている場合は、それらのアカウントをどこかに保存する必要があります。ユーザーが編集可能なページがある場合は、ページのコンテンツをどこかに保存する必要があります。等々。 Webアプリケーションにはデータベースが必要ですか?データを保存する必要がある場合のみ。
それと比較して、Webブラウザは何を保存しますか?通常はそうではありませんrun webapp –webappが送信するHTMLページのみをレンダリングします。データベースを使用するかどうかを含め、Webアプリのほとんどの内部は、ブラウザーから完全に隠されています。
代わりに、Webブラウザーでのデータベースの主な用途は、ブラウザーのown機能を実装することです。つまり、閲覧履歴、ブックマーク、またはCookieを保存します。 (そして、はい、最近のWebページはaskブラウザーにJavaScript(IndexedDB)を介していくつかのものを格納することができますが、それはほとんどのWebアプリのプライマリストレージではありません。)
では、Webブラウザやその他のデスクトップアプリケーションは何を使用しているのでしょうか。まあ、それはデータベースサーバーを使用しません–それは 埋め込みデータベース を使用します。
データベースには、専用の「サーバー」プログラムは必要ありません。データベースサーバーは、マルチユーザー機能(認証、特権チェック、レプリケーション)を実装するために存在します。ただし、データベースが完全に所有されており、サイズがかなり小さい場合(たとえば、Webブックマークのみ)、これらの機能は必要なく、実際のストレージは単純なローカルライブラリを使用して実装できます。
完全なSQLが必要な場合、おそらく最も人気のある「単一ファイル」データベースはSQLiteです。 FirefoxとChromeは、SQLiteを使用してブックマーク、履歴、証明書、設定などを保存します。
単純な非SQL「キー/値」データベースに関しては、Berkeley DBが一般的な選択肢でしたが、ライセンスの問題とやや時代遅れの設計が原因です。多くの場合、[〜#〜] lmdb [〜#〜]およびLevelDB(または実際に同じSQLiteによる)。
例: WebページがJavaScriptIndexedDB APIを使用する場合、ChromeはデータをLevelDBデータベースに格納し、InternetExplorerはWindowsESENTを使用し、FirefoxはSQLiteを使用します。
(他にもたくさんの埋め込みデータベースタイプがあります-ウィキペディアの記事I linked 以前は長いリストがあります-しかしそれらはそれほど人気がありません。ESENTデータベースエンジンが付属しているWindows自体でさえ- 組み込み、SQLiteを使用してキャッチできる場合があります。)
最後に、多くの種類のデータは十分に小さいため、完全なデータベースエンジンは必要ありませんまったくそしてファイルに直接入れることができます。多くのブラウザは、実際にはテキストの「cookiejar」ファイルにCookieを保存します。1行に1つのCookie、ドメインに1つのファイルです。 Mozilla/Netscapeは、ブックマークを単一のほぼHTMLのWebページの形式で保存するために使用されていました。現代の選択は、一般的に、データを保存する前にJSONを使用してデータをフォーマットすることです。
すでに述べたように、これはWebブラウザに固有のものではありません。保存するデータがあるため、データベースを使用するだけですが、メールクライアント、音楽プレーヤー、ゲームなどについても同じことが言えます。これらはすべて、物事を保持するための何らかの埋め込みデータベースを備えていることがよくあります。
(ほとんどのプログラムが設定を保持するWindowsレジストリは、ファイルシステム自体と同様に、またキー/値データベースであることを忘れないでください。)