ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

AWSジャパン プロフェッショナルサービス オープンハウス 参加記録

オープンハウスについて オープンハウスはAWSの採用イベントです。 今回は「プロフェッショナルサービス」のオープンハウスに参加してきました。その内容の記録を兼ねてご紹介します。当日は以下の流れで行われました。 19:00-19:30 受付 19:30-20:15 社員に…

Transactional Information Systems 5章 MVCC勉強会 第九回 議論メモ

勉強会について Transactional Information Systems 5章 MVCC勉強会 第九回 - connpass の議論メモです。自分のメモをベースにまとめています。発言の聞き間違い、解釈違いの可能性があることをご了承ください。本エントリのTX本とは "Transactional Informa…

Transactional Information Systems 5章 MVCC勉強会 第八回 議論メモ

勉強会について Transactional Information Systems 5章 MVCC勉強会 第八回 - connpass の議論メモです。自分のメモをベースにまとめています。発言の聞き間違い、解釈違いの可能性があることをご了承ください。特記の無い引用は本で議論した箇所を示してい…

Amazon.com(アメリカ)でマーケットプレイスの出品者に一部返金交渉~合意するまでの記録

概要 Amazon.com のマーケットプレイスで本を購入したところ、商品説明に記載の状態と現物の状態に差異がありました。出品者と交渉を行い、一部返金で合意しました。合意に至るまでの記録をまとめます。 注文 Amazon.com(アメリカ)で絶版本(英語で書かれ…

Transactional Information Systems 5章 MVCC勉強会 第七回 議論メモ

勉強会について Transactional Information Systems 5章 MVCC勉強会 第七回 - connpass の議論メモです。自分のメモをベースにまとめています。発言の聞き間違い、解釈違いの可能性があることをご了承ください。特記の無い引用は本で議論した箇所を示してい…

「常識」が常識とは限らない

常識とはその人のこれまでの経験の積み重ねから生み出されるものです。人はみな異なる経験を積んでいます。よって、各自が持っている常識は多少なりともズレているものです。「常識」の一言で片づけず、お互いの思う常識を理解し合うことが大切です。本屋の…

データベースはレコード・フィールドではなく、行・列と表現すべき

概要 Joe Celko はデータベースにおいて、行 (row)・列 (column) という用語を使うべきであり、レコード (record)・フィールド (field) という表現は適切でないと主張しています。これは論理的存在と物理的存在を分けるべきとの考えからです。 はじめに 先日…

デブサミ2019「【15-B-2】メンバーの成長とチャレンジのためにエンジニアリングマネージャーとして大切にしたこと」聴講メモ

はじめに Developers Summit 2019 (Developers Summit 2019) 【15-B-2】メンバーの成長とチャレンジのためにエンジニアリングマネージャーとして大切にしたこと スピーカー:山本 学 [ヤフー] の聴講メモです。メモは口頭説明を中心にまとめています。資料を…

デブサミ2019「【14-A-1】❤一生エンジニアを楽しもう❤夢中が最高!!」聴講メモ

はじめに Developers Summit 2019 (Developers Summit 2019) 【14-A-1】❤一生エンジニアを楽しもう❤夢中が最高!! スピーカー:漆原 茂 [ウルシステムズ] の聴講メモです。現時点で資料が公開されていないため、口頭で説明した内容だけでなく、資料の内容も…

自分で動けるとは何か ~ブログからなぜそれを感じるのか~

はじめに このブログを読んでいただいている方から、このブログからあなたが自分で動ける方であることが分かる、と言われたことがあります。そのコメントをくれたのが一人だけならお世辞として受け止めますが、全く別の方からも同じコメントをいただき、あな…

MCSR の conflict が r-w (read-write) だけなのはなぜなのか?

はじめに MCSR (Multiversion Conflict Serializability) を知るには以下の本及び記事を読むのが最も理解に近づきます。Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery (The Morgan Kaufman…

新しいアイコンのお知らせ

アイコンについて Twitter アイコン(ぱと (@pato_taityo) | Twitter)を変更しました。【変更前】 ※元画像を紛失したので Twitter プロフィールより切り貼りしてます…。【変更後】 アイコンはなつよさん(なつよ@インフラ女子の日常連載中 (@infragirl755) …

トランザクション理論における polygraph と History の VSR 判定

目的 トランザクション理論における polygraph とは何かを説明し、それを利用して History の VSR (View Serializability) 判定に利用できることを示します。 略語 本エントリ内では以下の略語を使います。 TX本:Transactional Information Systems Transac…

Transactional Information Systems 5章 MVCC勉強会 第二回 議論メモ

勉強会について Transactional Information Systems 5章 MVCC勉強会 第二回 の議論メモです。自分のメモをベースにまとめています。発言の聞き間違い、解釈違いの可能性があることをご了承ください。特記の無い引用は本で議論した箇所を示しています。Transa…

Transactional Information Systems 5章 MVCC勉強会 第一回 議論メモ

勉強会について Transactional Information Systems 5章 MVCC勉強会 第一回 の議論メモです。自分のメモをベースにまとめています。発言の聞き間違い、解釈違いの可能性があることをご了承ください。特記の無い引用は本で議論した箇所を示しています。Transa…

PostgreSQL の実行計画に現れる One-Time Filter の読み解き方

テーマ PostgreSQLの実行計画に現れる One-Time Filter とは、クエリ―実行時に1回だけ評価すればよいフィルターのことです。例えば、次のようなクエリーで現れます。 SELECT * FROM pg_type WHERE CURRENT_DATE = '2018-12-01'::date;このWHERE句はクエリー…

特定の分野を究めるとY型人材になる

先日、こんなツイートを見かけました。オタクというか、物事にマニアックな人というのは、興味の対象をこんな風に掘って行くのではないかと思っていて。最初はたしかに興味分野を掘り始めるのだけど、掘ってくうちに興味の対象外分野まで否応無く掘り返して…

PostgreSQL にてWHERE句で=演算子の左辺・右辺に同じ列名を指定すると行数推定が不正確になることがある

はじめに WHERE句で=演算子の左辺・右辺に同じ列名を指定したクエリを考えます。 SELECT count(*) FROM seq WHERE value = value;これは以下のクエリと等価です。 SELECT count(*) FROM seq WHERE value IS NOT NULL;value = value で value = NULL であれ…

PostgreSQL のシリアライザブル分離レベルにおけるスナップショットのタイミング

PostgreSQL 10 のマニュアルには以下の記載があります。 13.2.2. リピータブルリード分離レベル リピータブルリードのトランザクション内の問い合わせは、トランザクション内の現在の文の開始時点ではなく、トランザクションの最初のトランザクション制御以…

トランザクションで w-w はなぜ Lost Update ではないか?

課題 db tech showcase Tokyo 2018 (db tech showcase Tokyo 2018 | db tech showcase) でノーチラステクノロジーズ 神林さんが以下のテーマで講演されました。 MVCCにおけるw-w/w-r/r-wのあり方とcommit orderのあり方の再検討~Sundial: Harmonizing Concu…

DBTS2018「今後のDBのトランザクション処理のあり方について徹底討議する」パネラー参加記録

始めに db tech showcase Tokyo 2018 (db tech showcase Tokyo 2018 | db tech showcase) 今後のDBのトランザクション処理のあり方について徹底討議する ~"InvisibleWriteRule: トランザクションの書込み最適化" を中心に にパネラーとして参加してきました…

トランザクションをもっと深く知るための資料集

はじめに データベース(DB)を扱う方にとって、トランザクションは当たり前の存在です。そんな当たり前のものがどういった理論と技術で実現されているか、そしてそれらが今も進化していることをご存知でしょうか。トランザクションをもっと深く知りたい方に向…

トランザクションの Strictness と Rigorousness の定義を再確認する

はじめに トランザクションの Recoverability を理解するうえで Strictness (ST) と Rigorousness (RG) を避けては通ることができません。ただ、日本語の資料が少ないうえに用語の定義が若干あいまいなケースも見受けられました。そこで、本エントリでは資料…

PostgreSQLの一部の関数はトランザクション分離レベルに従わない

はじめに PostgreSQL 8.4.1 で pg_dump と index の再作成を同時に実行すると "ERROR: cache lookup failed for index" の発生することがあるのはなぜか?との質問に、tom lane さんがこんな回答をしていました。 pg_dump runs in a serializable transactio…

DB Online Day 2018 Summer「日本のデータベーススペシャリストは最終的にどこを目指すべきか?」聴講メモ

セッションについて DB Online Day 2018 Summer (DB Online Day 2018 Summer) 基調講演 日本のデータベーススペシャリストは最終的にどこを目指すべきか? の聴講メモです。講演者は 関 俊洋 さん [株式会社アシスト] です。自分のメモをベースにまとめてい…

DB Online Day 2018 Summer「データで見る、経験で語る、日本のデータベーススペシャリストのリアリティ」聴講メモ

セッションについて DB Online Day 2018 Summer (DB Online Day 2018 Summer) スペシャルセッション データで見る、経験で語る、日本のデータベーススペシャリストのリアリティ の聴講メモです。本セッションはパネルディスカッション形式で行われました。 …

PostgreSQLのシリアライザブルとコミット/ロールバックと遅延可能な読み取り専用トランザクションの関係

はじめに PostgreSQLのトランザクション分離レベルにはシリアライザブル(Serializable)があります。ドキュメントのシリアライザブル分離レベルの説明には以下の記載があります。 異常を防止するためにシリアライザブルトランザクションを使用するのであれば…

Bitmap Index Scan の後の Bitmap Heap Scan でRecheck処理が行われることの解説

はじめに PostgreSQL の実行計画において、Bitmap Index Scan の後に実行される Bitmap Heap Scan で "Recheck cond" と出力されます。Index Scan をしているにも関わらず、なぜ Heap Scan でインデックスの検索条件を再チェックする必要があるのか解説しま…

SQLの GROUP BY 句には列名だけでなく式も記述することができる

はじめに 「達人に学ぶSQL徹底指南書」(以下、達人SQL)の「1-1 CASE式のススメ」には GROUP BY 句に CASE 式の含まれるSQLが登場します。達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)作者: ミック出版社/メーカー: 翔泳社発売日: 2008/02/07メディア: 単行…

海外からの旅行者に電車の乗換案内を英語で質問されたときの乗り越え方

はじめに 新幹線や飛行機だけでなく、日常的に通勤や遊びに行くために使う路線でも海外からの旅行者を多く見かけるようになりました。今後もさらに増えていくことでしょう。そんな状況を背景に、海外からの旅行者に電車の乗換案内を英語で質問されるかもしれ…