Herokuでスタート! はじめてのPaaSアプリケーション開発 第3回
小西 俊司 [著] 2014/11/25 14:00
このエントリーをはてなブックマークに追加

1 2 3 4 →

 前回はHerokuにアプリケーションをデプロイし、実際に動かすところまでを解説しました。今回はそこにリレーショナルデータベース(Heroku Postgres)を使用するアプリケーションを追加してみます。

Heroku Postgresとは

 Heroku Postgresは、Heroku社自らが提供するHeroku Add-onの1つです。

 Heroku Postgresは、オープンソースRDBMS「PostgreSQL」がSaaS形態で提供されているものでDBaaS(DataBase as a Service)と呼ばれることもあります。 サービスですので、Heroku Postgresサーバ自体の運用保守は事業者(Heroku社)に任せることができるほか、事業者の提供する便利なユーティリティツールを利用することもできます。

 また、Heroku社は自社内にPostgreSQLのコミッタを抱えており、本家PostgreSQL自体のバージョンアップに対するHeroku Postgresの追従度はかなり高いです。 以前にはセキュリティパッチの適用が、PostgreSQL公式リリースのアナウンスとほとんど同時に行われたこともありました。

 2014年現在、Heroku Postgresには以下のプランがあります。

名称 メモリ ストレージ 接続数 価格/月
Hobby Dev 共有 10,000行 20 無料
Hobby Basic 共有 10,000,000行 20 $9
Standard 0 1GB 64GB 120 $50
Premium 0 $200
Standard 2 3.5GB 256GB 400 $200
Premium 2 $350
Standard 4 15GB 512GB 500 $750
Premium 4 $1,200
Standard 6 60GB 512GB 500 $2,000
Premium 6 $3,500
Standard 7 120GB 1TB 500 $3,500
Premium 7 $6,000

 

 Hobby Dev、Hobby Basicは開発用のプランです。 この2つだけは、複数のユーザでDBを共有するマルチテナントモデルでの提供となっています。 挿入可能な行数にも制限があるので、実運用での使用は推奨されていません。 あくまで開発用途で使用するためのものと位置づけられています。

 Standard 0以降のプランはシングルテナントであり、契約ユーザごとに専用のDBサーバ(コンテナ)が用意されます。

 表にあるとおり、プランの番号が大きくなるほど、メモリ、ストレージ、接続数などのスペックが高くなります。 公式にはアナウンスされていませんが、CPUスペックもプランに応じて高くなっているので、価格差はそのまま性能差であると捉えて差し支えありません。

 StandardプランとPremiumプランの違いは以下の3点です。

  • High Availabilityオプション
  • ストレージ暗号化
  • (Heroku Postgres独自機能の)ロールバック可能な時間の長さ

 High Availabilityオプションはいわゆるホットスタンバイ構成です。 レプリケーションDBが常に更新されており、障害時には自動的に切り替わります。

 ストレージ暗号化は文字どおり保存時にデータを暗号化します。

 最後のロールバックは、データベースを指定の時間の状態に戻す機能のことです(RDBで一般にいわれるロールバックとは全く別物であることに注意してください)。

 Standardプランでは60分、Premiumプランでは7日間、の期間内の任意の時間の状態にデータベースを復元できます。 ただ、適切にバックアップを取得していれば、この機能を使う場面はほとんどないような気もしています[1]

 結局のところ、Premiumプランを選択するか否かは、High Availabilityオプションが必要かどうかによると思います。

 

[1] 実際に必要な場面に遭遇したときに、この機能を用いて適切な回復処理が行えるかどうかは疑問です。最低限のシミュレーションをあらかじめ行っておく必要があるでしょう。


1 2 3 4
→
INDEX
コマンド1つでDBをアプリに追加できるのもPaaSの魅力! Heroku Postgresの使い方
Page1
Heroku Postgresとは
Heroku Postgresを追加する
Heroku Postgresにアクセスする
掲示板アプリケーション
アプリをカスタマイズしてみよう
こちらの関連記事もおすすめです

プロフィール
小西 俊司 コニシ シュンジ

株式会社フレクト クラウド事業部テクニカルスペシャリスト。主にR&Dを担当し、Herokuとその周辺技術に関する情報やライブラリなどを発信しています。
FLECT OSS library: http://oss.flect.co.jp/
Blog: フレクトのHeroku Lab: http://blog.flect.co.jp/labo/


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。