前編の続きです。
参加セッション(続き)
【T2】VACUUM Simulator を使って VACUUM をもっと理解しよう(pganalyze / 織田さん)
象使いとしては必須科目(?)ともいえる VACUUM について理解するセッション。個人的に
【T2】かつてVACUUMに負けてMySQLに移った者としては、VACUUMとたたかう術を身につけて帰らねば。#pgcon23j
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
と意気込んで参加したものの、
【T2】アプリケーション実行環境の文脈だと「ヒープ vs スタック」かな?
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
(文脈が違うと指す意味が微妙に異なる)
VACUUMの話はアプリケーションでいうところのGCとも絡むので、うまく頭の中で整理しないと。#pgcon23j
頭の中で整理はし切れませんでした。
アプリケーション実行環境における共有のヒープメモリ空間は排他制御することはあっても MVCC のような並列バージョン管理をするケースは稀なので GC の仕組みと VACUUM の仕組みはその点で大きな違いがあるような気がします。
(PostgreSQL の文脈で「ヒープ」の対になるのは「インデックス」という話)
PostgreSQL使ってる方にアンケートです #pgcon23j
— Tada🎉 (@suke_masa) 2023年11月24日
いまは オート VACUUM があるから便利ですよね(なかった時代に挫折した者より)。
VACUUM SimulatorがWebアプリになってる!すごいhttps://t.co/kkJwXkfcSa
— まじまっちょ (@majimaccho_) 2023年11月24日
#pgcon23j pic.twitter.com/DHoxpC1GR2
(理解しやすい形での)可視化大事。
【T2】やはりGCのグラフを見ている感覚になる。
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
(古いバージョンだと「いずれ必ずFull GC(ぽいもの)が走る」点が違うけど)#pgcon23j
【T2】どこかで続編が必要になりそうw#pgcon23j
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
続編ではありませんが、懇親会で(本編で紹介できなかった)pganalyze 製品の説明がありました。
【E3】柔軟性がより向上した論理レプリケーションの活用について(NTT テクノクロス / 金澤さん)
PostgreSQL 15 以降のバージョンアップで論理レプリケーションに追加された機能から 3 つピックアップして説明がありました。
【E3】PostgreSQL 15以降でのロジレプで列や行をフィルタできるようになった話。
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
必要なデータだけを渡して分析、みたいな文脈で、流すデータを限定できると良いよね、という話を聞いて、PostgreSQL本体とは一切関係ないけどAurora→RedshiftのゼロETLでも早く対応してくれ!と思ってる。#pgcon23j
対象データを減らせれば転送に必要な帯域も容量も減りますし。
【E3】マルチマスターの話は以前たしかぬこさんが #pgunconf で話されていたときの結論と同じ?#pgcon23j
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
まあ、ぶっちゃっけ講演者の金澤さんと同じチームにいるのでw
— ぬこ@横浜 16.1 (@nuko_yokohama) 2023年11月24日
なるほど。
この後、「素人質問で恐縮ですが」の別バージョン的なやり取りが展開されましたw
【E3】マルチマスターも目的をどこに置くかで実用になるかどうか…という(MySQLのInnoDB ClusterにしてもAWSのAuroraのMulti-Masterにしてももともと性能目的の機能じゃないので)。
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
そして会場にはPostgreSQL本体とは別のところでマルチマスター化を実現されているみなさまがw#pgcon23j
【A4】pgvector を使って ChatGPT と PostgreSQL を連携してみよう!(NTTデータグループ / 石井さん)
前編冒頭に記したとおり、今回は「猫も杓子も(象も亀も)Vector Store」という感じでしたが、Vector Store の使い方だけでなく理論的な説明を含むセッションでした。
午前中のGoogleさんのセッション聞いてても、ポスグレやっててpgvector何も知らないのはそろそろまずい気もしてきた。#A4 #pgcon23j
— こば -Koba as a DB engineer- (@tzkb) 2023年11月24日
個人的に、今年 4 月の PostgreSQL アンカンファレンスで
【A4】pgvectorを最初に #pgunconf でネタにしたのはこのときだったか。
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
(dbdevのほうはどこへ行った?)https://t.co/2PAVHdVxSq#pgcon23j
ネタにしましたが、その2 ヶ月前の
これ↑が pgvector 初言及でした。
ちなみに、記憶違いと↑(35 ページ)でリンクされている記事の読み間違いによって勘違いしていましたが、pgvector 本体は Supabase とは関係なく 2021 年 4 月にバージョン 0.1.0 が公開されたところからスタートして、当初は地味にバージョンアップされていたのが、今年に入って急展開!みたいな流れでした。
(Supabase が開発したのは「pgvector を LangChain などから使うライブラリや Extensions」のほうですね。LangChain には Supabase 以外の PostgreSQL から利用できる pgvector 用ライブラリも存在して、そちらの開発も進んでいます。そして石井さんのお話は後者を扱ったものでした。確か)
この時点では「RAG」って呼び方もしてなかったなー(時が流れるのはやい)。#pgcon23j
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
あっという間に新しい呼び方が定着しましたね。
【A4】これLangChainから使うと(テーブル作成を含め)内部的に全部隠蔽されてるからSQLとか一切書く必要がなかったり(DB屋としては物足りないけど)。#pgcon23j
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
そこをあえて SQL 文を出して石井さんが解説してくださいました。
【A4】むかしは日本語の文章をベクトル化するのに形態素解析が必要だったのに(いかん、老人会の話になってしまう)。#pgcon23j
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
TF-IDF とか Word2Vec の頃ですね。
【A4】これINDEXのIVFFlat/HNSWの仕組みの説明まで入ってくるのかな?#pgcon23j
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
はい。来ました。
【A4】たぶんいまRAGとか作ってる人たちはベクターストアの性能とかあまり気にしてないので、今のうちに性能チューニングのスキルを身につけておくとDB屋として生きのこれるかもしれない(しらんけど)。#pgcon23j
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
そしておまけです。お勧め。
[勝手にPR]昨日の #pgcon23j ではpgvector絡みでベクトル検索が話題になりましたが、明日までオンライン開催中の #技術書典 15 で、Solrのベクトル検索機能を解説する書籍が購入可能です。https://t.co/P48F9REDWQhttps://t.co/x0sg5D65Lxhttps://t.co/IUM6xDixGu
— hmatsu47(まつ) (@hmatsu47) 2023年11月25日
ベクトル検索(文章に限らず画像も)の解説についてはSolr以外を使うケースにも役立つと思います。
— hmatsu47(まつ) (@hmatsu47) 2023年11月25日
電子版は27日以降も購入できますが(Supplemental Bookの)紙版は会期中のみです!
(#pgcon23j で話が出たとおりpgvectorの検索は速くないので、他のベクトル検索エンジンとの併用も検討の余地あり)
懇親会
懇親会待機中。#pgcon23j pic.twitter.com/8iSCtAdMUy
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
去年はコロナもあって「個別パッケージ(カプセル?)提供」みたいな感じだったのが、コロナ前の姿に戻りました。
懇親会 LT
LT始まった!
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
Hasuraの話。#pgcon23j pic.twitter.com/7h5QmbYUcN
2つ目Neonが出てきた。
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
ここでもpgvectorの話!#pgcon23j
Hasura に Neon と来て…Supabase は来なかった(残念)。
ぬこさん!
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
ロジレプ話!#pgcon23j pic.twitter.com/svmqzhB7Vp
デモは失敗してしまいました(本番のお約束ですね)。
チュートリアル2セッション目で製品説明できなかったのでリベンジLT!
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
(pganalyze)#pgcon23j pic.twitter.com/bUfDHB4Cse
セッションの(時間切れ)リベンジ完了?
PostGISの読み方?#pgcon23j pic.twitter.com/GoQiOzWFTG
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
気づきませんでしたが、こちらも(別の意味で)セッションのリベンジだったようです。
LTで前の方にハードル上げられたなかで敢行した微妙なネタ。PostGISをなんて読む?結論はどっちでもいい好きにしろ。PaulとRegina両氏で分かれてるんだから仕方ないじゃないかwhttps://t.co/9rFhizyOPJ#pgcon23j
— boiledorange73 (@boiledorange73) 2023年11月24日
pgvectorとPostGISがかぶって、人は取られるわ、聞きたいのが聞けないわで。#pgcon23j
— boiledorange73 (@boiledorange73) 2023年11月24日
「何もなければ PostGIS のセッションに行っていた(かもしれない)勢」です。
(今回は「入門の入門」だったのでパスしましたごめんなさい)
その他
今回も「各地のお土産争奪じゃんけん大会」が開催されました(ふぐ雑炊をいただきました)。
あとは、
帰路なう。久しぶりに 1日ガッツリ PostgreSQL な感じで楽しかった。懇親会で「物理でははじめまして」な方々とお話しもできてよかった。
— こたつ&&みかん (@kota2and3kan) 2023年11月24日
MySQL 勢が軒並み帰ってしまい一人寂しく(?)残されましたが、アンカンファレンス仲間(?)の皆さんとお話しができて楽しめました。
おまけの出来事
東京駅で当初予定より30分早い新幹線に変更したところ予定より20分ちょっと遅れて名古屋に到着し、無事帰宅しました。
— hmatsu47(まつ) (@hmatsu47) 2023年11月24日
(EX予約、本来なら出発済みだけど実際には遅れている列車への変更ができるケースがあるのを初めて知った)
ありがとうございました!#pgcon23j https://t.co/WsIBqXwvrt
豊橋駅で不審物発見!
…結果、ただの弁当ゴミで良かったです。
(そして、東京駅周辺にたくさんの「同志」がいた!)
前回参加したときはちょっと寂しい感じがしましたが、今回は本編も懇親会も人が多く活気が戻ってきた(そして「高齢化」が他の界隈と比べて進んでいる DB 界隈でも、新たな若い年代の参加者が増えてきた)印象です。
開催ありがとうございました。