tom__bo’s Blog

MySQL!! MySQL!! @tom__bo

MySQL 8.0 Invisible indexes

MySQL8.0の機能を調べてまとめている。 invisible indexesについて読んだまとめ。 dev.mysql.com MySQL 8.0からはinvisible indexesがサポートされる。 invisible indexはoptimizerに使われないindexのこと。 optimizerから見て、visible(利用可能)かinvisib…

MySQL 8.0 Derived Table, Lateral Derived Table

MySQL8.0の機能を調べてまとめている。 Derived Table, Lateral Derived Tableについて読んだまとめ。 DERIVED TABLE LATERAL DERIVED TABLESや8.0の新機能を説明する前に、DERIVED TABLEについて説明する dev.mysql.com DERIVED TABLEとはFROM句のscope内で…

NOT NULL指定しないとカラムの確保するストレージサイズが1byte増える

NULLを許容するカラムをつくるとそれぞれのカラムで必要なストレージサイズが1byte増えていた。 以下はexplainでkey長を見てみた様子。 INTは4byteを確保する訳だけど、NULL (DEFAULT NULL)指定したら各カラムで1byte増えているのがわかる。 NULLABLEかの判…

MySQL 8.0 GROUP BY関連の新機能

MySQL8.0の機能を調べてまとめている。 タイトルどおりGROUP BY ... WITH ROLLUPについてドキュメントを読んだまとめ。 GROUP BYで指定したカラム自体の全体の集約(超集約: super-aggregate)結果を返すWITH ROLLUP句で大きく2点の改良と機能追加があった. OR…

MySQL 8.0 新機能 Window Function

