PostgreSQL とは何ですか? | | データベースジャーナル

PostgreSQL は、世界で最も広く使用されているデータベース システムの 1 つであり、構造化クエリ言語 (SQL) だけでなく JSON もサポートしているため、データベース駆動型のエンタープライズ アプリケーションに最適です。 このデータベース プログラミングとデータベース管理のチュートリアルでは、PostgreSQL とは何か、SQL との関係、およびハイブリッド データベース システムを使用する利点について説明します。

読む: MySQL とは何ですか?

PostgreSQL の概要

PostgreSQL は、SQL データベース システムの他の派生物と同様に、データベース プログラミング言語と見なされることがよくあります。 ただし、PostgreSQL は実際にはオープン ソースのリレーショナル データベース システムであるため、これは誤称です。 PostgreSQL のユニークな点は、(他のリレーショナル データベース管理システムと同様に) 構造化クエリ言語 (SQL) クエリだけでなく、非リレーショナル データベース クエリに使用される JSON もサポートしていることです。

表現 関連した データベースの領域では、データベース内でデータが構造化される方法を指します。 として知られる構造の使用 テーブルを作成するために交差する行 (水平) と列 (垂直) で構成されます。 細胞 単一のデータ ポイントを格納するのに対し、リレーショナル データベースは、情報が他のデータと関係を持つようにデータを格納します。

たとえば、次の名前の列を持つテーブルがあるとします。 ファーストネーム苗字、 と ソーシャル. これらの列は、垂直または上下に実行され、列ヘッダーの代表を保持します。 データベース管理者はその列を推測できます ファーストネーム 「名」を保持します。

同じロジックが続きます 苗字 (「姓」の場合)および ソーシャル (おそらく社会保障番号のため)。 一方、水平方向に実行されている行には、これらのデータ ポイントが保持されます。 たとえば、最初の行には、次の 3 つのデータ ポイントが含まれている可能性があります。

FirstName  LastName  Social
Ronnie     Payne     111-11-1111

リレーショナル データベースを使用しているため、データ ポイント ロニーペイン、 と 111-11-1111 すべて関連しています。 データベースにクエリを実行して、関連するすべてのレコードを検索した場合 ソーシャル その値は 111-11-1111、次に値 ロニーペイン 同様に返されますが、他のレコードはありません。 そうでもなければ 彼らはまた、 ソーシャル の値 111-11-1111.

これは、リレーショナル データベースがどのように機能するかを示す大まかな例です。

リレーショナル データベースに関する最後のポイント。 また、リレーショナル データベースと呼ばれる場合もあります。 リレーショナル データベース管理システム (RDBMS); ただし、この 2 つは同じものではありません。 リレーショナル データベースは単なるデータベースの一種ですが、RDBMS はデータベース管理ツールを含むデータベース システム全体です。

詳細については、チュートリアルをご覧ください: リレーショナル データベース管理システムとは?

PostgreSQL の利点は何ですか

PostgreSQL は、カリフォルニア州のバークレー大学で 1986 年に登場しました。 元の「Ingres」データベースにちなんで「POSTGRES」と呼ばれていました。 その開発者の意図は、複数のデータ型をサポートするデータベースを作成することでした。現在はそれを行っています。

20 年以上のサポートと開発により、PostgreSQL はデータベース開発者とデータベース管理者の両方に多くの利点をもたらします。

言語サポート

PostgreSQL は、もちろん SQL を含む多くのプログラミング言語をサポートしています。 リレーショナル データベースでサポートされているその他の言語には、次のものがあります。

  • ジャワ
  • JavaScript
  • パール
  • パイソン
  • R
  • シェル
  • Tcl
  • ルア
  • ゴーとゴラン
  • VS#
  • C および C++
  • ルビー

データ型のサポート

前述のように、PostgreSQL は、多くのデータ型をサポートするという主要な機能を備えているという考えで作成されました。 そのために、PostgreSQL は次のデータ型をサポートしています。

  • プリミティブ (整数、文字列、ブール値、日時)
  • 幾何学的タイプ
  • hstore タイプ
  • 範囲
  • 通貨タイプの通貨タイプ
  • 多次元配列
  • ネットワークアドレス
  • JSON オブジェクト

