PostgreSQL とは?
PostgreSQL はオープンソースのリレーショナル データベースです。PostgreSQL とは何か、PostgreSQL のデータ型などの情報をご確認ください。
実績のある強力なオープンソースのデータベース システム
PostgreSQL データベースとは正確には何でしょうか? PostgreSQL のようなリレーショナル データベースは、ユーザーがデータを整理し、そのデータ間の関係を理解するのを支援できるよう存在します。PostgreSQL はオープンソースのリレーショナル データベースで、30 年の開発期間に支えられ、最も評判の良いリレーショナル データベースの 1 つです。PostgreSQL が開発者や管理者の間で人気があるのは、傑出した柔軟性と整合性があるからです。たとえば、PostgreSQL はリレーショナル クエリと非リレーショナル クエリの両方をサポートしており、そのオープンソースの性質は、600 を超える共同作成者の専用コミュニティがデータベース システムを絶えず改善することを意味します。
PostgreSQL を使用するのは誰すか?
PostgreSQL は、金融サービス、製造、小売、物流などのさまざまな分野において、開発者がデータの整合性を維持し、あらゆるサイズのワークロードをより簡単に管理し、必要に応じてスケーリングするのに役立つ、重要なデータベース ソリューションです。
PostgreSQL はメイン データベースとして機能します。PostgreSQL は 高い評価を得ているだけでなく、地理空間対応アプリや、時系列、JavaScript Object Notation Binding (JSONB)、リレーショナル データを組み合わせたアプリに大きなメリットをもたらします。また多くの管理者が、データを保護する上での PostgreSQL の高いレベルの信頼性を認めています。総じて、PostgreSQL はその拡張し続ける機能セットと貢献者の熱心なコミュニティにより、広く普及しています。
なぜ PostgreSQL を使用するのですか?
PostgreSQL は堅牢で安全、かつ拡張可能であり、また使用可能なツールの豊富なエコシステムを備えているため、開発者はさまざまなユース ケースに PostgreSQL を使用しています。このソフトウェアは、Linux、Windows、Macintosh を含むすべての主要なオペレーティング システムと互換性が保たれるように設計されており、テキスト、画像、音声、動画をサポートしているため、多様なニーズを持つ人々や企業に人気のあるデータベースとなっています。PostgreSQL は、開発者が最も好むデータベース技術として、MySQL に次いで広く知られています。
しかし、開発者がデータベース ソリューションとして MySQL ではなく PostgreSQL を選択する理由は、以下のように多くあります:
強力な機能へのアクセス
PostgreSQL には、ユーザー向けの豊富なオプションが用意されています。たとえば、ポイントインタイム復旧、ログ先行書き込み、詳細なアクセス制御、テーブルスペース、入れ子になったトランザクション、オンライン バックアップ、マルチバージョン コンカレンシー コントロールなどの機能を選択することができます。
信頼性とコンプライアンス
何十年にもわたる開発により、PostgreSQL には極めて高い耐障害性が備わっています。また、データベース トランザクションの不可分性、一貫性、独立性、永続性 (ACID) に準拠しています。さらに、PostgreSQL は、トリガー、外部キー属性、結合、ストアド プロシージャで複数の言語をサポートしています。PostgreSQL では、SQL 2008 を含む最も一般的なデータ型を使用でき、Unicode、国際文字セット、マルチバイト文字エンコードをサポートしています。
PostgreSQL はオープンソース ライセンスです
PostgreSQL はオープンソース ライセンスとしてアクセスできるため、ユーザーは商用データベース システムよりも柔軟で革新的な機能を備えています。ライセンス コストがないため、お客様のユーザーは自由に無限の開発の可能性を探索し、またソース コードを自由に変更したり実装したりすることもできます。
PostgreSQL のスケーラビリティ
驚くべきスケーラビリティは、PostgreSQL の特徴です。このソフトウェアは、膨大な量のデータを容易に管理することができます。PostgreSQL のスケーラビリティは、管理できるデータ量だけでなく、管理できる同時ユーザー数にも当てはまります。
さまざまなインデックスの種類とフルテキスト検索
PostgreSQL は、文字列検索やベクトル演算の文字列を対象とした全文検索に加え、B+ tree インデックス、一般化反転インデックス、一般化検索ツリーなど、さまざまなインデックス作成手法をユーザーに提供します。
柔軟性
PostgreSQL は、C、C++、Go、Perl、Python、Java、.Net、Ruby、ODBC、Tcl など、数多くの最先端のプログラミング言語やプロトコルと互換性があります。つまり、ユーザーはシステムの競合を危険にさらさずに、最もよく理解している言語で作業できます。
豊富なサポート エコシステム
PostgreSQL のオープンソースの性質により、ユーザーは、システムを絶えず改良し、それがより安全で適切なものになるよう努めている貢献者からなる熱心なコミュニティからのサポートを受けることができます。お客様のユーザーはこのコミュニティの集合的な知識にアクセスして、バグを報告したり、開発プロジェクトに対する意見を集約したり、質問に答えたりすることができます。PostgreSQL のオープンソースの性質により、Ruby on Rails、Tableau、Datadog などのいずれのフレームワークで作業しているかどうかにかかわらず、サポートを得るための多くの方法がユーザーに提供されます。開発者は、コミュニティの集合的な知識とクラウドソースのヘルプにアクセスできるだけでなく、PostgreSQL の専門家やサービスとつながり、問題を解決したり、次の手順を決定したりすることもできます。
JSON
PostgreSQL はリレーショナルと非リレーショナルの両方のクエリをサポートしているので、ユーザーは SQL や JSON のパス式を使って JSON データにアクセスすることができます。
拡張性
PostgreSQL は単にデータを保存するだけではありません—このソフトウェアを使用すると、ユーザーは関数型言語やデータ型 (カスタム型やユーザー定義型を含む) を定義することができます。さらに、お客様の社内開発者は PostGIS、Citus、pg_cron、HyperLogLog、t-digest などのさまざまな拡張機能やアドインを使用して、PostgreSQL エクスペリエンスをカスタマイズすることができます。PostgreSQL がこのようなレベルの拡張性を実現できるのは、ほとんどのリレーショナル データベース管理システムとは異なり、従来のテーブルや列よりも多くの情報をカタログに格納しているからです。ユーザーにはテーブルを変更する権限があり、その過程で PostgreSQL を拡張できます。
PostgreSQL データ型の説明
PostgreSQL ユーザーは、JSONB や PostGIS など、豊富な数のネイティブ データ型をすぐに利用でき、新しい PostgreSQL データ型を簡単に追加することもできます。各データ型は、全文検索や日時データなど、固有の目的をサポートするように設計されています。テーブルを作成するために、ユーザーはまず、各列に対して特定のデータ型を選択します。これらの列の目的は、テーブルのフィールドに属するデータの種類を示すことです。以下に、PostgreSQL で最も一般的なデータ型の一部を示します:
ブール値
ブール値データ型は、true/false、on/off、yes/no、null 値などの 2 つの状態の値を表現するように設計されています。一般的には、条件文を評価するためにこのデータ型を使用します。制御フローは、PostgreSQL CASE 式を使用する場合と同様に、評価に起因するさまざまなアクションを使用して、true または false のいずれかの結果に依存できます。
文字
このデータ型は、文字や数字などの文字列で構成され、テキスト値を格納するために使用されます。文字データ型と文字列型には、固定長の char と、可変長の varchar、long varchar があります。ユーザーが選択する長さは、入力の検証に影響します。
日付と時刻
日付と時刻のデータ型は、日付、時刻、時間的な間隔を表すために使用されます。PostgreSQL のタイム スタンプ データ型はマイクロ秒単位の精度を持ち、ユーザーはタイム ゾーン情報を添付するか否かで時間と日付のデータを保存する選択肢を提供します。
数値
数値データ型には、2 つの形式があります: 正確なデータ型と近似データ型。正確な数値データ型には、整数データ型と 10 進数データ型があります。一方、近似データ型には、浮動小数点データ型がありますーたとえば 2、4、8 バイトの整数、4、8 バイトの浮動小数点数や精度設定が可能な小数など。
その他の Azure データベース サービスの探索
Azure SQL Database
クラウドで管理されたインテリジェントな SQL を使用して、ビジネスのペースに合わせてスケーリングするアプリを構築します。
Azure Database for PostgreSQL
フル マネージドでインテリジェントでスケーラブルな PostgreSQL を使用したデータベース管理ではなく、アプリケーションのイノベーションに焦点を当てます。
Azure Database for MariaDB
任意のオープンソース ツールとプラットフォームを使用して、Azure Database for MariaDBを使用してアプリケーションを開発します。
Azure Cache for Redis
高速でフル マネージドのインメモリ データ ストアです。
Azure SQL
アプリの移行、最新化、開発に関するすべてのAzure SQLデータベース サービスを参照してください。
Azure Database for MySQL
フル マネージド MySQL データベースを使用してイノベーションを加速します。