Heroku Postgres

1,657 views
1,504 views

Published on

Published in: Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,657
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
0
Comments
0
Likes
12
Embeds 0
No embeds

No notes for slide

Heroku Postgres

  1. 1. http://postgres.heroku.comウィル・ラインウェバー @leinweber Heroku,Inc.
  2. 2. アーキテクチャ ArchitectureForce.com Heroku 実行環境 その他 Others Heroku Runtime Database.com Heroku Postgres
  3. 3. Database.com Social Enterprise DBaaSHeroku Postgres SQL Database-as-a-Service
  4. 4. データベースをつくってみよう Let’s Provision a Database
  5. 5. heroku addons:add heroku-postgres:dev -a will
  6. 6. 拡張機能 Value-Added FeaturesHeroku PostgresPostgres マネージドサービス Management Services
  7. 7. 拡張機能 Value-Added FeaturesHeroku PostgresPostgres マネージドサービス Management Services
  8. 8. マネージドサービス Managed Services
  9. 9. DB管理者の仕事 DBA Tasks セットアップ Setup 管理・監視 Manage セキュリティ Security バックアップ Backup 拡張 Scale データ定義/抽出 Query
  10. 10. DB管理者の仕事 DBA Tasks セットアップ Setup 管理・監視 Manage セキュリティ Security バックアップ Backup 拡張 Scale データ定義/抽出 Query
  11. 11. 24x365 監視体制 24x365 Monitoring ヘルスチェック Health Checks継続的なデータ保全 Continuous Protection
  12. 12. 拡張機能 Value-Added FeaturesHeroku PostgresPostgres マネージドサービス Management Services
  13. 13. Postgres
  14. 14. 100% 互換100% Compatibility
  15. 15. なぜPostgresなのか? Why Postgres?
  16. 16. Users Purchases Products
  17. 17. CREATE TABLE products (    id integer NOT NULL,    title character varying(255),    description text,    price numeric(10,2));
  18. 18. CREATE TABLE users (    id integer NOT NULL,    first_name character varying(50),    last_name character varying(50),    email character varying(255), data hstore,    created_at timestamp without time zone,    updated_at timestamp without time zone,    last_login timestamp with time zone);
  19. 19. CREATE TABLE purchases ( id integer NOT NULL,  user_id integer,   items decimal(10,2) [][], occurred_at timestamp); items[x][0] = item_id items [x][1] = qty items [x][2] = price
  20. 20. データ型 Data typesINSERT INTO purchases VALUES ( 2, 2, {{11.0, 1.0, 4.99}}, now());
  21. 21. その他の言語 Other languadges bigint polygon moneytimestamp date booleaninterval tz smallint array integer UUID serial bytea char line numeric inet cidr point circle time text float macaddr timetz enum varchar tsquery XML path tsvector timestamp box
  22. 22. その他の言語 Other languadgesCREATE OR REPLACE FUNCTION total(decimal(10,2)[][])RETURNS decimal(10,2) AS $$DECLARE s decimal(10,2) := 0; x decimal[];BEGIN FOREACH x SLICE 1 IN ARRAY $1 LOOP s := s + (x[2] * x[3]); END LOOP; RETURN s;END;$$ LANGUAGE plpgsql;
  23. 23. その他の言語 Other languadgesFOREACH x SLICE 1 IN ARRAY $1 LOOP s := s + (x[2] * x[3]); END LOOP; RETURN s;
  24. 24. その他の言語 Other languadgespython pgsql ruby j lolcode lua V8 R scheme tcl SQL psm Java sh php javascript
  25. 25. エクステンション ExtentionCREATE EXTENSION hstore;CREATE TABLE users ( id integer NOT NULL, first_name character varying(50), last_name character varying(50), email character varying(255), data hstore, created_at timestamp without time zone, last_login timestamp without time zone);
  26. 26. エクステンション ExtentionINSERT INTO usersVALUES ( 1, Craig, Kerstiens, craig.kerstiens@gmail.com, sex => "M", state => "CA", now(), now());
  27. 27. エクステンション Extentiondblink hstore uuid-ossp trigram pgstattuple citext pgcrypto pgrowlocks isn ltree earthdistance cube dict_int tablefunc fuzzystrmatch unaccent dict_xsyn btree_gist
  28. 28. 拡張機能 Value-Added FeaturesHeroku PostgresPostgres マネージドサービス Management Services
  29. 29. 拡張機能Value-Added Features
  30. 30. Data Clipsデータを共有する最も簡単な方法The easiest way to share your data
  31. 31. + SELECT *本番データ FROM salesLive Production Data WHERE amount > 1
  32. 32. https://postgres.heroku.com/dataclips/{unique & secure hash}
  33. 33. Fork データベースを完全な複製を作成A perfect, byte-for-byte clone of your database
  34. 34. ForkProduction App
  35. 35. ForkProduction App
  36. 36. ForkProduction データの内部を安全に調査 App Investigate data safty
  37. 37. Followワンクリックでレプリケーションを作成 Read replicas with a single click
  38. 38. FollowMasterDatabase 書き込みトランザクション Write Transactions Follower 1 読み出しトランザクション Follower 2 Read Transactions
  39. 39. MasterDatabase 書き込みトランザクション Write Transactions Follower 1 読み出しトランザクション Follower 2 Read Transactions
  40. 40. MasterDatabase 書き込みトランザクション Write Transactions New Master 読み出しトランザクション Follower 2 Read Transactions
  41. 41. ご清聴ありがとうございました Heroku Postgres Workbokhttp://developerforcejp.s3.amazonaws.com/developer/docs/ workbook_heroku/workbook_heroku_postgres.pdf http://postgres.heroku.com

×