2025-03

DB

7億行のテーブルにパーティション導入することでdelete文の速度が4.7倍高速化した

はじめに今回は、7億行ものデータ行を持つテーブルの日付カラムにパーティションを導入することで、delete文が高速になるかどうかを検証しました。また、検証対象テーブルのファイルグループを、デフォルトでデータが格納されるPRIMARY以外にす...
DB

テーブルパーティションの性能改善事例集

事例: 4億行のテーブルに対してselectクエリ実行した場合4億行で比較したところ、7秒かかるクエリが1秒まで短縮された事例: 20億行のテーブルに対して、selectを実行した場合20億行のテーブルに対して、selectを実行した場合、...
AI

[読書レビュー] 「松岡まどか、起業します AIスタートアップ戦記」は2025年のAIエージェントの普及を描いている

はじめに2024年の年の瀬にシュッと読んだ本がなかなか面白く、テーマも生成AIと皆さんのお仕事にも少し役立ちそうな気がしたので、せっかくなのでブログで共有します。概要この小説は新卒で生成AIスタートアップを立ち上げるSF小説です。日本有数の...
Linux

Rosettaを有効にしたarmアーキテクチャのlimaインスタンス上でx86アーキテクチャのdockerコンテナがうまく動作しない問題の解決 

環境Mac OS: sonoma 14.0.1Chip: Apple Silicon M2lima: 1.0.1前提知識QemuQuick Emulatorの略で、『コンピュータのCPU(MPU/マイクロプロセッサ)や各種の制御回路の動作を...
Software Design

Strategyパターンで安全に外部メールサービスの移行を進める方法

はじめに今回はGOFのデザインパターンであるStrategyパターンを利用して、外部メールサービスを簡単に切り替えられるようにしました。背景仕事先では外部メールサービスとしてSendGridというサービスを利用していました。このサービスはt...
Fintech

オフライン電子決済の事例

はじめにみなさん、「キャッシュレス決済したこと」はありますか?おそらく、多くの人が「1回はある」と答えると思います。一方で、「オフラインでキャッシュレス決済したこと」がある人はどれほどいるでしょうか?おそらく、Yesと答える人はさほどいない...
Java

コード例で深ぼるEffectiveJava~「第2章コンストラクタの代わりにstaticファクトリメソッドの使用を検討する」の深掘り~

はじめに本記事では名著Effective Java(第3版)で言及されているtipsをより深掘りするために、さまざまなコード例を交えて考えるというものになります。今回は第2章 オブジェクトの生成と消滅の中の項目1「コンストラクタの代わりにs...
Java

正規表現のコンパイルをメモ化すると若干速くなるらしいのでローカル環境で検証してみた

はじめに「Effective Java 第3版」の第2章の項目6に「不必要なオブジェクトの生成を避ける」という内容のものがあり、そこで正規表現のコンパイルはクラス変数にキャッシングした方がパフォーマンスを大幅に改善できるとのことが書いてあっ...
DB

JOOQのbulk update, batch update, for文でのupdateはどれくらいの速度差があるのか?

目次はじめにjOOQとは1万件のレコードをjOOQでアップデートする際の性能おわりに1. はじめにみなさんDBのデータ更新をする際になんとなくupdateしてませんか?実は数万件単位のupdateをする際に、愚直にupdateするのとbul...
DB

関数従属について

関数従属概要…ある属性xの値が決めると他の属性yの値が一意に決まる関係のことを関数従属と呼ぶ。属性xのことを独立属性(決定項)といい、属性yを従属属性(従属項)という。関数従属に着目することで、正規化することが重要。表記x -> y (xな...