Mitani (@mita2) profile picture

MySQL DBA over 10 years / PHP / Perl / Python, Strength Finder 分析思考/公平性/規律性/調和性/内省, 英会話。ボルダリング。

日本 東京
Joined April 2007
Photo by Mitani (@mita2)Photo by Mitani (@mita2)Photo by Mitani (@mita2)Photo by Mitani (@mita2)Photo by Mitani (@mita2)Photo by Mitani (@mita2)Photo by Mitani (@mita2)Photo by Mitani (@mita2)Photo by Mitani (@mita2)Photo by Mitani (@mita2)
Mitani retweeted
改めまして!db tech showcase 2026、コミュニティ枠で登壇させていただきます! 「正しいデータってなんだろう?」というお話。今回はちょっと技術寄りのお話も交えさせていただく予定です。 db tech参加されるご予定の方、ぜひ現地で私と握手🤝 #dbts2026
3
13
3
51
3,581
Mitani retweeted
MySQL Community Server 26.7 Early Access Release | mysql blogs.oracle.com/mysql/mysql…
3
5
544
20年前のシステムエンジニア ・終電が無くなってからが本番 ・残業300時間を超えないと人権がない ・徹夜明けが日常 ・デスマーチは祭り ・現地テストで仕様が判明 ・自宅は倉庫 ・「今月は楽だった」が残業100時間
52
145
89
988
190,975
Mitani retweeted
レトロPCの最新ニュースや活用術、コミュニティ動向を発信するサイト( retropcnews.com )を始めることにしました! 公式アカウントは @retropcnews です。 皆様のご支援をどうぞよろしくお願いいたします。
4
86
3
260
12,684
生成AIでなぜ格差が拡大するかというと、「学ぶ理由としての活用」と「学ばない言い訳としての怠惰」で二極化するからです。 AIがあるから英語やプログラミングはもう勉強する必要がない。と、自分が楽なほうの世界を夢想して何もしない。これこそが格差を固定化させる罠。 AIがあるから英語やプログラミングの勉強が簡単になった。これまでなら60点止まりだった人たちが、AI家庭教師のおかげで80点90点取れるようになった。というのが本当の価値。 どちらを選ぶかはあなた次第ですが、人類の歴史において真剣勝負から逃げて熱量の低い人生を選択した人が勝ったことは一度もありません。
23
528
136
2,800
373,351
Mitani retweeted
その昔、3000万ユーザー・10億APIヒット/日・米国App StoreでYouTubeやFacebookより上位のトップランカーアプリの裏で動くBaaSを作ってましたがpkeyは意図的に連番でした UUIDによるキャッシュヒット率の低下は大規模システムでは恐怖です 「ただ遅い」ならまだいいのですが、ハードウェアのリソース利用効率が悪くなるのだから、シングルでスケールアップするしかないマスターDBにとっては最悪のトレードオフです readをレプリカに逃がしても4-5万QPS残るような状況で、もしUUIDにしていたら、当時のハードウェア環境ではかなり早い段階でシャーディングせざるをえない状況を自ら招いていたと思います ほぼ自分一人でインフラからバックエンドまで全体を見ていたのでシャーディングしてしまったらもう地獄の始まりでほとんどの時間をDBのお世話に費やすことになったでしょう たかが O(n) でしか性能もスケールしない、稼働率は A^n で指数的に低下していく、必要悪としても最悪の部類のアーキテクチャであるシャーディングのために自分の時間を捧げるのは避けたかった pkeyの空間効率の悪さは増幅します、tuple本体だけでなくインデックス、外部キー、そしてジョインするときの比較演算にCPUのレジスタやL1に乗る乗らないレベルまで、128bit vs 32bitで4倍違うと最終的に8倍16倍の違いへと増幅されます UUIDv7とかで局所性の破壊がふさがれても、DBシステム性能設計の最大の要衝が「空間効率」であることには変わりません というわけで シャーディングが必要な状況を自らまねきデバッグなどの開発体験も下げる自殺行為のUUIDは避けて、最密充填の「普通の連番」をpkeyにすることを、多数のDBの内部アーキテクチャを見てきたDBオタクとして推奨します それでもUUIDっていう人のほとんどが「ユーザーに見える・予想できるIDを使いたくない」という話をしてきます それってURLなどで公開されるIDとして使うイメージだと思うのですが、ユーザーに公開されるテーブルの場合、pkeyとは別にpublic_idをテーブルに追加してrandom_hex(16)とかをセットする(&ユニーク制約でインデックスを貼る)のがおすすめです なぜcuidやbase62やbase36でなくhexなのか、なぜ16文字なのか、などは聞かれれば答えます、(ヒント:誕生日問題で50%衝突確率ベースでちょうどよい) だいたいYouTubeの動画でさえいまだにpublic_id = base62(11)なんですよ、uuidの32文字なんて愚の骨頂です pkey: integer(32bit or 64bit) public_id: random_hex(16-32 chars, 段階的に増やしてok) で現代のハードウェアならどこまでも行けます(必要になれば最アーキテクトの時間が十分とれる)から安心してください
結構数値派が多い。雑な投稿だったのでちゃんと書いてなかったが、PostgreSQL使ってUUID使うならv7、シャーディングする想定なし、モノリスという前提。この前提下だと数値は高速だが推測しやすいってのがデメリット。そのために外部に見せる用idを作ったりなんてのもあるがはてさて
11
185
43
1,301
325,499
Mitani retweeted
LLMが人間プログラマよりずっと高速で有能な時代、何が人間の仕事なのかというとコピペ。ターミナルやエディタやブラウザやその他ツールやLLMの入出力を、プロセスやドメインをまたがってコピペする能力はまだLLMは人間に及ばない。
3
39
14
260
36,497
Mitani retweeted
削除フラグを求める理由って復元できなくなる怖さがあると思うのだけど、その怖さを回避する代わりに消えたはずのデータが見えてしまうリスクを引き受ける事になるのだよ。それに加えてパフォーマンス劣化のリスクも上乗せされる。 削除ならテーブルからは消されるべき、残したいなら理由を考えるべき
1
31
3
239
24,530
2021年にNotionが直面したPostgreSQLのスケーラビリティ問題について解説 データベースにおけるスケーラビリティは、多くのプロダクトが必ず直面する課題の一つです。Notionも例外ではなく、2021年初頭の時点で、PostgreSQL上には200億以上のブロックレコードが存在していました。 長年にわたるユーザー増加とプロダクト成長により、ブロック・スペース・コメントといった主要テーブルは肥大化し、PostgreSQLモノリスの限界が顕在化していきます。 具体的には、 ・VACUUMプロセスが正常に動作しなくなる ・トランザクションIDのラップアラウンド(TXID wraparound)といった、 データベースの安定運用にとって致命的な問題が発生する兆候が見られるようになりました。 これを受けてNotionは、従来のモノリシックな構成から脱却し、データベースのシャーディングに踏み切ります。 シャードキーにはworkspace ID(ワークスペースごとの一意なID)を採用し、論理的に480個のシャードを作成。 それらを32台の物理データベースに分散配置する構成へと移行しました。 notion.com/ja/blog/sharding-…
1
63
7
376
54,241
私がまだDBのエンジニアとしてできない事として、特に大企業に存在するモノリシックな巨大共有DB。あれをどうにかしたい。one DBという考えで作るものとは別。軽微な改修さえ、あのDBにお伺い立てないといけない。そうしてそのDBには人柱みたいなDBAが存在する。あれをどうにかしたい。
2
1
24
1,922
#dbts2025 「トランザクション分離レベル – 主要RDBMS製品の比較(Oracle, SQL Server, MySQL, PostgreSQL)」のアーカイブ動画が公開されています! insight-tec.com/news/press/2… cosol.jp/techdb/2025/07/dbts…
21
66
3,978
こちらがPingCAPさん側のAtlassianへのTiDB導入blog。300万テーブル!それを作るのに最適化前は6日間掛かったと。テーブル数増からシャード(TiDBだとRegion)も増えて、作成や管理負荷が膨れ上がる。 pingcap.com/blog/scaling-3-m…
2
6
2
53
6,055
jemallocアーカイブされた(ただしその後もcommitは続いてるww
1
12
1
53
10,259