オラクル

Oracle は最も人気のあるデータベースではありませんが、最も有名なデータベースです。最も人気があると主張することはできますが。数え方を参照してください。企業の数だけを見れば、MySQL が最も人気のあるデータベースです。非常に優れており、完全に無料です :)

しかし、別の見方もできます。Oracle を使用する100 万人の顧客を持つ 1 社と、MySQL を使用する100 人の顧客を持つ 5 社がある場合、Oracle には 100 万人の顧客がいますが、MySQL には 500 人しかいません。

一般に、資金力のある大企業がどの DBMS を選択しているかを調べてみると、世界中の全企業の約 3 分の 1 が Oracle を使用していることになります。このようなもの。

プログラマーとして、あなたは将来、MySQL よりも Oracle で働く可能性が高くなります。DBMS の人気が過去 20 年間でどのように変化したかを示す優れたビデオがインターネット上にあります。

MySQL

すべての DBMS の中で 2 番目に人気があるのは MySQL です。そして、すべての無料 DBMS の中で最も人気があります。彼女の例から SQL を学ぶ理由がわかりました。誇大広告は誇大宣伝であり、ビジネスはインフラストラクチャの選択に関して非常に保守的です。

基本的に、MySQL についてはすでに説明しました。一度はSunに買収され、次にOracleに買収されました。まあ、それを善良な企業と呼ぶのは非常に難しいです。

Sun の買収後、Java を有料化しようと絶えず努力しているのは彼らです。

はい、Sun は Oracle が買収する前に Java と MySQL の両方を所有していました。

この事実と Oracle の評判は MySQL 開発者を少し怖がらせ、MySQL プロジェクトをフォークして MariaDB と呼ぶことにしました。

MariaDB は実際にはMySQL のクローンであり、特許やライセンスの微妙な違いを回避できる実装上のいくつかの特徴があります。

しかし、オラクルも愚か者ではありません。顧客や開発者がMariaDBに流出するのを防ぐため、オラクルは引き続きMySQLの開発と無償化に資金を提供し続けている。

そして、2 つの椅子に座るために、有料のMySQL Enterprise が法人顧客向けにリリースされました。これはMySQL Community Editionと変わりませんが、そのライセンスはビジネスにより適しています。

PostgreSQL

もう 1 つの興味深い DBMS は、PostgreSQL (「ポストグレキュー」と発音します) です。

これも、近年急速に人気が高まっている無料の DBMS です。MySQLにはまだまだ遠いですが。

PostgreSQL は主に分散作業に重点を置いています。その強みは次のとおりです。

  • 高性能で信頼性の高いトランザクションおよびレプリケーション メカニズム
  • 組み込みプログラミング言語の拡張可能なシステム: PL SQL、PL JS、PL Python など
  • テーブルの継承
  • 幾何学的な (特に地理的な) オブジェクトにインデックスを付ける機能
  • JSON 形式の半構造化データの組み込みサポートとインデックス作成機能
  • 拡張性 (新しいデータ型、インデックス型、プログラミング言語、拡張モジュールを作成し、外部データ ソースに接続する機能)

なぜそう呼ばれるか知っていますか?様子はこんな感じでした…

約 50 年前の 70 年代初頭に、バークレー大学は独自のリレーショナル DBMS の開発を開始し、それをIngresと呼びました。

80 年代初頭、マイケル ストーンブレーカー教授はプロジェクトを離れ、ブラックジャックと遊女を使った独自の DBMS を作成することにしました。彼と彼の学生たちは、単にPost Ingresと呼ばれる独自の DBMS を書き始めました。これは、将来Postgresと短縮されます。

Postgres という名前は誰にとっても何の意味もなかったので、それに SQL 接尾辞を追加することが決定されました。これが PostgreSQL の結果であり、すぐに二重の S を失い、PostgreSQL として記述され始めました。ただし、名前を言うと、PostgresQL のように読む必要があります。

NoSQL

データベースに興味があるなら、NoSQL データベースについて聞いたことがあるでしょう。急いで怒らせておきますが、NoSQL は純粋にマーケティング名であり、SQL はそこにあります。彼はただ切り捨てられただけだ。

それはどのように見えますか?HTML、CSS、JavaScript で書かれた素晴らしい Web ページが 1995 年のブラウザで開かれたと想像してください。CSS の 10% の強度で動作し、JavaScript はまったくサポートされていません。そして、この無駄を省いた新しい標準はNoHtmlと呼ばれます。

たとえば、テーブル間の JOIN は NoSQL ではサポートされていない可能性があるため、プログラム内の Java コード レベルでこれをエミュレートするか、関連するテーブルのすべてのデータを 1 つの巨大なテーブルに格納する必要があります。

NoHtml の場合は 20 年前にロールバックしたように見えますが、NoSQL の場合は約 40 年前にロールバックが発生します。

たとえば、 Facebook が数十億人のユーザーのデータを保存するために使用しているCassandra NoSQL データベースを考えてみましょう。実際、彼らはそれを開発し、オープンソース プロジェクトとして公開しました。

最も興味深いことから始めましょう。すべての DBMS コードは Java で書かれています。C++ コードの方がおそらく高速に実行されますが、バグが多くなります。また、Java コードは保守と開発が容易です。

Casandra DBMS へのリクエストの一般的な形式は非常によく知られています。

  SELECT columns  
  FROM table 
  WHERE condition
  GROUP BY columns 
  ORDER BY sorting 
  LIMIT quantity

ご覧のとおり、SQL が存在します。ここに何が足りないか知っていますか?参加してください!1 つのテーブルからのみデータを選択できます:)

以下は公式ドキュメントからの引用です。

Cassandra では結合を実行できませんデータ モデルを設計し、結合のようなものが必要な場合は、クライアント側で作業を行うか、結合結果を表す非正規化された 2 番目のテーブルを作成する必要があります。