MySQL 8.0の新機能について調べてまとめています。 今回はWindow関数に関する章(https://dev.mysql.com/doc/refman/8.0/en/window-functions.html )を読んだまとめです。 window関数はクエリの結果から行ごとにその行に関連する計算を行う機能。 GROUP BYで…

レアジョブ英会話はじめて6ヶ月経った

前回の2ヶ月たった記事だとskype英会話と書いていた。 http://tombo2.hatenablog.com/entry/2018/11/11/194143 前回の記事を読み直すとなかなか良いことが書いてあったので、半年ごとくらいで書いていくつもり。 状況 レアジョブ英会話の1日25分コースを受講…

MySQL 8.0新機能 CTE (Common Table Expression)

MySQL 8.0の新機能について調べてまとめました。 この記事は公式ドキュメントの以下のページの読んだまとめです。 dev.mysql.com サンプルのクエリもほぼドキュメントのものですが、手元の8.0.15で実行した結果をつけている場合もあります。場合によって説明…

RockstarらしいPITRの検証

where句なしでupdate文を実行するというオペミスがあった際にdummyのrelay_log(binlogをrenameしたもの)を使って、1ホスト単体でMTSを利用した一人replication的なことをしてPITRする方法の検証をしてみた。 何いってんだと思ったら下のlefredの発表資料を見…

"詳解MySQL5.7"社内読書会を終えて

この記事はMySQL Casual Advent Calendar 2018 10日目の記事です。 皆さんMySQLの学習はどのようにされていますか? MySQLを含めたデータベースが落ちることはそのままサービスの停止につながることが多く、安定運用にはそれなりの知識と経験が必要だと思い…

MySQLのパケットを読んでいく

この記事はMySQL Casual Advent Calendar 2018 10日目の記事です。 最近golangでMySQLのclient/serverプロトコルのでシリアライザを作っていて、この記事ではclient/serverプロトコルを解説しつつ、そのデシリアライザの紹介をしようと思っていました。 です…

筋トレ始めて2年経った

2年経ったらしい。 これまでの経過 3ヶ月 tombo2.hatenablog.com 半年 tombo2.hatenablog.com 一年 tombo2.hatenablog.com 一年半 tombo2.hatenablog.com 進捗 だめです。。。 ベンチプレスMaxおそらく 90kg スクワットMax おそらく100kg 雑感 筋トレ何が楽…

Skype英会話始めて2ヶ月たった

継続的な努力が必要な目標を達成するには、定期的なメモや経過報告をまとめることはかなり有効だと思っている。 これは研究でもプログラミングでも筋トレでも何でもそうで、具体的な数値で経過を記録することができないたぐいのものでも、適当な振り返りを書…

リレーショナル・データベースの"リレーション"とは何か?

リレーショナル・データベースにおけるリレーションとは何なのかについて調べ、リレーショナルモデルに基づいたデータベースを利用することのメリットは何なのかを考えてみた。 これから書く内容はブログ最後にまとめた参考文献の、リレーショナルモデルに関…

C.J.Dateのデータベース実践講義読んだ

「データベース実践講義」をかいつまんで読んだ。 www.oreilly.co.jp 増永 良文著の「リレーショナルデータベース入門」を読んでいて、リレーショナルモデルの説明部分の比較を主な目的として読んだ。 あとで振り返ると思うので、箇条書きで特に良かった部分…

Ergodox EZが簡単にキースイッチ交換可能になってた

最近いくつかのキーの反応が鈍くなってきて、はんだ付け入門しようかと迷っていたら2018年からキースイッチがハンダ付け不要で交換できるようになっていた。 たいした話ではないけど、買うとどんな感じなのかをほぼ写真で説明していく。 ergodox-ez.com Chan…

筋トレ初めて1年半が経った、これまで買ったものとYoutube

もう一年半はとっくに過ぎているけど、久々に書いた。 進捗 Youtube これまで買ったもの 懸垂機(マルチジム) 片手30kgダンベル スクワット台 フラットベンチ ベンチセーフティ バーベル(30kgセット) バーベル(100kgセット) プレート(7.5x2枚) ミニロッカー…

MySQLで実行された全てのクエリを取得する

MySQLで実行された全てのクエリを把握する方法を挙げてみる。 いくつか方法はあるが、負荷の高い環境でクエリをとるにはうするのが良いだろうか? パフォーマンスチューニングが主たる目的なので、Restoreからロールフォワードすることは考えない。 SELECT文…

ストレージの簡易ベンチマーク取ってみた

今回組んだPCでI/Oの簡易ベンチマークを取ってみた。 一気に全部の実験をしてなくて、デバイス名・マウントポイントは不定 storage HDD SSD その1 SSD その2 M.2 SSD 環境 ベンチマーク gnome-disks dd hdparm 感想 storage HDD 【Amazon.co.jp限定】WD HDD …

新Desktop PC

PC

初任給入ったので、これを機に家でもデスクトップPCを使おうと思ってPC組んだ。 core i9のCPUで10コア20スレッドくらいにしてみたかったけど、予算がないのとグリスバーガー状態で爆熱らしいので今回は見送った。 結果CPUはcore i7-8700(6コア12スレッド)。 …

最近気に入っているUML作図方法

これから作るものの構想を練ったり、システムの概要を共有したり相談したりするときに、UML(みたいな図)を使ってメモしていくやり方が気に入っている。 UMLといってもちゃんとUMLの記法に沿って仕様を完璧に書くことはあまりなくて、詳細まで書く必要がある…

MySQL(innodb)の分離レベルごとのanomalyについて実験した

※ この記事はMySQL Casual Advent Calendar 2017の11日目の記事です。 A critique of ANSI SQL isolation levelsを読んで(読んだブログ)、MySQL(innodb)で分離レベルごとのanomaly(不整合)の発生について実験しました。使ったのはDockerで立てられる 8.0.3-r…

MySQLでトランザクションの挙動を試すためのツールを作った

mytxという、トランザクション分離レベルの違いを調査したり、並列するトランザクションでどのようにロックがかけられているかを実験するためのツールを作りました。 mytxとは MySQLで分離レベルごとの挙動を実験しようとした時に、ウィンドウを複数開いて順…

筋トレ始めて1年経った

経過 筋トレを初めて1年くらい経ったので、まとめてみる。 3ヶ月時点、6ヶ月時点も書いているので、まずは6ヶ月時点からの経過。 6ヶ月時点で今年の目標だったベンチプレス100kgに到達してしまったので、ベンチプレスの優先度を落として他の部位の筋トレにも…

Speedy Transactions in Multicore In-Memory Databases 読んだ

Speedy Transactions in Multicore In-Memory Databases読んだ。 2013年にSOSPで発表された論文。 ↓論文リンク Speedy transactions in multicore in-memory databases 下手をするとただの論文の和訳になりかねないので、できるだけ要点に絞って書くようにす…

A Critique of ANSI SQL Isolation Levels読んだ

"A critique of ANSI SQL isolation levels"(http://dl.acm.org/citation.cfm?id=223785)を読んだ。 1995年にMSの人とJim GrayでANSI SQL-92を批判する論文で、いろいろなところで解説記事等を見かける。 もう20年以上の前の論文だけど、最近はてなのid:alpi…

Effective Java読んだ

OOP

Joshua Blochの"Effective Java"(第2版)を読んだ。 https://www.amazon.co.jp/EFFECTIVE-JAVA-Java-Joshua-Bloch/dp/4621066056www.amazon.co.jp Java SE6対応としてでた第2版の用で、Javaのバージョンとしては若干古い。 2~11章で以下のテーマについてのTip…

GoF本読んだ

OOP

GoF本の翻訳本である「オブジェクト指向における再利用のためのデザインパターン」を読んだ。 本の内容が十分整理されているし、パターンを紹介し直すのも面倒なので、感想を中心に書く。 オブジェクト指向における再利用のためのデザインパターン | エリッ…

筋トレ始めて半年でベンチプレス100kg到達した

大学のジムに登録して週3くらいで筋トレするようになって半年経った。 だいたい週3日1時間~1:30程度の筋トレが習慣になっている。 (5月20日時点で)6ヶ月経ったので、ここまでの振り返りを書いてみる。 写真は5月20日のもの。 6ヶ月間の変化 筋トレ開始時と現…

「オブジェクト指向のこころ」を読んだ

OOP

前に読んだ「オブジェクト指向設計実践ガイド」で、継承、コンポジション、モジュールによるロール管理などを通して、オブジェクト指向による設計の基本を学んだので、デザインパターンを踏まえたもう少し大掛かりなソフトウェアの設計方法を勉強し直そうと…

オブジェクト指向設計実践ガイド読んだ

OOP

Web+DBの読者プレゼントで頂いた本(去年の10月号位だった気がする)が積まれたままだったので、読んだ。 www.amazon.co.jp 入門というタイトル通り、この本を通して扱うオブジェクト指向の原則やデザインパターン、設計をする上での心構えを丁寧に説明して…