それが僕には楽しかったんです。

ミドルウェアとかやってます

MariaDB のデバッグをいい感じにやる

はじめに 久々に MariaDB を macOS 上でデバッグしていたらデバッグしたまま寝てしまい、それを機に色々と壊してしまい戻すまでに時間がかかったので雑にまとめる。 デバッグの構成 mtr で gdb をいい感じに利用できないことが多いので CLion に組み込まれて…

MariaDB 10.6 を macOS BigSur 11.4 でビルドする

はじめに ビルドする前に ソースコードを持ってくる 必要なパッケージ群をインストールする bison を変更する どうしても /usr/bin 以下に突っ込みたい人 gcc, g++ を突っ込む(宗教に応じて選択してください、おすすめはしません) ビルド CMake でよろしくや…

JVM における G1GC とヒープの雑な話

はじめに ヒープと GC の基本 ヒープの構造 雑な GC の基本 G1GC 概要 仕組み Young 領域に対する GC コンカレントサイクル 混合 GC Major GC が実行される可能性のある場合 おわりに 参考文献 はじめに どうも、けんつです。GW は特に何もせず映画とチェス…

Java で利用できるオプションをバージョン別で比較してくれるサービスを作った話

2021/07/12 VPS が MariaDB ビルド用サーバに化けたのでサイトを運用していないです はじめに 作ったもの 対象となるオプションたち UnlockDiagnosticVMOptions UnlockExperimentalVMOptions 改善したい 余談 おわりに はじめに 言語のバージョンを変更する…

MySQL を使った最高に頭の悪いポートフォリオを作った話

はじめに 技術スタック 作ったもの 仕組み 技術的な話 docker コンテナに対して何かを実行させる Redis を使ったキャッシュ MySQL User の権限を絞る デプロイ時の色々 おわりに はじめに JVM オプションをいい感じに比較してくれるサービスを作ったが、サブ…

Springboot アプリケーションのデプロイ準備を考える

はじめに 準備すること 環境別の properties を用意する dev 環境を整える jar と resources を固める 番外編: redis でちょっとハマった おわりに はじめに 最近趣味で Springboot アプリケーションを作っていてデプロイ準備が地味に面倒だったので備忘録と…

2020 年を振り返って

はじめに 今年の総括 仕事忙しかった インプット多かった あんまりアウトプットできなかった 責任を痛感する一年でもあった どこを目指していたんだ俺は。 その他・雑感 よく言われているやつ 知り合いあんまり増えなかった 会社の部活動なるものに参加した …

JIT コンパイラのコンパイラスレッド、コード最適化について

はじめに コンパイラのスレッド コードの最適化 インライン化 エスケープ分析 おわりに はじめに 今回は前回の内容に引き続きJIT コンパイラについての話。割と薄くなる予定。 コンパイラスレッドとか最適化とかそのあたり。 Java パフォーマンスには、 JVM …

JIT コンパイラのコードキャッシュ

はじめに コードキャッシュとそのチューニング コードキャッシュとは コードキャッシュの確認 コードキャッシュが圧迫された場合の挙動 単純なチューニング コンパイル時の基準 コンパイルプロセスを理解する 非最適化について entrant ではないコード zombi…

Java のJIT コンパイルについて

はじめに JIT コンパイルとは JIT コンパイルによる効果を確かめる JIT コンパイルの動作 クライアントコンパイルとサーバコンパイル トレードオフの存在 階層型コンパイル おわりに 参考文献 はじめに 今回は Java の JIT コンパイルについて。 Java パフォ…

CLion を使って MySQL のビルド&デバッグを行う

はじめに MySQL のビルド&デバッグをする ソースコードを持ってきて展開する CLion で CMake を実行する CMake Options Generation path ビルド デバッグ デバッグ設定の変更 ブレークポイントを設定 実行する mysql クライアントから接続する おわりに 余…

OSS にちょっと技術的な貢献するまでの流れ

はじめに やったこと プルリクエストを投げるまでの流れ 問題が見つかる 信頼できる情報をまとめておく リポジトリを fork する README を確認する。 Contributing Pull Requests Testing 過去にマージされた修正から傾向を掴む 問題箇所を修正する ブランチ…

MySQL 8.0.15 の前後で変わった文字列と DATE 型の比較について

はじめに 前提条件 謎現象を再現する 8.0.15 以下 8.0.16 以上 原理 文献 おわりに はじめに そういえば、最近この手の記事を書いてないし何ならインプットもしてない事を思い出し、今日雑にテストしてたらたまたまハマった面白い挙動があったのでまとめる。…

MySQL の docker コンテナを起動した時の warning, error を調べつくす

はじめに 問題のログ [Warning] [MY-011070] [Server] Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release. [Warning] …

Go 再入門 ~基本的なデータ構造周り~