オープンソース

PostgreSQL はオープン ソースのリレーショナル データベースです。つまり、そのソース コードをダウンロードできます。 このコードベースがあれば、開発者は組織のニーズに合わせてデータベースを調整できます。 これは、コードベースが一般に公開されていることも意味し、データベースの信頼性、機能性、およびセキュリティに貢献します。

さらに、PostgreSQL はオープン ソースであるため無料であり、ライセンス フリーのデータベース オプションを探している予算重視のソフトウェア開発チームにとって理想的な選択肢です。

ハイブリッド データベース

PostgreSQL は両方のリレーショナルをサポートしています 非リレーショナル クエリ。 これは、データベース開発者とデータベース管理者が、トランザクションまたは統計データ (データが関連している場合) を含む行に対して SQL クエリを実行できる一方で、NoSQL を使用して JSON ドキュメントを保存および処理できることを意味します。

このハイブリッド機能は、複数のタイプのデータベース システムを必要とする柔軟な開発ショップに最適です。

データコンプライアンス

PostgreSQL のもう 1 つの利点は、データのコンプライアンスに関係しています。 PostgreSQL は、トランザクションに使用される ACID セマンティクスをサポートしています。 さらに、PostgreSQL では次のことが可能です。 外部キー加入ビュートリガー、およびストアド プロシージャ。

画像、動画、音声などのバイナリ ラージ オブジェクトも PostgreSQL データベースに格納できるため、メディアを多用するデータベース駆動型アプリケーションに最適です。

PostgreSQL はオブジェクト指向です

PostgreSQL も オブジェクト リレーショナル データベースつまり、クラス、オブジェクト、関数のオーバーロード、カスタム データ型の作成などのオブジェクト指向プログラミング (OOP) の概念をサポートしています。 これには、継承のサポートも含まれます。子テーブルは親テーブルから列を継承できるため、PostgreSQL は真に強力なデータベース オプションになります。

PostgreSQL は拡張可能です

コンピュータプログラミングでは、文 ストレッチ 特定のテクノロジ (通常は言語またはデータベース自体) の機能を追加できることを意味します。 PostgreSQL は拡張可能なデータベースです。つまり、データベース プログラマーとデータベース管理者は、新しいデータ型、インデックス メソッド、集計関数、関数、および演算子を追加することで、PostgreSQL の機能を拡張できます。

空間データ

PostgreSQL は、幾何学的オブジェクトや地理的オブジェクトを処理するための特定のデータ型を備えているなど、空間データのサポートでよく知られています。 PostGIS 拡張機能を使用すると、PostgreSQL を地理空間データ ストアとして使用できるため、政府機関、地理情報システム (GIS)、およびロケーション ベースのサービス プロバイダーの間で普及しています。

PostgreSQL の機能

PostgreSQL は、次のデータベース機能をサポートしています。

  • 外部キー
  • 継承表
  • クラスとオブジェクトによるオブジェクト指向
  • ユーザー定義型
  • 複数のデータ型
  • 非同期レプリケーション
  • マルチバージョン同時実行制御 (MVCC) アーキテクチャ
  • ネストされたトランザクション
  • 表領域
  • ポイントインタイム リカバリ

PostgreSQL に関する最終的な考え

PostgreSQL は、ソフトウェア開発チームにとって適切なソリューションですか? それは、組織のニーズに大きく依存します。 チームが SQL クエリと NoSQL クエリの両方を処理できる柔軟なデータベースを必要としている場合は、PostgreSQL を使用することを強く検討する必要があります。 同様に、あなたの会社が地理空間またはロケーションベースのデータセットに依存している場合、間違いなく PostgreSQL をデータベースとして選択してください。

一方、データベース駆動型の Web アプリケーションを開発する場合は、MySQL などの PostgreSQL の代替手段を選択することをお勧めします。 開発チームのテクノロジ スタックが、C# や ASP.NET などの Microsoft 関連のテクノロジや言語に大きく依存している場合は、MSSQL Server がおそらくより適切なオプションです。

読む: SQLを学ぶのに最適なオンラインコース

Leave a Comment

Your email address will not be published. Required fields are marked *