サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
taityo-diary.hatenablog.jp
お知らせ 本記事をベースに新しい記事を公開しました。 PostgreSQL インデックス肥大化とインデックスコストへの影響(再モデル化) - ぱと隊長日誌 新しい記事ではインデックスコストモデルの正確性を向上させました。 新しい記事を参照いただけますと幸いです。 概要 PostgreSQL のインデックスサイズは一度大きくなると、その後小さくなるタイミングが限られています。 「[改訂新版]内部構造から学ぶPostgreSQL-設計・運用計画の鉄則」でインデックスファイルサイズが小さくなるのは以下のタイミングとしています。 DROP INDEX でインデックス自体を削除した場合 TRUNCATE TABLE でテーブル全体を空にした場合 REINDEX でインデックスを再構成した場合 [改訂新版]内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design p
本記事について JaSST'21 Tokyo (JaSSTソフトウェアテストシンポジウム-JaSST'21 Tokyo) B6)企画セッション 「アジャイル開発にQAはホントに要らないのか?」 の聴講メモです。 パネリストの方々を紹介します(敬称略)。 風間 裕也(WACATE実行委員会) 河原田 政典(グロービス) 島根 義和(ピクシブ) 城本 由希(エムスリー) 西 康晴(電気通信大学) 議論はにしさんがモデレータとして問いかけを行い、パネリストがそれに応える形で進みました。問いかけの概要は各発言の冒頭に組み込みました。 【参考】としている箇所は私が挿入しています(補足や参考資料など)。登壇者の講演内容ではありませんので、その旨ご了承ください。 議論メモ (マーク(河原田)) 「ビジョナリー・QA」という記事を書いた。 ビジョナリー・QA:グロービスQAチームの理想と3つのゴール|グロ
この記事について 「はじめて学ぶソフトウェアのテスト技法(リー・コープランド著)」は JSTQB認定テスト技術者資格 AL テストアナリスト のシラバスで参考文献として取り上げられたり、テストアナリストの過去問題解説でもお勧めの参考文献として挙げられています。 はじめて学ぶソフトウェアのテスト技法 作者:リー・コープランド発売日: 2005/11/03メディア: 単行本 原書は "A Practitioner's Guide to Software Test Design" です。 A Practitioner’s Guide to Software Test Design (Artech House Computing Library) 作者:Copeland, Lee発売日: 2013/12/31メディア: ペーパーバック この記事内で「本書」は日本語版の「はじめて学ぶソフトウェアのテ
概要 PostgreSQL はテーブルに対する更新処理 (INSERT / UPDATE / DELETE) を行うと、テーブルファイルに追記されます(追記型アーキテクチャ)。これは最終的に COMMIT した場合に限らず、ROLLBACK された場合でも同様となります。 本エントリではこの挙動を検証します。 なお、追記型アーキテクチャについて知りたい方は下記の記事を参照ください。 PostgreSQL Deep Dive: PostgreSQLのストレージアーキテクチャ(基本編) 検証 検証環境 PostgreSQL 12.1 contrib モジュールをインストールしました。 postgresql.conf で "autovacuum = off" に設定しました。 ROLLBACK とテーブルファイルサイズ 各ステップでテーブルファイルサイズがどのように変化するかを確認します。 テス
要約 PostgreSQL のベンチマーク試験コマンドである pgbench を利用して、トランザクション(TX)分離レベル毎のパフォーマンス測定にチャレンジしました。 残念ながら、今回の検証手法でTX分離レベルのパフォーマンスを比較することに意味がないと言わざるを得ない結果となりました。 ただ、この過程で得られた知見は今後の検証の糧になると考えています。そこで、検証記録をここに公開します。 検証環境 Windows の Hyper-V による仮想マシンを検証環境としました。本来は物理マシンを使うのが理想なのですが、機材を準備できなかったためです。 ホスト プロセッサ Intel Core i5-6600 CPU @ 3.30GHz メモリ 20.0 GB OS Windows 10 Pro バージョン 1909 Hyper-V プロセッサ 4個の仮想プロセッサ メモリ 8.0 GB OS
はじめに NTTデータ テクノロジーカンファレンス 2019(NTTデータ テクノロジーカンファレンス 2019 ~ 未来を創る NTT DATA の確かな技術力 ~) 【テクノロジー】PostgreSQL 12 は ここがスゴイ!~性能改善や pluggable storage engine などの新機能を徹底解説~ スピーカー:NTT OSSセンタ Software Engineer 澤田 雅彦 氏 (PostgreSQL コントリビュータ) の聴講メモです。 現時点で資料の公開はありませんが(今後公開される可能性はあるようです)、澤田さんが別の機会に登壇された際の資料が公開されており、今回の講演と内容の一部が重複していました。こちらをご参照ください。 PostgreSQL 12の話 from Masahiko Sawada 【参考】としている個所は私が挿入しています(補足や参考資料な
オープンハウスについて オープンハウスはAWSの採用イベントです。 今回は「プロフェッショナルサービス」のオープンハウスに参加してきました。その内容の記録を兼ねてご紹介します。 当日は以下の流れで行われました。 19:00-19:30 受付 19:30-20:15 社員による募集ポジションの説明 20:15-20:30 Q&A 20:30-21:30 懇親会 申込はプロフェッショナルサービスの採用ページから可能です。 プロフェッショナルサービス | AWS Japan Recruitment その他、Twitterでも流れてきました。一例を埋め込んでご紹介します。 【#AWS採用 イベント情報】いよいよ来週17日(水)開催!プロフェッショナルサービスOpen House https://t.co/lE2iRQoLa6 どんな仕事?どのくらいの技術力が必要?そう言った疑問に現役の #AWS
はじめに WHERE句で=演算子の左辺・右辺に同じ列名を指定したクエリを考えます。 SELECT count(*) FROM seq WHERE value = value;これは以下のクエリと等価です。 SELECT count(*) FROM seq WHERE value IS NOT NULL;value = value で value = NULL であれば、NULL = NULL となり、これは unknown と評価されるためです。 NULL に比較述語を適用した結果が、常に unknown になってしまうからです。クエリの結果として選択されるのは、WHERE句の条件評価がtrueになる行のみです。false や unknown の行は選択されません。 引用:達人に学ぶ SQL徹底指南書 1-3 3値論理とNULL 達人に学ぶ SQL徹底指南書 (CodeZine BOOKS
はじめに データベース(DB)を扱う方にとって、トランザクションは当たり前の存在です。そんな当たり前のものがどういった理論と技術で実現されているか、そしてそれらが今も進化していることをご存知でしょうか。 トランザクションをもっと深く知りたい方に向けて、参考となる資料をご紹介します。 資料は日本語で書かれたものを中心に紹介しています。また、Level設定は私の主観によるものです。 はじめに Level 0 Level 1 一人トランザクション技術 Advent Calendar 2016 Level 2 トランザクションをSerializableにする4つの方法 トランザクションの設計と進化 トランザクション入門 並行実行制御の最適化手法 Level 3 Transactional Information Systems: Theory, Algorithms, and the Practi
はじめに PostgreSQL 8.4.1 で pg_dump と index の再作成を同時に実行すると "ERROR: cache lookup failed for index" の発生することがあるのはなぜか?との質問に、tom lane さんがこんな回答をしていました。 pg_dump runs in a serializable transaction, so it sees a consistent snapshot of the database including system catalogs. However, it relies in part on various specialized backend functions like pg_get_indexdef(), and those things tend to run on SnapshotNow tim
セッションについて DB Online Day 2018 Summer (DB Online Day 2018 Summer) 基調講演 日本のデータベーススペシャリストは最終的にどこを目指すべきか? の聴講メモです。 講演者は 関 俊洋 さん [株式会社アシスト] です。 自分のメモをベースにまとめています。発言の聞き間違い、解釈違いの可能性があることをご了承ください。 【参考】としている個所は私が挿入しています(補足や参考資料など)。講演者の講演内容ではありませんので、その旨ご了承ください。 資料の公開予定がないということでしたので、当日のスライドに表示されたものと同じような情報を探して紹介しています。 はじめに スペシャリストというより、データベース(以下、DB)に携わっているという立場の方が多いと思われるため、タイトルを変更し「エンジニアがどこを目指すべきか」とした。 【参考】
はじめに PostgreSQLのトランザクション分離レベルにはシリアライザブル(Serializable)があります。ドキュメントのシリアライザブル分離レベルの説明には以下の記載があります。 異常を防止するためにシリアライザブルトランザクションを使用するのであれば、恒久的なユーザテーブルから読み取られたいかなるデータも、それを読んだトランザクションがコミットされるまで有効とは認められない点は重要です。 このことは読み取り専用トランザクションにも当てはまりますが、遅延可能な読み取り専用トランザクション内で読み込まれたデータは例外で、読み込まれてすぐに有効とみなされます。 なぜなら、遅延可能なトランザクションはすべてのデータを読み込む前にこのような問題がないことを保証されているスナップショットを取得できるまで待機するからです。 それ以外の全ての場合において、後に中止されたトランザクション内で読
はじめに PostgreSQL の実行計画において、Bitmap Index Scan の後に実行される Bitmap Heap Scan で "Recheck cond" と出力されます。Index Scan をしているにも関わらず、なぜ Heap Scan でインデックスの検索条件を再チェックする必要があるのか解説します。 事前に以下の資料を一読頂くことをお勧めします。 Explain説明資料(第20回しくみ勉強会).pdf 特に「Bitmap Scanについて」「work_mem と lossy storage」をご確認ください。 本エントリの内容を適用できるPostgreSQLのバージョン範囲を特定できていませんが、9.4系や10系で適用できることを確認しています。実際にはもっと幅広く適用できると思われます。 解説編 本件に関し、海外のQAサイトで丁寧な解説がありました。 post
はじめに SQLのGROUP BY句の解説記事は多くありますが、本エントリでは他の記事とは解説方法を変え、処理の段階を追って説明します。これにより、これまでGROUP BY句のふるまいにモヤモヤを感じていた方が少しでもスッキリできることを目指します。 また、CASE式との組み合わせにも触れます。 本エントリは『プログラマのためのSQL 第4版』を参考にしています。 プログラマのためのSQL 第4版 作者:ジョー・セルコ,Joe Celko発売日: 2013/05/24メディア: 大型本 SQLの実行順序 SQLの実行順序は以下の通り決まっています。 FROM→WHERE→GROUP BY→HAVING→SELECT この後の説明を読み進めるときはこの順番を意識してみてください。 検証環境・データ PostgreSQL 10.3, Oracle Database 12cR2 で検証を行いまし
はじめに PostgreSQLの実行計画の読み解き方は公式マニュアルで説明されています。PostgreSQL 10 でのリンクを示します。 14.1. EXPLAINの利用 ですが、若干分かり辛い個所があるため、本エントリでは以下の観点に着目して補足することにします。 ノードの実行順 コストの累積 実行時間の累積 本エントリの引用は特記無い場合、 PostgreSQL 10 マニュアル の上記ページから引用(一部追記)しています。 ノードの実行順 原則ルール ノードの実行順は以下の原則に従って決まります。 ネストのより深いノードを優先する(右→左) ネストが同じレベルであれば先のノードを優先する(上→下) ただし、必ずしもこの実行順となるわけではありません。これを例で確認します。 EXPLAIN SELECT * FROM tenk1 t1, tenk2 t2 WHERE t1.uniqu
パーミッションとその組み合わせ Linux のディレクトリとファイルのパーミッションが組み合わさった時、どうふるまうのかを確認します。 ディレクトリ・ファイル単体 Linux のディレクトリ・ファイルのパーミッション表記で使用される文字は以下の定義がされています。 ファイル ディレクトリ “R”読み(4) ファイルの内容を表示 ディレクトリ内のリスト表示 “W”書き(2) ファイルの上書き、変更 ディレクトリ内にファイル作成、削除 “X”実行(1) 実行ファイルの実行 そのディレクトリに移動 ファイルのパーミッション設定、ディレクトリは要注意 | VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで w権限で「ファイルの作成・削除」はディレクトリに、「ファイルの上書き・変更」はファイルに権限付与されることにご注意ください。 親ディレクトリと子ディレクトリの関係
はじめに PostgreSQLマニュアル「13.2. トランザクションの分離」にはトランザクション分離レベルの表が記載されています。この表の記載は9.4以前と9.5以降で変わっており、PostgreSQLの挙動が変わったと勘違いしてしまうかもしれません。ですが、マニュアルを注意深く読み解けば挙動に違いの無いことが分かります。本エントリではこれを解説します。 トランザクション分離レベルの表があらわすもの 注目すべきは表タイトルです。 バージョン 表タイトル 9.4 表 13-1. 標準SQLトランザクション分離レベル 9.5 表13.1 トランザクション分離レベル 9.4で記載されている表は「標準SQLトランザクション分離レベル」です。「PostgreSQLトランザクション分離レベル」ではありません。「標準SQLトランザクション分離レベル」とはANSI(米国国家規格協会)で定義されたトランザ
目的 PostgreSQLの実行計画のハッシュノード(Hash)に出力されるバケット数(Buckets)とバッチ数(Batches)について解説を行います。また、バッチ数とパフォーマンスの関係についても触れます。 このテーマについて Pat Shaughnessy さんが英語の解説記事を公開しています(以下リンク参照)。本エントリではこの解説記事をベースに、補足を入れながらポイントをまとめます。詳細については解説記事及びエントリ中の引用記事を参照ください。 A Look at How Postgres Executes a Tiny Join - Pat Shaughnessy Is Your Postgres Query Starved for Memory? - Pat Shaughnessy 前提 本エントリではハッシュ結合に関する基本的な解説を省いています。もし、本エントリを一読し
目次 目次 はじめに 前提知識 トランザクションの基礎知識 数学記号 iff Serializabilityの選択 predicate install 参考資料 本エントリでの表記 Welcome back to the TRANSACTION! A Critique of ANSI SQL Isolation Levels再読 A critique of ansi sql isolation levels 解説公開用 (解説)Serializeしたものと同じ「意味」ってなんですか? ANSIの定義の曖昧性の指摘 2PLでserializabilityになることの証明 Making Snapshot Isolation Serializable 再考 全IT関係者が知っておくべき「1-copy-snapshot isolation」 Replicated Serializable Snap
前書き db tech showcase Tokyo 2017 (db tech showcase Tokyo 2017 | db tech showcase) C31:次世代分散OLTP 次世代DB / 分散OLTP(MVCC系)を可能な限り全力で解説 の聴講メモです。 スピーカーはノーチラステクノロジーズの神林さん(@okachimachiorz1)です。 原則として自分のメモをベースに、Twitterのつぶやきを参考にしながら見直しを行いました。メモしきれなかった内容がTwitterに記録されている場合もありましたので、併せてご参照ください。 #dbts2017 since:2017-09-07 until:2017-09-08 - Twitter Search 9:18~10:27あたり。並行したセッションがあるため、つぶやきは混在しています。 メモは口頭説明を中心にまとめています
はじめに PostgreSQLは商用DBに比べて書籍が少なく、まとまった情報が入手しにくいです。また、有志の方がPostgreSQLに関する資料を公開していますが、散在しており、せっかくの有益な情報にアクセスしにくい状況にあります。 そこで、本エントリではPostgreSQLの実行計画に焦点を絞り、公開されている有用な資料(書籍含む)をまとめました。読み返したい資料を探しやすくするため、内容のポイントも併せて紹介してます。 本エントリをきっかけに、これらの資料がさらに活用されることを願っています。 前提 各資料の前提としているPostgreSQLのバージョンは異なることにご注意ください。調査対象のPostgreSQLのバージョンが異なれば、状況は変わっているかもしれません。 各資料には内容の重複があり、ほぼ同一内容の場合もあります。重複している内容についてはポイントから割愛することがありま
本の紹介 「SQLパフォーマンス詳解」(原文タイトル:SQL Performance Explained)はデータベースのBツリーインデックスについて解説しています。インデックスの仕組みから実務に活かせるテクニックまで幅広く取り上げられています。 データベースのインデックスは本やセミナー資料で度々取り上げられる内容ですが、この本はそれらの内容を1冊にまとめ上げています。どこかで見たのだけど…と探して回る前に、この本を紐解けばすぐにみつかるかもしれません。 本はOracleを中心とした構成ですが、補足でMySQL、PostgreSQL、SQL Serverについても解説しています。著者によれば、Bツリーインデックスは多くのデータベースでほぼ同じように動作すると述べていますし、どのデータベースでも通用する内容となっています。 実はこの本のほぼ全文がオンラインで公開されています。 Use The
はじめに スケジュール・モデルを構築する技法として以下が挙げられます。 ADM(Arrow Diagramming Method、アロー・ダイアグラム法) PDM(Precedence Diagramming Method、プレシデンス・ダイアグラム法) AON(Activity on Node、アクティビティ・オン・ノード) このエントリではその違いを中心に説明します。 ADM (Arrow Diagramming Method) 別名: ・アロー・ダイアグラム法 ・アロー図法 ・矢線図法 ・アロー型ネットワークモデル ・AOA(Activity on Arrow) 作業の開始から終了までの流れを、作業(アクティビティ、タスク)はアロー(矢線)で、作業の始点/終点はノード(イベント)と呼ばれる丸印で表現する表記法です。 ノードは作業の区切りを示しています。ノードに入ってくるアローは先行作
はじめに もう2年以上前になりますが、婚活をしていた時期がありました。離婚歴あり・別居の子供ありでのスタートでした。婚活で知り合った方とお付き合いしていた期間も含めれば、2年半以上活動していたことになります。イベント参加回数は50回以上、紹介なども含めて実際にお会いした方の延べ人数は300人を超えます。最終的には結婚に至り、婚活を卒業することになりました。 その過程で学んだことは多く、今の自分がいるのはそこでの経験があるからといえます。 この経験をまとめ、公開することにはためらいがあり、長らく原稿のまま放置してきました。ですが、時を経て、自分の経験が誰かの婚活のサポートになればという思いが勝るようになり、ここに公開することにしました。 今回のまとめは男性視点となります。「相手」との表記は女性を指します。 また、内容は心構えや準備が中心となっています。テクニックの話はあまり触れていません。婚
はじめに OSS-DB Silver [OSDBS-01] 受験対策の教材はあまり多くありません。ですが、よく探してみると、自習で役立つ資料が公開されていたりします。 このエントリでは私が受験対策のために実際に使い、参考になったものをご紹介いたします。 テキスト OSS教科書 OSS-DB Silver OSS教科書 OSS-DB Silver 作者:株式会社日立製作所 福岡 博,NTT OSSセンタ 藤井 雅雄,日本PostgreSQLユーザ会 笠原 辰仁発売日: 2011/10/15メディア: 単行本(ソフトカバー)試験対策の最初の1冊としてPostgreSQLの全体像を知るためによいと思います。最後の章に模擬試験が付いています。 ただ、出題範囲の全てをカバーはできておらず、問題集で取り上げられた内容が本書には説明のないことがあります。また、出版されてから日が経っていることもあり、その
はじめに 「データベースパフォーマンスアップの教科書」(以下、書籍)はデータベースの内部処理を解説した数少ない本です。その解説にはややわかりづらい点があります。また、その中で取り上げられている「猶予ハッシュジョイン」はネットで情報を探しにくいです。 データベースパフォーマンスアップの教科書 基本原理編 作者: エンコアコンサルティング出版社/メーカー: 翔泳社発売日: 2006/07/07メディア: 大型本購入: 21人 クリック: 343回この商品を含むブログ (38件) を見る そこで、本エントリでは「猶予ハッシュジョイン」の用語及びプロセスの説明を補足し、理解の一助となることを目指します。 前提 本エントリは書籍の該当章を事前に読んでいることを前提にまとめています。このため、書籍に記述されている説明は割愛しており、書籍無しでは理解し辛い点があることをご了承ください。 本エントリで明記
はじめに ソフトウェアの開発は厳しい工数管理と納期に迫られます。その中でドキュメントはしばしば削減対象となります。ただ、ドキュメントを削減したツケは運用保守フェーズで払うことになります。コードを見ればわかる?サーバ構成なんて調べればわかる?問い合わせや障害の調査時に訳も分からずコードとサーバをひっかきまわしながら同じことを言えますか? 今回のエントリでは運用保守の担当としてこんなドキュメントがほしかった・あってよかった…という一覧をまとめました。 なお、今回のエントリはまだまだ改善の余地があると考えています。今後の自身の経験や周囲の意見などを取り入れながら、継続的に改善できればと考えています。 はじめに ドキュメントは何のために必要か? 運用ドキュメントの在り方 運用ドキュメントの管理 保存先 ファイル形式 差分の扱い 改定来歴をつける どのドキュメントから作るべきか? 運用保守で求められ
はじめに Oracle JDBCドライバのバージョン管理についてまとめます。 できる限り公式の情報に基づいていますが、推測に頼らざるを得なかった箇所はその旨記載しています。 はじめに 手元にあるOracle JDBC ドライバのバージョンはどうやって調べるのか? OTNサイトの Oracle JDBC ドライバのバージョンはどうやって調べるのか? 商用/本番環境で利用する Oracle JDBC ドライバはどこから入手すべきか? Oracle Database と Oracle JDBC ドライバのバージョンの関係 Oracle JDBC ドライバのサポート期間 Oracle JDBC ドライバのJDKサポート Oracle JDBC ドライバはいつリリースされるのか? Oracle JDBC ドライバをアップデートする必要があるのか? まとめ 手元にあるOracle JDBC ドライバの
ご注意 私が受験したのはPMBOKガイド 第5版対応の試験でした。よって、本エントリもこの経験をベースとしています。 2017/09/06にPMBOKガイド 第6版がリリースされたことに伴い、これに対応した試験開始の予定日がアナウンスされました。 PMIサイトのお知らせを引用します。 9月6日にリリースされたPMBOK(R) ガイド 第6版に対応した PMP(R) 試験の開始予定日は 2018年3月26日と発表されました 2018年3月26日およびそれ以降に受験される方は、PMBOK(R) ガイド 第6版に対応した更新版の試験問題が出題されます。 2018年3月26日よりも前に受験される方は、PMBOK(R) ガイド 第5版対応の試験問題が出題されます。 ※原文の(R)マーク記号を"(R)"に置換しています。 PMP®試験 PMBOK®ガイド第6版対応 2018年3月26日予定|お知らせ|
次のページ
このページを最初にブックマークしてみませんか?
『taityo-diary.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く