こんにちは!エンジニアの福間(fkm_y)です。 弊社でデータベースの技術顧問をして頂いている三谷(mita2)さんに、MySQL5.7の追加機能についての開発部向け勉強会を実施いただきましたのでそのレポートをお伝えします。 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しており、3月にもMySQLロック…
[記事下書き] MySQL/Postgres におけるトランザクション分離レベルの実際
実際はどう? 共通で言えること MySQL/Postgres とも,ファジーリードとファントムリードはセットで起こったり起こらなかったりするようになっているため, SQL 標準のように更新なのか新規・削除なのかを意識する機会は少ないです。 一貫性読み取りで参照するデータは,更新時に参照するデータ本体とは隔離された スナ…
My Notes on GitLab Postgres Schema Design
Shekhar Gulati Writings on Software Engineering, Software Architecture, and Engineering Leadership I spent some time going over the Postgres schema of Gitlab. GitLab is an alternative to Github. You can self host GitLab since it is an open source DevOps platform. My motivation to understand the s…
PostgreSQL 15ではpublicスキーマへの書き込みが制限されます | DevelopersIO
PostgreSQLではデータベースを作成すると、デフォルトで public スキーマが作成され、任意のユーザーがこのスキーマにオブジェクトを作成できました。 CVE-2018-1058 でpublicスキーマのこの仕様とsearch_pathを使ったトロイの木馬攻撃の脆弱性(仕様の潜在リスク)が報告されました。 この攻撃から守るために、以下のよう…
PostgreSQL 14 Internals
This book is for those who will not settle for a black-box approach when working with a database. Briefly touching upon the main concepts of PostgreSQL, the book then plunges into the depths of data consistency and isolation, explaining implementation details of multiversion concurrency control a…
PostgreSQLのデータを削減できた話 | PR TIMES 開発者ブログ
はじめまして、PR TIMESの開発本部でインターンをさせて頂いている永井と申します。 現在はパフォーマンス改善のタスクをしています。 はじめに 自分は今回のタスクをやるまでSQLをあまり書いたことがありませんでした(ORマッパーしか使っていませんでした)。しかし、今回のタスクをやることで直接SQLを書くことが多く…
排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!
MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基本的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ…
PostgreSQLのrow-level lockの動きについて – Qiita
struct HeapTupleHeaderData { union { HeapTupleFields t_heap; DatumTupleFields t_datum; } t_choice; ItemPointerData t_ctid; /* current TID of this or newer tuple (or a * speculative insertion token) */ /* Fields below here must match MinimalTupleData! */ #define FIELDNO_HEAPTUPLEHEADERDATA_INFOMAS…
Neon — Serverless, Fault-Tolerant, Branchable Postgres
Serverless PostgresServerless PostgresThe multi-cloud fully managed Postgres with a generous free tier. We separated storage and compute to offer autoscaling, branching, and bottomless storage. Get early access Made for DevelopersLaunch Serverless Postgres with a single command: