Heroku Postgres は、Heroku のプラットフォームでリレーショナルデータベースを始めるための簡単で低コストな方法であり、このオープンソースデータベースは、魅力的なアプリの構築を目指すデベロッパーにとって最も効果的なサービスでもあります。そこで本記事で、Heroku Postgres が世界中のデベロッパーにとってどのように有益であるかを見ていきましょう。
Heroku のデータ保存法
Heroku は、クラウドベースの PaaS(サービスとしてのプラットフォーム)として知られており、このサービスは、アプリケーション作成に必要な設定作業をすべて引き受けてくれます。Heroku で作成されたアプリケーションは、コンテナ内で実行され、Heroku のシステムでは、そのコンテナは「Dyno 」と呼ばれています。また、Heroku アカウントを実行している個人は、リソースの割り当てや特別な権限など、Dyno の側面をすべて扱うことができます。
また、Dyno はそれぞれ、 Heroku システム内で8種類のプログラミング言語に対応しており、その8言語は以下の通りです:
- Ruby
- Node.js
- PHP
- GO
- Clojure
- Java
- Python
- Scala
そして、Heroku で作成されたアプリケーションはデータベースが必要です。Heroku 内のデフォルトのデータベースオプションは Heroku Postgresであり、PostgreSQL をベースにしたリレーショナルデータベースです。
Heroku Postgres のデータベースの使用
Heroku Postgres のデータベースは、PostgreSQL 上で動作するオープンソースの SQL データベースということですが、どのように利用するのでしょうか?そうですね、このシステムを通して使える強力な機能がいくつかありますが、 Heroku Postgres データベースとの関連で最も強力なツールは、Forks、Followers、Dataclips あたりです。
Forks
Heroku Postgresでは、ソースコードのフォークと同じように、データベースのフォークが可能です。つまり、1つのコマンドでデータベースをクローン化することができます。またこのツールは、本番データベースをフォークし、フォークに対して新しい移行を実行することで、新しいスキーマの移行をテストすることも可能です。
Followers
Heroku Postgres の Followers は、データベースの読み取り専用のレプリカで、変更に伴って最新の状態に保たれ、クエリすることができます。この Heroku Postgres のツールがなければ、レプリケーションの設定と維持はとても大変で専門的なタスクになる可能性がありますが、そのタスクは followers ツールを通して、データベースの読み取りトラフィックを分散させる水平スケーラビリティによって簡単になります。
Dataclips
Dataclips は Heroku Postgres のもう一つの強力なツールです。SQLに精通している人なら誰でも、本番のライブデータに対して簡単にレポートを作成することができ、その結果はユニークなURLを通して誰とでも安全に共有することができます。さらにこのツールは、ダッシュボードや分析ツールの複雑さを、重要なデータ共有のプロセスから取り除いてくれます。
関連記事: The Complete Guide to Using Heroku Postgres (Heroku Postgres の使い方完全ガイド)
Herokuで PostgreSQL データベースをデプロイする方法
すでにお話したように、Heroku Postgres は、Heroku が直接提供するマネージド SQL データベースサービスです。Heroku Postgres データベースは、PostgreSQL ドライバを持つ任意の言語からアクセスすることができ、それには、Heroku が公式に対応する言語がすべて含まれます。
Heroku の Postgres データベースの便利な特徴は、実験やプロトタイプをしやすい点です。また、Heroku では、PostgreSQL データベースをホスティングするための無料プランも提供していますので、Heroku で 無料の PostgreSQL データベースを設定する方法を4つのステップでご説明します。
1.Heroku にログインする
まずは Heroku へのログインが、無料の PostgreSQL データベースを作成するための最初のステップです。Heroku で新しいデータベースを作成するには、まず個人ダッシュボード内にアプリを作成しないといけません。
2.Herokuアプリを新規作成する
Heroku にログインしたら、新しい Heroku アプリを作成するために個人のアプリダッシュボードに移動します。そこでダッシュボードの右上にある「Create new app(アプリの新規作成)」ボタンをクリックするだけです。
3.PostgreSQLデータベースを追加する
新しいアプリを作成したら、次は PostgreSQL データベースを取り付けます。アプリのダッシュボードのヘッダーにある「Resources(リソース)」タブに移動するだけです。アドオン検索フィールドに「Heroku Postgres」と入力します。プロンプトが表示されたら、ドロップダウンから Heroku Postgres アドオンを選択します。その後、データベースの料金プランを選択するポップアップが表示されます。この場合、Hobby Dev-Free プランを選択し、Provision をクリックします。これで、無料の PostgreSQL データベースができました。
4.データベースの認証情報にアクセスする
無料 の PostgreSQL データベースが正常に作成されたら、次はデータベースの認証情報へのアクセスです。アプリのダッシュボードにある「Resources(リソース)」タブに移動すると、PostgreSQL データベースの認証情報と接続URLが表示されます。その認証情報は、どの PostgreSQL クライアントからも PostgreSQL データベースへの接続に使えます。
Heroku Postgres は、無料 のPostgreSQL データベースへのアクセスを提供すると同時に、定期的なセキュリティ監査を行い、様々なセキュリティ標準に準拠しています。その多様なセキュリティ機能により、Heroku Postgresのシステム内のデータは常に保護されているのです。
関連記事: Introduction to Heroku Connect(Heroku Connectのご紹介)
PostgreSQLの使用場所
PostgreSQL は、その強力なクエリ、運用速度、全体的な安定性によって、デベロッパーに大きな価値をもたらし、 PostgreSQL を使う上で最も有用なデータベースに、『運用データベース』、『データウェアハウス』、『レポーティングデータベース』の3つがあります。
運用データベース
PostgreSQL は、比類のない信頼性を提供するため、運用データベースとして最適です。また、応答性、拡張性、安定性に優れており、それによって開発、ステージング、バックアップが簡単です。
データウェアハウス
PostgreSQL は、ほとんどの ETL システムで標準的に使用されていることから、データウェアハウスの分野でも非常に人気があります。そのスケーラビリティとクエリパワーは、テラバイト級のデータにも最適です。
レポーティングデータベース
PostgreSQL のクエリの柔軟性は、データを深く掘り下げていくのに適しています。また、1つのクエリで複数の PostgreSQL インスタンスに問い合わせることができるため、複数の組織でデータをまとめることができることから、PostgreSQL は レポーティングデータベースとして非常に有用です。
Integrate.io と Heroku Postgres の仕組み
Heroku Postgres は様々なプランを数多く提供し、それぞれが最高のセキュリティ標準を提供します。結局のところ、Heroku Postgres は、インフラを考慮することなくデータベースを構築、拡張、または維持しようとするすべてのデベロッパーにとって素晴らしい選択肢となります。データベース初心者から経験豊富な管理者まで、Heroku Postgres はデータベースの維持には素晴らしい選択肢です。
Integrate.io と Heroku Postgres は、統合的に動作することもできます。Integrate.io は Heroku Postgres の自動統合を提供しており、Integrate.ioが提供するローコードETLプラットフォームを通じて、非常に簡単に始めることができます。Integrate.io のETLツールで、簡単かつ効率的に Heroku Postgres からデータを引き出し、Heroku Postgres にデータを送信できるのです。
- ソースとして:Integrate.io は、Heroku からデータを抽出し、データ変換を行った後、指定されたデスティネーションにデータを格納できる。
- デスティネーションとして:ソースと変換を含むパッケージが既に作成されている場合、Integrate.io はそのデータも Heroku に転送することができ、このプロセス中に Heroku Postgres のテーブルの更新もできる。
2つのプラットフォームを併用することで、データ分析やレポート作成がスムーズに行えるようになりますね。
関連記事: 5 Reasons to Use Heroku and ETL(Heroku とETL を利用する5つの理由)
Integrate.io ができること
総合的に、Integrate.io と Heroku のプラットフォームはうまく連携しています。Webアプリケーションの構築、デプロイ、スケーリングを Heroku と Integrate.io でどのようにできるかをご覧になりなりたい方は、今すぐコチラにご連絡いただき、14日間のトライルやデモのスケジュールをお問い合わせ下さい。皆様の目標達成を喜んでお手伝い致します。