Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Toshi Harada
820 views
20181122 pg con-jp-lt-logrep
ロジカルレプリケーションで山手線ゲームを作ってみたはなし
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 31
2
/ 31
3
/ 31
4
/ 31
5
/ 31
6
/ 31
7
/ 31
8
/ 31
9
/ 31
10
/ 31
11
/ 31
12
/ 31
13
/ 31
14
/ 31
15
/ 31
16
/ 31
17
/ 31
18
/ 31
19
/ 31
20
/ 31
21
/ 31
22
/ 31
23
/ 31
24
/ 31
25
/ 31
26
/ 31
27
/ 31
28
/ 31
29
/ 31
30
/ 31
31
/ 31
More Related Content
PDF
20190202-pgunconf-Access-Privilege-Inquiry-Functions
by
Toshi Harada
PDF
蟻本輪講 データ構造
by
HCPC: 北海道大学競技プログラミングサークル
PDF
無駄にNeo4jを使っている日々
by
Toshi Harada
PDF
双方向循環リスト
by
Masaki Kaga
PDF
20190518 27th-chugoku db-lt-pg12
by
Toshi Harada
PDF
Pgunconf14 pg13-psql
by
Toshi Harada
PDF
Pgunconf16 toast
by
Toshi Harada
PDF
データベース実践入門読書会スペシャル #nseg
by
ko ty
20190202-pgunconf-Access-Privilege-Inquiry-Functions
by
Toshi Harada
蟻本輪講 データ構造
by
HCPC: 北海道大学競技プログラミングサークル
無駄にNeo4jを使っている日々
by
Toshi Harada
双方向循環リスト
by
Masaki Kaga
20190518 27th-chugoku db-lt-pg12
by
Toshi Harada
Pgunconf14 pg13-psql
by
Toshi Harada
Pgunconf16 toast
by
Toshi Harada
データベース実践入門読書会スペシャル #nseg
by
ko ty
More from Toshi Harada
PDF
Jpug study-postgre sql-10-pub
by
Toshi Harada
PDF
Pgunconf 20121212-postgeres fdw
by
Toshi Harada
PDF
Dblt#2 do-postgres-dream-of-graph-database
by
Toshi Harada
PDF
Pgconf asia-201612203-pg reversi
by
Toshi Harada
PDF
Pgconf asia-201612203-pg reversi-ja
by
Toshi Harada
PDF
20170819 ocd-l tthon-pgdev
by
Toshi Harada
PDF
20181110 fok2018-pg-extension
by
Toshi Harada
PDF
Hackers Champloo 2016 postgresql-9.6
by
Toshi Harada
PDF
20171106 ntt-tx-postgre sql-10
by
Toshi Harada
PDF
20190119 aws-study-pg-extension
by
Toshi Harada
PDF
20171103 pg con-jp-lt-plpgsql
by
Toshi Harada
PDF
Chugoku db 17th-postgresql-9.6
by
Toshi Harada
PDF
20171028 osc-nagaoka-postgre sql-10
by
Toshi Harada
PDF
Osc shimane-2016-do-postgres-dream-of-graph-database
by
Toshi Harada
PDF
Kof2016 postgresql-9.6
by
Toshi Harada
PDF
Chugoku db 17th-lt-kly
by
Toshi Harada
PDF
Chugoku db 20th-postgresql-10-pub
by
Toshi Harada
PDF
Ntt tx-study-postgre sql-10
by
Toshi Harada
PDF
Do postgres-dream-of-graph-database
by
Toshi Harada
PDF
MyNA JPUG study 20160220-postgresql-json-datatype
by
Toshi Harada
Jpug study-postgre sql-10-pub
by
Toshi Harada
Pgunconf 20121212-postgeres fdw
by
Toshi Harada
Dblt#2 do-postgres-dream-of-graph-database
by
Toshi Harada
Pgconf asia-201612203-pg reversi
by
Toshi Harada
Pgconf asia-201612203-pg reversi-ja
by
Toshi Harada
20170819 ocd-l tthon-pgdev
by
Toshi Harada
20181110 fok2018-pg-extension
by
Toshi Harada
Hackers Champloo 2016 postgresql-9.6
by
Toshi Harada
20171106 ntt-tx-postgre sql-10
by
Toshi Harada
20190119 aws-study-pg-extension
by
Toshi Harada
20171103 pg con-jp-lt-plpgsql
by
Toshi Harada
Chugoku db 17th-postgresql-9.6
by
Toshi Harada
20171028 osc-nagaoka-postgre sql-10
by
Toshi Harada
Osc shimane-2016-do-postgres-dream-of-graph-database
by
Toshi Harada
Kof2016 postgresql-9.6
by
Toshi Harada
Chugoku db 17th-lt-kly
by
Toshi Harada
Chugoku db 20th-postgresql-10-pub
by
Toshi Harada
Ntt tx-study-postgre sql-10
by
Toshi Harada
Do postgres-dream-of-graph-database
by
Toshi Harada
MyNA JPUG study 20160220-postgresql-json-datatype
by
Toshi Harada
Recently uploaded
PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PDF
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版
by
sorabatake
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信
by
e-Patent Co., Ltd.
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PMBOK 7th Edition_Project Management Context Diagram
by
akipii ogaoga
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector
by
akipii ogaoga
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis
by
akipii ogaoga
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard
by
akipii ogaoga
PMBOK 7th Edition_Project Management Process_WF Type Development
by
akipii ogaoga
20181122 pg con-jp-lt-logrep
1.
PostgreSQL Conference JPPostgreSQL
Conference JP (2018-11-22)(2018-11-22) 論理レプリケーションの論理レプリケーションの ダメな使い方ダメな使い方 ぬこ@横浜ぬこ@横浜 (@nuko_yokohama)(@nuko_yokohama)
2.
2 自己紹介 「 PostgreSQL ラーメン」 でググってください (Bing
ってもいいです)
3.
3 今日も 役に立たない話で すまんな
4.
4 みなさん、 PostgreSQL の おもしろ機能 論理レプリケーション 使ってますか?
5.
5 同一テーブルの双方向複製は いろいろ面倒なので避けるが吉 Use Case マルチマスタ構成 テーブル
A テーブル B テーブル A テーブル B サーバ 1 サーバ 2
6.
6 Use Case 部分複製 テーブル
A テーブル B テーブル A テーブル C サーバ 1 サーバ 2 テーブル C
7.
7 Use Case データ集約 テーブル
A テーブル B テーブル A サーバ 1 サーバ 3 テーブル X サーバ 2 テーブル X
8.
8 Use Case 異バージョン複製 テーブル
A テーブル B テーブル A テーブル B サーバ 1 サーバ 2 PostgreSQL 10 PostgreSQL 11
9.
9 Use Case 異
OS 間複製 テーブル A テーブル B テーブル A テーブル B サーバ 1 サーバ 2
10.
10 そして
11.
11 Use Case 山手線ゲーム ※
イメージです
12.
12 Use Case 山手線ゲーム ※
イメージです 「お題」として 1 つのテーマを定め、そのお題に沿った解答 を参加者が順番に解答していく。 「お題」は誰にもいくつか答えが思いつくもので、正誤の判 定が容易に可能なもの(「日本の都道府県の名前」「タロッ トの 22 大カードの名前」など)で、一度出た答えは再び答 えとして使うことは出来ない。 答えが全て出尽くすと終了となるが、通常は同じ答えを 2 回 言ったり、途中で解答を言えなくなったり、テーマに合わな い誤答をした者が敗者となる。 敗者に対しては罰ゲームが行われることがある。 ●(引用 https://ja.wikipedia.org/wiki/%E5%B1%B1%E6%89%8B%E7%B7%9A%E3%82%B2%E3%83%BC%E3%83%A0)
13.
13 Use Case 山手線ゲーム ※
イメージです 要するに ●値域外を入力しちゃダメ ●自分が既に入力した値を再度入力しては ダメ ●他人が既に入力した値を入力してはダメ というルールを実装すれば良い。
14.
14 ということで
15.
15 ロジカルレプリケーションを 無駄に使って山手線ゲームを 作ってみた
16.
16 入力値の値域チェック ENUM 型
17.
17 自分の入力重複チェック PRIMARY KEY 制約
18.
18 ENUM 型 /PK
制約 -- -- 山手線型と山手テーブル(新駅対応版) -- DROP TABLE IF EXISTS yamanote_table; DROP TYPE yamamote; CREATE TYPE yamanote AS ENUM ( ' 大崎 ', ' 五反田 ', ' 目黒 ', ' 恵比寿 ', ' 渋谷 ', ' 原宿 ', ' 代々木 ', ' 新宿 ', ' 新大久保 ', ' 高田馬場 ', ' 目白 ', ' 池袋 ', ' 大塚 ', ' 巣鴨 ', ' 駒込 ', ' 田端 ', ' 西日暮里 ', ' 鴬台 ', ' 上野 ', ' 御徒町 ', ' 秋葉原 ', ' 神田 ', ' 東京 ', ' 有楽町 ', ' 新橋 ', ' 浜松町 ', ' 田町 ', ' 品川 ', ' 真・北品川 ' -- たぶん、こんな名前になるはず ); CREATE TABLE yamanote_table ( name yamanote PRIMARY KEY, player text, ts timestamp );
19.
19 他人の入力履歴はみせない ロジカルレプリケーション
20.
20 Q. なんで Row
Level Security 機能を使わないの? ⬇ A. ロジレプはロマンなので
21.
21 他人との入力重複チェック UNIQUE 制約@ SUBSCRIBER
22.
22 こんな感じ yamanote-server name 新宿 日暮里 name 新宿 渋谷 日暮里 yamanote-client name 渋谷 yamanote-client yamanote 表 yamanote
表 Logical Replication Logical Replication yamanote 表
23.
23 SUBSCRIBER 側での コンフリクトの自動検知 ・・・なんだけど、 PostgreSQL 自体では コンフリクト自動検知は できない
24.
24 すぐ 拡張
25.
25 そこになければ ないですね 作れば良いです
26.
26 ごく簡単な拡張 (detect_conflict) を作って PostgreSQL に組み込む ・コンフリクト検知 ・任意の処理を起動
27.
27 拡張機能とパラメータ $ tail -4
~/yamanote/test2/postgresql.conf # Add settings for extensions here shared_preload_libraries = 'detect_conflict' detect_conflict.constraint_name = 'yamanote_t_name_key' detect_conflict.action_script = '/tmp/action.sh' $ パラメータ名 型 意味 detect_conflict.constraint_name TEXT コンフリクト検知対象とする制約名 detect_conflict.action_script TEXT コンフリクト検知後に実行されるスクリプト のパス SQLSTATE=23505 (一意性制約違反) かつ、指定した制約名のときにスクリプトを起動する、だけ。
28.
28 山手線ゲームの構成 yamanote-server yamanote-clientyamanote-client Logical Replication Logical Replication yamanote 表 yamanote 表 status
表 yamanote 表 status 表 検知プラグイン status 表 yamanote 表 status 表status 表 スクリプト起動 更新 サーバログ Conflict 検知 挿入挿入 挿入 参照 参照 SUBSCRIBER PUBLISHER SUBSCRIBERSUBSCRIBER SUBSCRIBERPUBLISHER
29.
29 デモ
30.
30 ロジカルレプリケーションを無駄に 使うと山手線ゲームを作れる コンフリクト検知機能をもうちょっと 真面目に作ると役にたつのかなあ? ロジカルレプリケーションは楽しいので もっとみんなで変な使い方を考えよう まとめ
31.
31 おしまい
Download