[{"data":1,"prerenderedAt":329},["ShallowReactive",2],{"recruit-jobs":3,"recruit-articles-all-1":157,"recruit-articles-categories":265,"recruit-article-entry-215":277},{"list":4,"categories":146},[5,13,18,23,28,33,41,46,51,56,61,66,71,76,81,86,91,96,101,106,111,116,121,126,131,136,141],{"topics_id":6,"contents_type":7,"contents_type_nm":8,"name":9,"text":10,"url":11,"is_top":12},64,18,"新卒","WEBエンジニア職","事業・サービス・社内業務効率化に関わるプロダクト開発、システム開発、アプリ開発などDX推進を担当。","https://public.n-ats.hrmos.co/rizapgroup/jobs/2126894917723471872",true,{"topics_id":14,"contents_type":7,"contents_type_nm":8,"name":15,"text":16,"url":17,"is_top":12},65,"データサイエンティスト職","事業・サービスに関わるビッグデータに対して、横断的にデータ分析基盤を構築し、新しい提供価値を創造。","https://public.n-ats.hrmos.co/rizapgroup/jobs/2171814626636591104",{"topics_id":19,"contents_type":7,"contents_type_nm":8,"name":20,"text":21,"url":22,"is_top":12},66,"業務自動化エンジニア職","様々な業態・業務プロセスにおける、自動化や仕組み化の導入・開発を推進。","https://public.n-ats.hrmos.co/rizapgroup/jobs/2126896559415881728",{"topics_id":24,"contents_type":7,"contents_type_nm":8,"name":25,"text":26,"url":27,"is_top":12},67,"IoTエンジニア職","IoT事業の拡大に向け、ハード・ソフト両軸で新しい体験価値を創造。","https://public.n-ats.hrmos.co/rizapgroup/jobs/2156228450968444928",{"topics_id":29,"contents_type":7,"contents_type_nm":8,"name":30,"text":31,"url":32,"is_top":12},68,"セキュリティエンジニア職","従業員の働きやすさを支える、業務システムとITインフラの構築・管理。","https://public.n-ats.hrmos.co/rizapgroup/jobs/2179029856766332928",{"topics_id":34,"contents_type":35,"contents_type_nm":36,"name":37,"text":38,"url":39,"is_top":40},69,21,"中途","開発PM","Webサービスやモバイルアプリの要件定義・設計から開発チームのマネジメント、進捗・品質管理、定量定性分析による改善を担う。","https://hrmos.co/pages/rizapgroup/jobs/000003",false,{"topics_id":42,"contents_type":35,"contents_type_nm":36,"name":43,"text":44,"url":45,"is_top":40},70,"Webディレクター","WebページのディレクションからCMS運用、KPI設計・ABテスト・PDCAサイクルによるサイトグロースまで、幅広くWeb制作の進行を担う。","https://hrmos.co/pages/rizapgroup/jobs/000007",{"topics_id":47,"contents_type":35,"contents_type_nm":36,"name":48,"text":49,"url":50,"is_top":12},71,"シニアプロダクトマネージャー","アプリ・店舗IoT・タブレット等の複数プロダクト戦略策定から要件定義・UX設計・効果検証まで、経営層と連携しながら一貫してプロダクト開発を主導。","https://hrmos.co/pages/rizapgroup/jobs/000010",{"topics_id":52,"contents_type":35,"contents_type_nm":36,"name":53,"text":54,"url":55,"is_top":12},72,"IoTサーバーエンジニア(オープンポジション)","店舗デバイスのデータ収集・遠隔制御基盤からアルゴリズム、外部ベンダー管理まで幅広く担当。既存システム連携や新価値提案を通じ、デバイス活用の仕組み作りを担う。","https://hrmos.co/pages/rizapgroup/jobs/000015",{"topics_id":57,"contents_type":35,"contents_type_nm":36,"name":58,"text":59,"url":60,"is_top":40},73,"店舗IoT／ハードウェア企画・プロダクトマネージャー","グループ独自のサービスやシステムの企画、要件定義、開発管理を担う。PoCによる仮説検証を行うほか、外部ベンダー管理を含むプロジェクト全体の推進を行う。","https://hrmos.co/pages/rizapgroup/jobs/000019",{"topics_id":62,"contents_type":35,"contents_type_nm":36,"name":63,"text":64,"url":65,"is_top":40},74,"モバイルアプリエンジニア(Android)","Kotlinを用いたAndroidアプリの企画・設計・開発・運用を担当。PdM・デザイナー・バックエンドエンジニアと連携したチーム開発でサービス品質向上を推進する。","https://hrmos.co/pages/rizapgroup/jobs/000025",{"topics_id":67,"contents_type":35,"contents_type_nm":36,"name":68,"text":69,"url":70,"is_top":40},75,"データアナリスト","SQLや機械学習を活用し、サービスの新規開発・改善を支援する。KPI定義・可視化・データ分析基盤の構築を担当。","https://hrmos.co/pages/rizapgroup/jobs/000042",{"topics_id":72,"contents_type":35,"contents_type_nm":36,"name":73,"text":74,"url":75,"is_top":40},76,"Webデザイナー","WebサービスやアプリのUI/UXからLP・バナー等の広告クリエイティブ制作など、デジタル+リアルの顧客接点を意識したデザイン業務を担う。","https://hrmos.co/pages/rizapgroup/jobs/000061",{"topics_id":77,"contents_type":35,"contents_type_nm":36,"name":78,"text":79,"url":80,"is_top":40},77,"プロジェクトマネージャー・プロジェクトリーダー","RIZAPグループ全社のDX推進として、清掃管理システムやCTI/CRMリプレイス等のシステム導入プロジェクトを要件定義からリリースまで一貫してマネジメントする。","https://hrmos.co/pages/rizapgroup/jobs/100008",{"topics_id":82,"contents_type":35,"contents_type_nm":36,"name":83,"text":84,"url":85,"is_top":40},78,"Webディレクター（マネージャー候補）","WebディレクションやサイトグロースのPDCA推進に加え、ディレクター育成・目標設定・評価・アーキテクチャ選定など組織マネジメント全般を担うリーダー職。","https://hrmos.co/pages/rizapgroup/jobs/1971790520045400071",{"topics_id":87,"contents_type":35,"contents_type_nm":36,"name":88,"text":89,"url":90,"is_top":40},79,"開発PM（マネージャー候補）","Webサービス・モバイルアプリの開発方針策定からPMチームの育成・評価・組織運営まで担い、経営層・外部パートナーと連携しながらプロダクト開発を統括する。","https://hrmos.co/pages/rizapgroup/jobs/1971790520045400072",{"topics_id":92,"contents_type":35,"contents_type_nm":36,"name":93,"text":94,"url":95,"is_top":40},80,"DX戦略推進マネージャー","経営・事業戦略フェーズから参画し、AI/RPA活用を前提とした業務プロセス改革・システム要件定義・開発ディレクション・ステークホルダー調整を横断的に主導。","https://hrmos.co/pages/rizapgroup/jobs/1971790520045400083",{"topics_id":97,"contents_type":35,"contents_type_nm":36,"name":98,"text":99,"url":100,"is_top":40},81,"PL／PM","システム構築プロジェクトにおいて、進捗・課題・コスト管理から外部ベンダー交渉・社内調整まで幅広くプロジェクトのマネジメントを担う。","https://hrmos.co/pages/rizapgroup/jobs/1971790520045400102",{"topics_id":102,"contents_type":35,"contents_type_nm":36,"name":103,"text":104,"url":105,"is_top":40},82,"社内SE／インフラ・ネットワークアーキテクト","社内インフラ・ネットワークの要件定義・設計・リリースから基幹システムのリプレイス検討・保守運用改善まで、グループ全体の社内ITを包括的に担当。","https://hrmos.co/pages/rizapgroup/jobs/1971790520045400103",{"topics_id":107,"contents_type":35,"contents_type_nm":36,"name":108,"text":109,"url":110,"is_top":40},83,"電気エンジニア(オープンポジション)","店舗設置IoT機器の回路・基板設計・試作・評価・検証を行い、パートナーとの生産立ち上げや外部開発ベンダーのマネジメントまで手掛けるハードウェア開発職。","https://hrmos.co/pages/rizapgroup/jobs/2110665929241341962",{"topics_id":112,"contents_type":35,"contents_type_nm":36,"name":113,"text":114,"url":115,"is_top":40},84,"業務アプリケーション開発エンジニア・アーキテクト","クラウドを活用したRIZAPグループ各社の社内業務アプリを内製開発・運用し、現場ヒアリングから要件定義・自動化・効率化の実装まで一貫して担う。","https://hrmos.co/pages/rizapgroup/jobs/2110665929241341966",{"topics_id":117,"contents_type":35,"contents_type_nm":36,"name":118,"text":119,"url":120,"is_top":40},85,"組み込みエンジニア(オープンポジション)","センサーや無線通信を用いたIoT機器のファームウェア設計・実装・検証とセンサーデータ分析・制御アルゴリズム開発を担い、外部ベンダー共同開発も管理する。","https://hrmos.co/pages/rizapgroup/jobs/2110665929241341969",{"topics_id":122,"contents_type":35,"contents_type_nm":36,"name":123,"text":124,"url":125,"is_top":40},86,"機構エンジニア(オープンポジション)","店舗設置機器の機構部PoC・設計・試作・評価から樹脂成型・板金部品の量産化まで担い、生産パートナーと協力して製造立ち上げを主導するエンジニア職。","https://hrmos.co/pages/rizapgroup/jobs/2110665929241341970",{"topics_id":127,"contents_type":35,"contents_type_nm":36,"name":128,"text":129,"url":130,"is_top":40},87,"ハードウェア品質管理","既存マシンの品質課題解析や対策立案から、新デバイスの性能・信頼性評価、品質データ分析・工程管理まで一貫して担い、ハードウェアの品質保証と改善提案をリードする。","https://hrmos.co/pages/rizapgroup/jobs/2110665929241341973",{"topics_id":132,"contents_type":35,"contents_type_nm":36,"name":133,"text":134,"url":135,"is_top":40},88,"AI・データユニット（20代の第二新卒～ミドルクラス）","多角的な事業から得られる膨大なデータを活用し、ビジネスインパクトを最大化するためのデータ基盤構築およびAIソリューションの開発を担う。","https://hrmos.co/pages/rizapgroup/jobs/2110665929241341987",{"topics_id":137,"contents_type":35,"contents_type_nm":36,"name":138,"text":139,"url":140,"is_top":40},89,"修理工程プロセスエンジニア・現場監督","新規修理工程の立ち上げ・レイアウト設計・設備選定からSOP作成・進捗/品質/コスト管理・現場作業員の安全衛生監督まで一貫して担う製造現場リーダー職。","https://hrmos.co/pages/rizapgroup/jobs/2110665929241341990",{"topics_id":142,"contents_type":35,"contents_type_nm":36,"name":143,"text":144,"url":145,"is_top":40},90,"修理現場リーダー・作業員監督","新規修理工程にて、現場の労務・シフト管理や技術指導、進捗管理を一貫して担当。現場の課題を吸い上げ、プロセス改善や品質向上に向けた提案までを担う。","https://hrmos.co/pages/rizapgroup/jobs/2110665929241341991",[147,151,154],{"label":148,"value":149,"to":150},"すべて","all","/recruit/jobs",{"label":8,"value":152,"to":153},"18","/recruit/jobs/categories/18",{"label":36,"value":155,"to":156},"21","/recruit/jobs/categories/21",{"articles":158,"totalPageCnt":264},[159,170,180,187,197,202,210,216,222,228,233,238,243,253,258],{"to":160,"image":161,"date":162,"label":163,"title":164,"tags":165},"/recruit/articles/entries/199","https://rizap-tech.g.kuroco-img.app/v=1775010931/files/user/recruit/contents/thumbnail/n5cfaf3e31c72_73e97bd445fe0dfcbf6bbcdef8acc1f4.png","2026.02.05","技術・カンファレンス","AIエージェント時代を見据えた認証認可の未来 ─ Authlete Meetup 2025 参加レポート",[166,167,168,169],"イベントレポート","カンファレンス","Authlete","エンジニア",{"to":171,"image":172,"date":173,"label":174,"title":175,"tags":176},"/recruit/articles/entries/200","https://rizap-tech.g.kuroco-img.app/v=1775010935/files/user/recruit/contents/thumbnail/n9a33f80f8704_7728e1500e7c81f2e18fbd5accede9a9.jpeg","2026.01.19","インターン・採用","【RIZAPテクノロジーズ】27年卒向け　第9回3Daysエンジニアインターンを開催しました！",[169,177,178,179],"開発","新卒採用","インターン",{"to":181,"image":182,"date":183,"label":163,"title":184,"tags":185},"/recruit/articles/entries/201","https://rizap-tech.g.kuroco-img.app/v=1775010937/files/user/recruit/contents/thumbnail/n24f5b9c49390_6873514f9cb987e31f21d908e7882fc4.png","2026.01.08","RIZAPオフィスでProgateハッカソンを開催しました！",[178,186],"ハッカソン",{"to":188,"image":189,"date":190,"label":191,"title":192,"tags":193},"/recruit/articles/entries/203","https://rizap-tech.g.kuroco-img.app/v=1775010930/files/user/recruit/contents/thumbnail/n2f795844f152_90197213ae57cefa5c5b5bbfb90cc914.png","2025.12.26","インタビュー","内定者が聞く、RIZAPテクノロジーズ IoT統括部のリアル【後編】",[194,195,196],"社員インタビュー","IoT","仕事のリアル",{"to":198,"image":199,"date":190,"label":191,"title":200,"tags":201},"/recruit/articles/entries/202","https://rizap-tech.g.kuroco-img.app/v=1775010933/files/user/recruit/contents/thumbnail/n8a11235fd931_b14a9ca709c1ead3e54b9d46c46b3d4f.png","内定者が聞く、RIZAPテクノロジーズ IoT統括部のリアル【前編】",[194,195,196],{"to":203,"image":204,"date":205,"label":163,"title":206,"tags":207},"/recruit/articles/entries/204","https://rizap-tech.g.kuroco-img.app/v=1775010959/files/user/recruit/contents/thumbnail/ne6d110c0bec0_9577421efba8a564c17a6f9862c51c48.jpeg","2025.12.23","YAPC::Fukuoka 2025カンファレンスレポート【各講演の学び】",[166,167,169,208,209],"SRE","YAPC",{"to":211,"image":212,"date":213,"label":174,"title":214,"tags":215},"/recruit/articles/entries/205","https://rizap-tech.g.kuroco-img.app/v=1775010934/files/user/recruit/contents/thumbnail/n8ba7168ba394_0aa90eced3923259150a7e78b770d871.jpeg","2025.12.19","【RIZAPテクノロジーズ】27年卒向け　第8回3Daysエンジニアインターンを開催しました！",[169,177,178,179],{"to":217,"image":218,"date":219,"label":163,"title":220,"tags":221},"/recruit/articles/entries/206","https://rizap-tech.g.kuroco-img.app/v=1775010948/files/user/recruit/contents/thumbnail/n1843939c3a3c_8f61cafb8ad4218a615ec0751333945e.jpeg","2025.12.11","58ハッカソンにメンターとして参加しました！",[169,186,166],{"to":223,"image":224,"date":225,"label":191,"title":226,"tags":227},"/recruit/articles/entries/210","https://rizap-tech.g.kuroco-img.app/v=1775010930/files/user/recruit/contents/thumbnail/n3d479ba02fcc_c19c70a9c2415f376a3d6b83fce5a8b3.png","2025.12.04","未経験からバックエンドエンジニアに！　若手社員が語る、個人のスキルだけではいけない理由",[194,178,169,177],{"to":229,"image":230,"date":225,"label":191,"title":231,"tags":232},"/recruit/articles/entries/209","https://rizap-tech.g.kuroco-img.app/v=1775010952/files/user/recruit/contents/thumbnail/nb1b9e76e120b_df4b3f13b243d61bc3d303a0491524b7.png","エンジニアの力で社内の業務を自動化！　“to 社内向け”の仕事とは？",[194,169,178,196],{"to":234,"image":235,"date":225,"label":191,"title":236,"tags":237},"/recruit/articles/entries/208","https://rizap-tech.g.kuroco-img.app/v=1775010949/files/user/recruit/contents/thumbnail/n310208834a85_5857b502c7e40d1ce19340d831671b68.png","データアナリストとして成長途中のRIZAPを支える！　データを使った影響力のあるしごと",[194,178,196],{"to":239,"image":240,"date":225,"label":191,"title":241,"tags":242},"/recruit/articles/entries/207","https://rizap-tech.g.kuroco-img.app/v=1775010943/files/user/recruit/contents/thumbnail/n588feaae4af0_2ebd47200eaaa8ae0324c4b5d50428fe.png","デジタル化に留まらないDXを。 “攻め” の情報システム部とは？【内定者が若手社員に聞く！】",[194,178,196],{"to":244,"image":245,"date":246,"label":163,"title":247,"tags":248},"/recruit/articles/entries/213","https://rizap-tech.g.kuroco-img.app/v=1775010957/files/user/recruit/contents/thumbnail/ndbe0ad4c3c3b_881fecd27c29077dd8e3601cce3d06fc.jpeg","2025.12.03","Vue Fes Japan 2025 に登壇しました！",[166,167,249,250,251,169,252],"vue","nuxt","chocoZAP","登壇",{"to":254,"image":255,"date":246,"label":163,"title":256,"tags":257},"/recruit/articles/entries/212","https://rizap-tech.g.kuroco-img.app/v=1775010954/files/user/recruit/contents/thumbnail/nc0b63b0ba413_80f5027c4e0c8dc5adcdb46227fef03d.jpeg","Vue Fes Japan 2025  参加レポート",[166,167,249,250,169],{"to":259,"image":260,"date":246,"label":163,"title":261,"tags":262},"/recruit/articles/entries/211","https://rizap-tech.g.kuroco-img.app/v=1775010932/files/user/recruit/contents/thumbnail/n05f3262fccc7_bbdfb906499373c3a143a2b88638f2dd.jpeg","chocoZAPがRuby biz Grand prix 2025 大賞を受賞",[166,263,169,251,252],"Ruby",10,[266,268,271,274],{"label":148,"value":149,"to":267},"/recruit/articles",{"label":163,"value":269,"to":270},"32","/recruit/articles/categories/32",{"label":174,"value":272,"to":273},"33","/recruit/articles/categories/33",{"label":191,"value":275,"to":276},"31","/recruit/articles/categories/31",{"article":278,"relatedJobs":286,"relatedArticles":288},{"date":279,"publishedAt":280,"categoryName":163,"title":281,"heroImage":282,"body":283,"metaDescription":284,"tags":285},"2025.12.01","2025-12-01T00:00:00+09:00","RIZAPエンジニアがPostgreSQL Conference Japan 2025に初参戦！","https://rizap-tech.g.kuroco-img.app/v=1775010961/files/user/recruit/contents/thumbnail/nf0aed11afdc5_9c8b0acb0fa360447c0f911b83533d79.jpeg","\u003Cp name=\"c9f986f3-b096-4214-a2d3-be1c92177325\" id=\"c9f986f3-b096-4214-a2d3-be1c92177325\">こんにちは！　RIZAPテクノロジーズでバックエンドエンジニアを担当している佐藤と梅田です。\u003C/p>\u003Cp name=\"dd372d69-0924-4055-8f6d-2a50dba0c304\" id=\"dd372d69-0924-4055-8f6d-2a50dba0c304\">2025年11月21日、PostgreSQLの最新トピックや開発現場のナレッジを得られる、国内最大級の PostgreSQL カンファレンス「PostgreSQL Conference Japan 2025」に参加してきました！　RIZAPとしては今回が初めての参加となります。\u003C/p>\u003Ch2 name=\"ea7c8584-2a5c-40ad-bf51-4ea46ccf75da\" id=\"ea7c8584-2a5c-40ad-bf51-4ea46ccf75da\">カンファレンスに参加した経緯\u003C/h2>\u003Cp name=\"3f785f16-6fe9-4b82-bc94-444f4bb43232\" id=\"3f785f16-6fe9-4b82-bc94-444f4bb43232\">RIZAPテクノロジーズが発足した当初は、どのデータベースを使うべきかが明確に議論されていませんでした。\u003C/p>\u003Cp name=\"18c93572-9e3c-4256-aafe-5718b62deb3e\" id=\"18c93572-9e3c-4256-aafe-5718b62deb3e\">しかし、chocoZAP の事業が拡大し、全国の多くの方にご利用いただけるようになったことで、より複雑で多様な要件に応えられる基盤が必要になり、PostgreSQL を採用するに至った経緯があります。\u003C/p>\u003Cp name=\"48536624-6e94-4958-8404-9342439f64f7\" id=\"48536624-6e94-4958-8404-9342439f64f7\">PostgreSQLは長年多くのユーザーに使われていて安心感があるだけでなく、豊富な機能が備わっている点も大きな特徴です。今回のカンファレンスのキーノートが「The Rise of PostgreSQL as the Everything Database（あらゆる用途に対応するデータベースとしてのPostgreSQLの躍進）」と題されていたように、まさに「なんでもあり」なデータベースだと実感しています。標準機能が充実しており、痒いところに手が届く──そんな点も PostgreSQL を選んだ理由の一つです。\u003C/p>\u003Cp name=\"8ba94e1a-9c4a-4bff-a28f-97a0f862090d\" id=\"8ba94e1a-9c4a-4bff-a28f-97a0f862090d\">実際、私たちは chocoZAP の予約システム開発で PostgreSQL の「多重範囲型（multirange）」を活用しました。この取り組みは Kaigi on Rails 2025 でも発表していますので、ぜひこちらもご覧ください。\u003C/p>\u003Cp name=\"bb26788b-9dcd-4b10-abb7-26da2aba55c3\" id=\"bb26788b-9dcd-4b10-abb7-26da2aba55c3\">\u003Ca href=\"https://www.rizap-tech.co.jp/recruit/articles/entries/226\" target=\"_blank\" rel=\"nofollow noopener\">Kaigi on Rails 2025 登壇レポート\u003C/a>\u003C/p>\u003Cp name=\"b1c528e9-bf4b-4eda-a7c2-cbb05299d5b4\" id=\"b1c528e9-bf4b-4eda-a7c2-cbb05299d5b4\">多重範囲型については、今回のカンファレンスでも活用事例が紹介されており、まさに同じテーマが取り上げられていたことに驚きました！\u003C/p>\u003Cp name=\"89d306eb-d180-40b7-8b51-5d9a028e69a0\" id=\"89d306eb-d180-40b7-8b51-5d9a028e69a0\">\u003Ca href=\"https://speakerdeck.com/sunnyone/shi-jian-multirange\" target=\"_blank\" rel=\"nofollow noopener\">multirange 型（多重範囲型）の活用\u003C/a>\u003C/p>\u003Cp name=\"a9310d2c-453c-4c40-bb23-b244d018b893\" id=\"a9310d2c-453c-4c40-bb23-b244d018b893\">ここからは、今回参加したセッションの中でも、特に印象に残った内容を紹介していきます。\u003C/p>\u003Ch2 name=\"f84e45c3-ed94-4a31-96e0-43bc2a2fb144\" id=\"f84e45c3-ed94-4a31-96e0-43bc2a2fb144\">1：\u003Ca href=\"https://www.postgresql.jp/jpug-pgcon2025#A1\" target=\"_blank\" rel=\"nofollow noopener\">2025 年版 トランザクションID 関連の問題の傾向と対策\u003C/a>（梅田）\u003C/h2>\u003Cp name=\"efb73463-ed34-401c-827a-6999bdbec049\" id=\"efb73463-ed34-401c-827a-6999bdbec049\">このセッションでは、PostgreSQL の内部動作を理解するうえで重要となる トランザクションID（XID） の仕組みと、それにまつわる問題、そして対処法が丁寧に解説されていました。\u003C/p>\u003Cp name=\"acc61693-bbdd-4179-8f95-a8533419780f\" id=\"acc61693-bbdd-4179-8f95-a8533419780f\">PostgreSQL は追記型の MVCC（多版型同時実行制御）を採用しており、1つの論理的なデータに対して複数の物理的なバージョン行を持ちます。たとえば、usersテーブルのnameカラムを「山田」から「林」に更新する場合、トランザクションが完了するまでは、外部からの参照では「山田」を返しつつ、トランザクション内部では「林」を参照できる必要があります。\u003C/p>\u003Cp name=\"93020e22-a846-4622-ae30-a536baef1846\" id=\"93020e22-a846-4622-ae30-a536baef1846\">このようにトランザクションごとに参照すべきデータが異なるため、PostgreSQL ではトランザクションごとに トランザクションID（XID） を割り当て、その値によってどの行バージョンが見えるべきか（可視性）を判断しています。\u003C/p>\u003Cp name=\"07078915-c210-46e9-89b4-7d52a9a1331e\" id=\"07078915-c210-46e9-89b4-7d52a9a1331e\">この ID は 32bit の非負整数で管理されており、約 42 億で値が循環します。この循環によって起こるのが、いわゆる XID の周回問題 です。通常は自身より ID が大きいものを「未来」、小さいものを「過去」とみなしますが、値が循環すると本来は未来のはずのデータが、過去のデータと誤解される危険があります。\u003C/p>\u003Cp name=\"61e2cca1-1d32-4a14-972a-f4f8e597adca\" id=\"61e2cca1-1d32-4a14-972a-f4f8e597adca\">この問題を防ぐために備わっているのが FREEZE?という仕組みです。PostgreSQL は古い行に “どのトランザクションから見ても過去の行” というフラグを付与することで XID の比較を省略し、周回の影響を回避します。\u003C/p>\u003Cp name=\"5b6497ce-921c-4e0f-8140-440354b89807\" id=\"5b6497ce-921c-4e0f-8140-440354b89807\">しかし、FREEZE が正常に進まない状況、たとえば長時間トランザクションやロックが残り続けてしまうケースでは、FREEZE の遅れが積み重なり、周回が近づく危険が高まります。実際、周回が迫ると、\u003C/p>\u003Cul name=\"a02f8e08-0d9b-4c86-bd00-1a0bb685ab9c\" id=\"a02f8e08-0d9b-4c86-bd00-1a0bb685ab9c\">\u003Cli>\u003Cp name=\"391c2903-f274-4354-85a4-f8f55ec2712d\" id=\"391c2903-f274-4354-85a4-f8f55ec2712d\">周回地点の 4000 万手前で WARNING\u003C/p>\u003C/li>\u003Cli>\u003Cp name=\"ff5c090c-9b3e-48f9-b78a-79ea2111b4b1\" id=\"ff5c090c-9b3e-48f9-b78a-79ea2111b4b1\">300 万を切ると新規トランザクションを受け付けなくなる\u003C/p>\u003C/li>\u003C/ul>\u003Cp name=\"49ebed63-7de5-4238-805a-eb122c9ed3d7\" id=\"49ebed63-7de5-4238-805a-eb122c9ed3d7\">という、深刻な状況になります。\u003C/p>\u003Cp name=\"a57f9e2e-e617-4293-aacd-7ad572eb21d0\" id=\"a57f9e2e-e617-4293-aacd-7ad572eb21d0\">そのため、pg_class や pg_database に記録されている FREEZE の進捗情報を監視することが重要であり、FREEZE を妨げている長寿命トランザクションを早期に検知して終了させるオペレーションも欠かせないと説明されていました。\u003C/p>\u003Cp name=\"ccc46e8e-d654-4055-a7a8-9b2e320f8506\" id=\"ccc46e8e-d654-4055-a7a8-9b2e320f8506\">後半では、行ロックを複数のトランザクションで共有するための仕組みであるマルチトランザクションについても紹介がありました。マルチトランザクションにも独自の周回問題が存在し、メンバースペースの枯渇やキャッシュの入れ替えで性能劣化が起こることがあるなど、運用における注意点が多い領域です。\u003C/p>\u003Cp name=\"24828d97-2d43-4e28-b7f4-5d269d0ad368\" id=\"24828d97-2d43-4e28-b7f4-5d269d0ad368\">トランザクションID関連の問題は、普段のアプリケーション開発では忘れられがちな領域ですが、問題が発生するとサービス停止にもつながりかねない重大なテーマです。今回のセッションを通じて、内部動作の理解と運用上のリスクをあらためて意識する良い機会となりました。\u003C/p>\u003Cp name=\"3973f3af-230d-4f0d-8e68-e48f4069f659\" id=\"3973f3af-230d-4f0d-8e68-e48f4069f659\">\u003Ca href=\"https://www.postgresql.jp/jpug-pgcon2025#T4\" target=\"_blank\" rel=\"nofollow noopener\">\u003Cstrong>基礎から学ぶ PostgreSQL の性能監視\u003C/strong>\u003C/a>\u003C/p>\u003Cp name=\"ee1e81d5-f842-448e-8ce4-e7f08e5cc67c\" id=\"ee1e81d5-f842-448e-8ce4-e7f08e5cc67c\">続いてのセッションでは、PostgreSQL における性能監視の考え方や、ボトルネックを特定するためにどのような指標を見ていくべきかについて、非常にわかりやすく解説されていました。\u003C/p>\u003Cp name=\"f41ae8b0-6422-4764-8304-aee46adcc859\" id=\"f41ae8b0-6422-4764-8304-aee46adcc859\">まず、性能監視をすることで、想定通りのレイテンシで動作しているかの確認や、問題発生時に原因を切り分けるための情報収集などができます。しかし、膨大なメトリクスを見ただけでは、どこが問題の原因なのか判断するのは難しい場合が多いです。\u003C/p>\u003Cp name=\"82ae734c-09aa-4bb8-a1ee-780ffad57382\" id=\"82ae734c-09aa-4bb8-a1ee-780ffad57382\">そこで例として紹介されていたのが、“お医者さんの問診” にたとえるアプローチでした。\u003C/p>\u003Cul name=\"a0ef2702-2515-4af0-86f1-da130557ce13\" id=\"a0ef2702-2515-4af0-86f1-da130557ce13\">\u003Cli>\u003Cp name=\"54556d2a-165a-4eb7-a190-c4680851cd79\" id=\"54556d2a-165a-4eb7-a190-c4680851cd79\">どこに症状が出ているのか（特定クエリか全体か）\u003C/p>\u003C/li>\u003Cli>\u003Cp name=\"e67f2e02-22db-491c-b682-249410798344\" id=\"e67f2e02-22db-491c-b682-249410798344\">いつから発症したのか（時間帯、イベントの有無）\u003C/p>\u003C/li>\u003Cli>\u003Cp name=\"3b50b410-817d-4033-a1bb-c1c6c92961fc\" id=\"3b50b410-817d-4033-a1bb-c1c6c92961fc\">症状の悪化ペース（特定のイベントが原因なのか、テーブルの肥大化などの徐々に発生する問題なのか）\u003C/p>\u003C/li>\u003Cli>\u003Cp name=\"a943b4fa-e77e-443b-8d6e-01cae68cfdf1\" id=\"a943b4fa-e77e-443b-8d6e-01cae68cfdf1\">前兆や持病はあったか（表面的な問題とは別な要因の有無）\u003C/p>\u003C/li>\u003C/ul>\u003Cp name=\"6a2f2a2a-bb62-471e-9562-a5064edc637d\" id=\"6a2f2a2a-bb62-471e-9562-a5064edc637d\">といった観点を整理することで、問題の切り分けがしやすくなります。\u003C/p>\u003Cp name=\"86f4a9df-a14f-4439-9bdc-5545528e8fdd\" id=\"86f4a9df-a14f-4439-9bdc-5545528e8fdd\">こうした問題を正確に特定するためには、あらかじめ適切なメトリクスを収集しておくことが重要です。\u003C/p>\u003Cp name=\"1cd004cc-d606-4b73-9412-90058de7235e\" id=\"1cd004cc-d606-4b73-9412-90058de7235e\">特に収集しておくべきメトリクスとして、待機イベントが紹介されていました。 待機イベントは、プロセスが「何を待っているのか」を示す指標で、pg_stat_activity から確認できます。CPU、IO、ロックなど、どこで待ちが発生しているかを把握することで、ボトルネックの特定に非常に役立ちます。\u003C/p>\u003Cp name=\"ec25cdda-c9cd-4649-96ef-698158a62d8e\" id=\"ec25cdda-c9cd-4649-96ef-698158a62d8e\">また、性能分析で使われる pg_stat_statements についても触れられていました。PostgreSQL公式のプラグインであり、クエリID、クエリ、実行回数、実行時間などを、同型のクエリでまとめて集計してくれます。監視ソフトはpg_stat_statements?を利用して累計データを定期的に取得し、前回値との差分を追跡しているという、監視ソフトの仕組みについても話されていました。\u003C/p>\u003Cp name=\"54eaa7b8-9096-48f1-a4fc-cc614da76053\" id=\"54eaa7b8-9096-48f1-a4fc-cc614da76053\">性能監視では、CPU やメモリの使用率だけを見ていても、必ずしも問題の本質にたどり着けないことが多いと感じています。今回のセッションを通じて、待機イベントや差分観測といった指標に着目するアプローチの重要性を再認識しました。\u003C/p>\u003Cp name=\"3b4b641d-785c-4df6-9399-7767e5aff01d\" id=\"3b4b641d-785c-4df6-9399-7767e5aff01d\">特に、ボトルネックの特定においては、プロセスが「何を待っているか」を示す待機イベントを観察することで、より的確な原因の特定につながるという新たな視点を得ることができました。基本から実践まで丁寧に解説されており、非常に学びの多いセッションでした。\u003C/p>\u003Ch2 name=\"ce2bf8fc-601b-43b9-ac48-7d9468916438\" id=\"ce2bf8fc-601b-43b9-ac48-7d9468916438\">2：\u003Ca href=\"https://www.postgresql.jp/jpug-pgcon2025#T2\" target=\"_blank\" rel=\"nofollow noopener\">PostgreSQL レプリケーション徹底解説\u003C/a>（佐藤）\u003C/h2>\u003Cp name=\"2803abf6-52fd-4f30-b898-3957c6b20c9e\" id=\"2803abf6-52fd-4f30-b898-3957c6b20c9e\">このセッションでは、富士通株式会社の黒田隼人さんより、PostgreSQLのレプリケーション機能について解説されていました。\u003C/p>\u003Cp name=\"ab3d8978-2481-45ad-8c26-1dddb1918a4d\" id=\"ab3d8978-2481-45ad-8c26-1dddb1918a4d\">レプリケーションの基盤となるのが、WAL（Write-Ahead Log）です。データ変更時、その内容を即座にテーブルファイルに反映するのではなく、まずWALにログとして記録し、その後適切なタイミングでテーブルファイルに反映します。これにより、ディスク書き込み回数の削減、データの一貫性保証、そしてレプリケーションの実現という3つのメリットが得られます。\u003C/p>\u003Cp name=\"b389dd46-940d-4cca-b06e-748db9d9f412\" id=\"b389dd46-940d-4cca-b06e-748db9d9f412\">セッション後、他のデータベースとの違いについて気になり調べてみたところ、MySQLでは「Redo Log」（クラッシュリカバリ用）と「Binlog」（レプリケーション用）という2つの異なるログを使用するのに対し、PostgreSQLではWALという統一されたログで全ての役割を一本化していることがわかりました。この設計の違いは、運用の複雑さにも影響を与えていることを知り、PostgreSQLの設計思想の一貫性を改めて実感しました。\u003C/p>\u003Cp name=\"6e80549f-04f6-4dbe-930c-7550385305e5\" id=\"6e80549f-04f6-4dbe-930c-7550385305e5\">PostgreSQLには2つの主要なレプリケーション方式があります。ストリーミングレプリケーションは、WALをバイナリデータとしてそのまま転送し、インスタンス全体を複製する仕組みです。構成が容易で処理が高速ですが、特定のテーブルだけを選択的にレプリケーションすることはできません。一方、論理レプリケーションは、WALを解析して必要な変更情報だけを抽出して転送します。テーブル単位で複製対象を選択でき、異なるPostgreSQLバージョン間でのレプリケーションも可能ですが、DDLは自動複製されず、処理のオーバーヘッドが大きくなります。\u003C/p>\u003Cp name=\"1ed2eda1-d34d-4141-9315-b2d0cddff4ca\" id=\"1ed2eda1-d34d-4141-9315-b2d0cddff4ca\">実務では、システム全体の冗長化や高可用性が求められる場面ではストリーミングレプリケーション、柔軟なデータ統合や分散が必要な場面では論理レプリケーションが適しています。WALという統一された仕組みの上に2つの異なるアプローチが構築されているという設計思想が、PostgreSQLの柔軟性を支えていることを実感しました。\u003C/p>\u003Ch2 name=\"e5350fda-2f92-4fe5-ad2b-96b7f6f2bab1\" id=\"e5350fda-2f92-4fe5-ad2b-96b7f6f2bab1\">\u003Ca href=\"https://www.postgresql.jp/jpug-pgcon2025#B3\" target=\"_blank\" rel=\"nofollow noopener\">PostgreSQL 18 の統計情報と pgstats の豆知識\u003C/a>\u003C/h2>\u003Cp name=\"2a694c03-578d-450a-b115-05493c2bf988\" id=\"2a694c03-578d-450a-b115-05493c2bf988\">このセッションでは、PostgreSQL Major Contributorのミカエル・パキエさんより、PostgreSQL 18で強化された統計情報の機能について解説されていました。\u003C/p>\u003Cp name=\"2fdd8d54-fe1d-4eb8-b92d-e9c5a4bb2e5d\" id=\"2fdd8d54-fe1d-4eb8-b92d-e9c5a4bb2e5d\">現代のデータベース運用において、統計情報の監視はシステムの安定稼働に不可欠です。数値化されたデータがあれば、パフォーマンスのボトルネックを客観的に特定でき、的確な改善策を講じることができます。\u003C/p>\u003Cp name=\"fd02775c-32f2-4616-bcd3-b3f2416daa06\" id=\"fd02775c-32f2-4616-bcd3-b3f2416daa06\">PostgreSQL 18では、pg_stat_ioビューが大幅に強化されました。バイト単位のI/O統計（read_bytes、write_bytes、extend_bytes）が追加され、I/O操作の実際のデータ量を正確に認識可能です。さらに、WALのI/O操作がpg_stat_ioで追跡できるようになり、WAL関連のI/O負荷を詳細に把握できます。\u003C/p>\u003Cp name=\"12807ae1-a25d-46c6-b3a6-a169b736017d\" id=\"12807ae1-a25d-46c6-b3a6-a169b736017d\">PostgreSQL 18の最大の変更点の一つが、非同期I/O（AIO）サブシステムの導入です。従来の同期I/Oではデータの読み書きが完了するまでプロセスが待機する必要がありましたが、非同期I/Oでは複数のI/O要求を同時に発行できます。実際のベンチマークでは、最大2～3倍のパフォーマンス向上が確認されています。\u003C/p>\u003Cp name=\"f6c202e3-8773-4024-8ebc-6e4da4e359a6\" id=\"f6c202e3-8773-4024-8ebc-6e4da4e359a6\">また、EXPLAIN ANALYZEコマンドも強化され、自動的にBUFFERSオプションが含まれるようになりました。さらに、特定のバックエンドプロセスごとにI/OとWAL統計を確認できる新しい関数（pg_stat_get_backend_io、pg_stat_get_backend_wal）が追加され、「どのセッションがシステムに負荷をかけているか」を特定できます。\u003C/p>\u003Cp name=\"e8791602-9796-46a8-b69e-3c478c8839a5\" id=\"e8791602-9796-46a8-b69e-3c478c8839a5\">実務で役立つツールとして、pg_activityが紹介されていました。PostgreSQLのパフォーマンスをリアルタイムで視覚的に監視でき、PostgreSQL 18の新機能にも対応しています。また、PostgreSQL 18では、pg_upgradeによるメジャーバージョンアップグレード時に統計情報が保持されるようになり、アップグレード直後から最適なパフォーマンスが得られるようになりました。\u003C/p>\u003Cp name=\"750cd92b-0d04-437f-b311-7a169722c0ef\" id=\"750cd92b-0d04-437f-b311-7a169722c0ef\">今回のセッションを通じて、PostgreSQL 18の新機能を積極的に活用することで、数値に基づいた的確なチューニングを行い、システムの安定性とパフォーマンスを継続的に向上させることができると感じました。\u003C/p>\u003Ch2 name=\"04107438-5826-4d4d-b563-93cdd73981dc\" id=\"04107438-5826-4d4d-b563-93cdd73981dc\">懇親会の様子\u003C/h2>\u003Cp name=\"18d3f6de-7b11-4e78-9d46-c3b061ec4966\" id=\"18d3f6de-7b11-4e78-9d46-c3b061ec4966\">カンファレンスの終了後に開催された懇親会では、スピーカーの方々と直接対話する貴重な機会に恵まれました。\u003C/p>\u003Cp name=\"0c05d11e-0d2d-4340-8c22-c679db9c3dbe\" id=\"0c05d11e-0d2d-4340-8c22-c679db9c3dbe\">特に印象に残ったのは、富士通株式会社の黒田隼人さんとの交流です。セッションで理解が及ばなかった点について直接質問することができた上、時間の都合で触れられなかった技術的背景や実務での注意点を丁寧に教えていただきました。\u003C/p>\u003Cp name=\"08b13c1c-3248-4faf-9b05-93dd22cab1d6\" id=\"08b13c1c-3248-4faf-9b05-93dd22cab1d6\">PostgreSQL特有の拡張機能の豊富さについても話が及び、安心して使える拡張機能の見極め方や、\u003Ca href=\"https://pgxn.org/\" target=\"_blank\" rel=\"nofollow noopener\">PGXN（PostgreSQL Extension Network）\u003C/a>の活用など、実践的なアドバイスは目からうろこでした。\u003C/p>\u003Cp name=\"386179ed-b805-4bd0-a039-065f0cd5217f\" id=\"386179ed-b805-4bd0-a039-065f0cd5217f\">初参加で初心者である私たちに対して、黒田さんをはじめ多くの方々が献身的に教えてくださる姿勢から、PostgreSQLコミュニティの温かさと強さを実感しました。RIZAPではまだPostgreSQLを使い始めて日が浅く、社内でのナレッジが十分に形成されていない状況ですが、このような強いコミュニティの存在は大きな支えとなります。\u003C/p>\u003Cp name=\"bd15bdf1-54a2-4932-9cba-9faee9f0a170\" id=\"bd15bdf1-54a2-4932-9cba-9faee9f0a170\">今回のカンファレンスと懇親会を通じて、PostgreSQLコミュニティの一員として迎え入れていただいたことを実感し、これからはRIZAPとしてもPostgreSQLのさらなる発展に貢献していきたいと思います。\u003C/p>\u003Ch2 name=\"518215d4-3f3d-4dec-a35c-02ea731550bb\" id=\"518215d4-3f3d-4dec-a35c-02ea731550bb\">まとめ\u003C/h2>\u003Cp name=\"de5c2acc-8d6b-4441-93fc-51a3027d5c98\" id=\"de5c2acc-8d6b-4441-93fc-51a3027d5c98\">冒頭のキーノート「The Rise of PostgreSQL as the Everything Database」では、データベースにおける複雑性の課題に対する PostgreSQL のアプローチが紹介されました。一つのサービス内で複数の種類のデータベースを扱うケースが増えている中で、それらを PostgreSQL に集約・統一しようという動きが語られていました。\u003C/p>\u003Cp name=\"e0fbb619-b181-4fad-9214-e0e93a967b90\" id=\"e0fbb619-b181-4fad-9214-e0e93a967b90\">近年、AI をはじめとする技術の進化が急速に進む中で、それを支えるための「データの蓄積と活用」がますます重要になってきています。生成AIでは数兆規模のデータが学習に活用されるとも言われています。今後も扱う情報の種類や量は多様化・膨大化していくでしょうし、アプリケーション開発でも AI活用を見据えたデータ基盤の整備が欠かせません。\u003C/p>\u003Cp name=\"56afd8cf-5cb7-4244-ae85-cc577eb5dca3\" id=\"56afd8cf-5cb7-4244-ae85-cc577eb5dca3\">こうした背景を踏まえると、多様なデータ要件を PostgreSQL ひとつで支えられるようにする取り組みは、今後さらに必要性が高まっていくと感じました。\u003C/p>\u003Cp name=\"0f8559e1-7b2c-421b-b7c3-7920a8154d05\" id=\"0f8559e1-7b2c-421b-b7c3-7920a8154d05\">RIZAPとしても、より良いプロダクト開発をするために、PostgreSQL の技術的な進化やコミュニティの動向に引き続き注目していきます！\u003C/p>","RIZAPテクノロジーズのエンジニアがPostgreSQL Conference Japan 2025に初参戦。chocoZAP事業拡大に伴うデータベース選定の経緯と、カンファレンスで得た最新PostgreSQL知見をレポート。",[166,167,169],[287],{"title":9,"to":11},[289,297,305,312,319,322],{"to":290,"image":291,"date":292,"label":163,"title":293,"tags":294},"/recruit/articles/entries/253","https://rizap-tech.g.kuroco-img.app/v=1775010945/files/user/recruit/contents/thumbnail/n10892ab8328f_b604033c3c7235d86db94f2bd82f29db.png","2024.12.16","Shinjuku.rbをRIZAP本社で開催しました！",[169,177,295,166,296,167],"勉強会","Ruby on Rails",{"to":298,"image":299,"date":300,"label":163,"title":301,"tags":302},"/recruit/articles/entries/247","https://rizap-tech.g.kuroco-img.app/v=1775010946/files/user/recruit/contents/thumbnail/n31611fc3ec93_5e15462bba6eb2e4614470af79dcc92d.jpeg","2024.12.25","Xcode Cloudを導入してみた",[251,303,304],"iOS","技術ブログ",{"to":306,"image":307,"date":308,"label":163,"title":309,"tags":310},"/recruit/articles/entries/252","https://rizap-tech.g.kuroco-img.app/v=1775010946/files/user/recruit/contents/thumbnail/n53501bdc2c8c_e43cef883d343603c7c7b323a49a717a.jpeg","2024.12.17","HiltのAssistedInject",[311,304],"Android",{"to":313,"image":314,"date":315,"label":163,"title":316,"tags":317},"/recruit/articles/entries/279","https://rizap-tech.g.kuroco-img.app/v=1775010953/files/user/recruit/contents/thumbnail/nb61a9c59ce4d_344df9e655b8c6b6d1a383bd3735d716.jpeg","2024.06.18","RIZAPのエンジニアが、今年もRubyKaigi に参加してきました！（2024・那覇）【各講演のレポート集】",[263,167,318,166],"RubyKaigi",{"to":320,"image":282,"date":279,"label":163,"title":281,"tags":321},"/recruit/articles/entries/215",[166,167,169],{"to":323,"image":324,"date":325,"label":163,"title":326,"tags":327},"/recruit/articles/entries/273","https://rizap-tech.g.kuroco-img.app/v=1775010931/files/user/recruit/contents/thumbnail/n4a025bcc20c0_55ff20e9b092f7ce534700d998e8d5a8.jpeg","2024.07.08","RIZAPのエンジニアが、Kotlin Fest 2024に初参戦！ 【各講演のレポート集】",[166,167,328,311,169],"Kotlin",1776738987614]