はじめに Allocation with new() Allocation with make() Arrays Slices おわりに はじめに どうも、最近自分と同い年のプロダクトに触れて死ぬほど苦しんだけんつです。 ここ数ヶ月ずっと MySQL の検証や DBMS の勉強をしてきて思ったのだが、コード書いて…

Database Internals を読み解く ~Introduction and Overview~

はじめに 参考文献の構成 Introduction and Overview DBMS Architecture On-Memory vs Disk-Based DBMS Durability in On-memory DBMS Column Versus Row-Oriented DBMS Row Oriented Data Layout Column Oriented Data Layout Data file and Index File Dat…

MySQL 8.0.20 で導入された binlog transaction compression をハイパー雑に検証する

はじめに 前提環境と検証方法 リリースノートの文献 やってみた perfomance_shema をみてみる 余談 さいごに 2020/04/29 4:42 2020/04/29 11:43 2020/04/29 12:08 はじめに どうも、共通新人研修がビジネス職よりで割とコードとか書いている暇がなかったけん…

MySQL 8.0.19 と docker-compose 環境下で Single-Primary InnoDB Cluster を構築する

はじめに 環境 参考資料 InnoDB Cluster の構築 InnoDB Cluster とは 要件 MySQL Shell の導入 各サーバインスタンスの設定を修正する binlog_checksum enforce_gtid_consistency gtid_mode InnoDB Cluster の構築 オプションの類 *** ネットワーク周り grou…

Redis を Docker 環境でいい感じに使うためのメモ

はじめに 環境 データの永続化 ログ メモリ周り おわりに はじめに どうも、最近メイドインアビスが「ポップな絵柄で描かれたダークソウル」と聞いて見てみたら想像以上にダークソウルだったのではまりそうなけんつです。結構、Redis をいい感じに docker-co…

MySQL 8.0.18 の実装を読み解きながら簡単なストレージエンジンを自作する

はじめに MySQL をビルドする ストレージエンジンを自作する Example エンジンをベースにする handlerton の作成とインスタンス化 テーブルを作成する 余談・気になったところ テーブルを開く INSERT の実装 ha_tina の存在 テーブルスキャン store_lock の…

MySQL のレプリケーション実装

はじめに レプリケーション実装 実装の詳細 おわりに はじめに どうも、年明けおもしろ荘を見ながらブログを書いているけんつです。 前にMySQL 8 と docker-compose を使ってレプリケーションを構築する記事を書いたのだけど、そこではただバイナリログのポ…

docker-compose を使って MySQL8 の レプリケーションを構築する

はじめに MySQL のレプリケーション レプリケーション形式 目的とする構成 成果物 Binary Log File Position Based Replication の構築 Master サーバの設定 Slave の設定 レプリケーションユーザを作成する 余談 レプリケーションマスターバイナリログのポ…

アドカレを通して CMU Database Systems をひたすら追ってみて

この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」 25 日目の記事です。 はじめに 題材 なにをやったか CMU Database Systems を追った DBMS の実装の一部 既存の実装を調べた ストレージだけ実装した やってみて 辛さ…

CMU Database Systems をひたすら追っていく ~21 Database Recovery~

この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」 24 日目の記事です。 はじめに Aries WAL Records Normal Execution Transaction Commits Transaction Abort Compensation Log Record ARIES Recovery おわりに はじ…

CMU Database Systems をひたすら追っていく ~20 Logging Schemes~

この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」 23 日目の記事です。 はじめに Logging Schemes Failure Classification Transaction Failures System Failure Storage Media Failure: Buffer Pool Management Poli…

CMU Database Systems をひたすら追っていく ~19 Multi-Version Concurrency Control~

この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」 22 日の記事です。 はじめに Multi-Version Concurrency Control Key Properties Version Storage Append Onky Storage Time Travel Storage Delta Storage Garbage …

CMU Database Systems をひたすら追っていく ~17 Two-Phase Locking~

この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」 21 日目の記事です。 はじめに Transaction Locks Two Phase Locking Phase1: Growing Phase2 Shrinking Strict Two-Phase Locking 2PL Deadlock Handling 検出する…

CMU Database Systems をひたすら追っていく ~16 Concurrency Control Theory~

この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」 20 日目の記事です。 はじめに Transactions Definitions ACID: Atomicity Shadow Paging Logging ACID: Consistency DBMS における一貫性 トランザクションにおける…

CMU Database Systems をひたすら追っていく ~10 Query Processing~

この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」19日目の記事です はじめに 今日の動画 Query Processing Query Plan Processing Model Iterator Model Access Methods Sequential Scan Index Scan おわりに はじめ…

SystemPage の実装

この記事は「けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar」 18 日目の記事です。 はじめに 実装 おわりに はじめに どうも、最近ダクソリマスタードで RTA をやりはじめたけんつです。黒騎士斧槍めちゃ強いですね。 今回もめち…