PostgreSQLをAIに活用

by Canonical on 23 April 2024

AIを扱うことはデータを扱うこと。数値データから動画や画像まで、業界や用途を問わず、AIプロジェクトは何らかの形でデータに依存します。問題は、そのデータをどうやって効率的に保管し、モデルを構築する際に使用するかです。解決策の1つは、実績があり、愛好者の多いデータベースであるPostgreSQLです。近年の開発により、AIをサポートする有力な選択肢になっています。

PostgreSQLを選ぶべき理由

PostgreSQLはオープンソースで高機能のデータベースシステムです。外部キー、サブクエリ、トリガーのほか、さまざまなユーザー定義型や関数をサポートしています。近年はデータベース分野で人気を高め、2023年には年間最優秀データベース管理システム(DBMS)に選出されました。

PostgreSQLは、FinOpsやeコマースなど、あらゆる業界に採用されています。オンライントランザクション処理、分析、地理空間データなど、さまざまなワークロードにも適合します。ソリューションの幅広い採用は、数多くの具体的なユースケースのための新しい拡張機能やライブラリの開発につながっています。機械学習もその1つです。

PostgreSQLをAIに活用

PostgreSQLには1,000種類を超える拡張機能があります。それらの拡張機能は、Postgresコアシステム内の機能上に追加機能を提供するアドオンモジュールです。地理空間データの処理から、ベクトルデータベースへのPostgreSQLの変換まで、さまざまな拡張機能を利用できます。拡張機能は分析や検索などの幅広い機能に対応します。

これらの拡張機能の柔軟性と幅広い機能は、AIプロジェクトの強化に大きな可能性をもたらします。

AIに関連性の高い拡張機能として、以下のようなものがあります。

  • Pgvectorは、PostgreSQL用のオープンソースのベクトル類似検索機能です。埋め込みの保存にも使用できます。この機能によって、OpenSearchと同様にデータベースをベクトルデータベースとして使用できます。
  • Hydraは、オープンソースのカラム型データベースです。Hydraではコードを修正しなくても数十億行単位で効率的なクエリを即座に実行できます。この機能は、MLプロジェクトで大量のデータ処理が必要な場合に役立ちます。
  • PostgresMLは、PostgreSQLの拡張機能で動作する、あらゆる機能を備えたMLOpsプラットフォームです。この機能によって、組織はデータベース内にモデルを構築できます。

MLOpsにおけるPostgreSQLの役割

MLOpsは機械学習向けのDevOpsです。KubeflowなどのMLOpsプラットフォームは、PostgreSQLをはじめとするさまざまなタイプのデータベースからデータを取り込みます。さらに、データベースを使用して、実験、ジョブ、パイプライン実行、単一スカラーメトリックにわたるメタデータなど、アーティファクトの一部を保管します。Kubeflowとデータベースは、信頼性が高い、シームレスに統合されたものである必要があります。これは、Kubeflowとデータベースの可用性が実運用環境でMLプロジェクトを実行する能力に影響を及ぼすためです。

PostgreSQLはKubeflowとの併用に最適したデータベースですが、すべてのシナリオで最良の選択であるとは限りません。実際には、MySQLなどの選択肢も有力です。使用するデータベースを選択する際は、組織にとって最適なソリューションを優先してください。

  • 既存のデータベース MLOpsプラットフォームでMySQLなどの特定のデータベースをすでに使用している場合は、PostgreSQLに変更することによって不要なオーバーヘッドが発生する可能性があります。
  • スキルセット チームのスキルや経験に合わせてデータベースを選択します。PostgreSQLの使用経験がある場合、このユースケースにはPostgreSQLを選択することが理想的です。

MySQLとPostgreSQLに関するその他の考慮事項については、こちらのホワイトペーパーをご覧ください。

Charmed PostgreSQLをAIに活用

Charmed PostgreSQL Operatorは、PostgreSQLデータベース管理システムで設計から運用までの自動化された運用管理を提供します。Charmed PostgreSQL OperatorはJuju上で動作する、オープンソースのエンドツーエンドの実運用環境に対応したデータプラットフォームです。PostgreSQLを物理マシン/仮想マシンとKubernetes上にデプロイして運用するために2つのフレーバーがあります。どちらも、レプリケーション、TLS、パスワードのローテーション、アプリケーションとの使いやすい統合などの機能を提供します。

Charmed PostgreSQL Operatorは、体系化された一貫性のある方法でPostgreSQLをデプロイするニーズに応えます。また、構成の柔軟性をユーザーに提供します。その結果、実運用環境でのPostgreSQLのデプロイ、スケーリング、構成、管理を信頼性の高い方法で大規模に簡素化できます。PostgreSQLはそれ自体がAIプロジェクトに適しています。Charmed OperatorはAIプロジェクトのレベルを引き上げ、データの保管とMLモデルの構築をさらに容易にします。

参考資料

MLOpsツールキットについて

オンプレミスAI:知っておくべきこと

企業データ管理:ビッグデータ

ニュースレターのサインアップ

Ubuntuニュースレターの配信登録


お客様が購読登録を行われる場合、以下の条件に同意されたことになります。Canonicalのプライバシーに関するお知らせ個人情報保護ポリシー

関連記事

トラブルシューティング

アップストリームの変更でスマートカードのFIPS認証が機能しなくなったときの対処方法 ある行政機関が組織内で運用しているUbuntuデバイスすべてにスマートカード認証を義務付けました。ところがコンプライアンス要件を満たすためにFIPSモードを有効にすると、スマートカード認証の機能が停止してしまい、1,000台近いシステムがFIPS認証への対応を待つことになりました。 Canonicalのサポートチームは、まずOpenSCのアップストリームでの変更が意図せずFIPSとの互換性を損なっていることを突き止めました。次に、すべてのディストリビューションのアップストリームの開発者と連携し、緊急用のホットフィックスと正式な修正の両方を提供しました。このときの対応を以下にご紹介しましょ […]

CanonicalのS3機能でコストを予測、比較、削減

かつて私は、どれだけデータを保存する必要があるかわからないプロジェクトを始める際、パブリッククラウドストレージが便利だと書きました。しかしデータセットが増えるにつれ、パブリッククラウドストレージのコストは膨大になります。このような場合、オンプレミスまたはコロケーションの自社運用ストレージシステムを運用すれば、コスト、性能、セキュリティ、データ主権など多くの面でメリットがあります。この記事では、企業におけるストレージの利用方法をいくつか紹介し、どの程度のコスト削減が見込めるかを解説します。 ストレージワークロードの増加 AWS S3、Azure Blob、GCP GCSといったクラウドコンピューティングサービスでは、演算処理、ストレージ、ネットワーキングのリソースを即座に利 […]

Authd OIDCでUbuntuのID連携を拡張

新しいAuthd OIDCブローカーでUbuntuがさらに多くのIDプロバイダーに対応 Canonicalは本日、Authdに対応する新しい汎用OpenID Connect(OIDC)ブローカーの一般提供を開始しました。企業がアクセス管理のコントロールを一元化する上で、自社のアイデンティティソリューションを選択できることは極めて重要です。そのニーズに応えるのがCanonicalの新しいブローカーsnapです。これにより、標準的なOIDCフローに対応する任意のIDプロバイダーをUbuntu DesktopとUbuntu Serverに統合できます。そしてKeycloakのような自社運用型ソリューションを利用するコミュニティユーザーも、Oktaのようなプラットフォームを活用す […]