前回に引き続き(3 回連続の)発表枠参加でした。
いつもの(ぬこさんによる)Togetter まとめはこちらです。
今回は直前に HeatWavejp の on AWS 回があったので少しだけ遅刻しました。
トップバッターはきむじゅんさんの AlloyDB 移行の話でした。
AlloyDBに停止時間30秒で移行したとは、驚異的な技術力だな…#pgunconf
— たいき (Taiki) (@taikik1222) 2023年8月7日
AlloyDBのカラムナはプラガブルストレージではなく、カスタムスキャンを使っているということか。#pgunconf
— ぬこ@横浜 16.1 (@nuko_yokohama) 2023年8月7日
Columnar Engine を有効にした場合、状況によっては Index を張ってても Seq Scan が裏で走るようなことがあるらしい。設定で有効/無効を切り替えられるらしいので、いろいろ検証しながら使ってみる感じになりそう。#pgunconf
— こたつ&&みかん (@kota2and3kan) 2023年8月7日
PostgreSQL Conference Japan 2023 あたりでプロダクト利用事例のセッションが出てきそうな雰囲気ですね。
次は池田さんの Neon の話でした。
最近の Cloud Native な感じの DB は Compute と Storage が分かれてるタイプが多い気がするけど、CockroachDB は (内部的にレイヤーは分かれているものの) Compute と Storage が分かれてないタイプなので、今後どんな感じになっていくのかちょっと気になってる。#pgunconf
— こたつ&&みかん (@kota2and3kan) 2023年8月7日
Neon は DaaS も提供されてるらしい。Amazon Aurora ともろに競合しそうだけど、そのあたりのすみ分けはどうゆう感じになるんだろうか。
— こたつ&&みかん (@kota2and3kan) 2023年8月7日
やはり「OSS である」とか「クラウドプロバイダへのベンダーロックイン回避」とかあたりがメリットになるんだろうか。#pgunconf
4/6じゃなくて2/3なのはPolarDBみたい。#pgunconf
— hmatsu47(まつ) (@hmatsu47) 2023年8月7日
Computeのキャッシュも入ったのかー#pgunconf
— ぬこ@横浜 16.1 (@nuko_yokohama) 2023年8月7日
OSS で Aurora っぽいものを実現、といっても部分的に構造は違うみたいです。
3 番目はぬこさんの ltree の話でした。
わたしがむかしPostgreSQL使ってた頃からあるのか。#pgunconf
— hmatsu47(まつ) (@hmatsu47) 2023年8月7日
ltree の歴史は古く、PostgreSQL 7.3 の頃から存在するそうです。
ltree をヘビーに使ってるユーザーがいるから今でも更新されてる感じなんだろうか。#pgunconf
— こたつ&&みかん (@kota2and3kan) 2023年8月7日
「マルチバイト非対応」っていうのは、確かに日本での普及のハードルになってしまう気がする。#pgunconf
— こたつ&&みかん (@kota2and3kan) 2023年8月7日
使い方を見ていると面白そうなのですが、やはり日本語非対応なので日本では馴染みが薄いですね。
4 番目は北山さんの劔(Tsurugi)アーリーアクセス版とPostgreSQL FDW の話でした。
北山さんの劔のアーリーアクセス版の話、期待!#pgunconf
— hmatsu47(まつ) (@hmatsu47) 2023年8月7日
タイムリーですね。
PostgreSQL FDWもあるのか#pgunconf
— ぬこ@横浜 16.1 (@nuko_yokohama) 2023年8月7日
CPUがほぼ100%、初期のAuroraもそんな感じだったようなw#pgunconf
— hmatsu47(まつ) (@hmatsu47) 2023年8月7日
ちょっと言い過ぎかもしれませんが初期の Aurora は CPU 負荷が今よりも高かった気がします。劔はそれ以上でほぼ 100%(✖️コア数)みたいですが。
PostgreSQL用のTsurugi FDWを用意したのは、普及を目指す点では大きいですね。
— たいき (Taiki) (@taikik1222) 2023年8月7日
pgjdbcで間接的ではあれ、アクセスできるというのは、使用に対するハードルを下げますよね。#pgunconf
その次がわたしの番でした。
Cloudflare のエッジロケーションにあるサーバーレス環境(Workers)から HTTP(S) 以外の TCP 接続ができるようになって、手始めに PostgreSQL(TCP:5432)に対応したので実際に試してみた…という話でした。
こういうPostgreSQLへ繋ぐ、系の話はアンテナ低いから、こういう話はとてもためになる・・・#pgunconf
— ぬこ@横浜 16.1 (@nuko_yokohama) 2023年8月7日
Cloudflareのコアドメインは「ウェブサイトのセキュリティとパフォーマンス改善」
— たいき (Taiki) (@taikik1222) 2023年8月7日
CDN(だけでは)ない。#pgunconf
なるほど、エッジロケーションにあるサーバーレス環境から TCP ベースの接続ができるようになったので、外部にある PostgreSQL にも接続できるようになった、というお話っぽい。#pgunconf
— こたつ&&みかん (@kota2and3kan) 2023年8月7日
最近、エッジロケーションでのアプリケーション動作環境が急速に進化していますよね。
エッジ環境から特定の場所にある PostgreSQL (恐らくどこかのロケーションに 1つだけある?) に接続しちゃうと、エッジのメリット (クライアントに近い場所で処理が完結) がなくなってしまう気もするけど、そこは一旦気にしない感じだろうか。#pgunconf
— こたつ&&みかん (@kota2and3kan) 2023年8月7日
DBから取得したデータを、Cloudflare内でキャッシュしておく使い方にするのが順当ですかね…#pgunconf
— たいき (Taiki) (@taikik1222) 2023年8月7日
まさにそんな感覚です。
最後が澤田さんのライブデバッグによるバグ調査でした。
直前に開催されていた OSC 京都の発表を元にした話だったようです。
— たいき (Taiki) (@taikik1222) 2023年8月7日
OSC Kyotoの時に発表された資料はこちらhttps://t.co/tQut1PWxmu#pgunconf
— ester@VFR1200F (@ester41) 2023年8月7日
ALTER INDEXでテーブル名変更できるとは!(仕様らしい)
— ぬこ@横浜 16.1 (@nuko_yokohama) 2023年8月7日
ぽすぐれなんもわからん・・・。#pgunconf
これ、人によっては「バグかも」と思わず「こうすると待たされない」ってTips的に受け取りそう。#pgunconf
— hmatsu47(まつ) (@hmatsu47) 2023年8月7日
バグなのか仕様なのか、は素人には意外と判別しづらいもので。
歴史的な理由で、テーブルに対する alter index、インデックスに対する alter table ができるのは仕様。
— たいき (Taiki) (@taikik1222) 2023年8月7日
ただ、 alter table と alter index で、取得されるロックレベルが違うので、
同じ操作であるにもかかわらず、挙動が違うという点がバグ。
(このバグは、既に直っているものです)#pgunconf
なぜ、そこがバグっているのかを突き止めるのかは、 git blame で変更履歴を調べる。
— たいき (Taiki) (@taikik1222) 2023年8月7日
今回は、 2018年に入った 1b5d797c で作り込まれたもののようだ、と判る。#pgunconf
拾ってもらいました。ありがとうございます。
— こたつ&&みかん (@kota2and3kan) 2023年8月7日
「ALTER TABLE なのに INDEX が RENAME できるのは Bug だ!」ってレポートが最初に上がってきて、それに対してコミッターの人が「これは歴史的な理由で仕様だ」と回答する流れの中で、コードを確認した際に偶然 (?) 見つかったらしいです。#pgunconf https://t.co/S2fPD2T9oa
Deep なお話でした。
今回も多彩な&タイムリーなネタで面白かったです。