Turso Cloudが早期プレビューとしてMVCCベースの並行書き込み(BEGIN CONCURRENT)を提供開始。SQLiteの単一ライター制約を回避し、行レベルでの競合検出によりチェックアウト処理や高頻度データ取り込みなどのワークロードでSQLite比最大4倍のスループットを実現する。tursodbデータベースの作成とダッシュボードでの有効化が必要で、TypeScript/Python/Rustでの実装例と競合リトライ、ホットロー問題への対処法を解説している。
Go連載#19。channelによるgoroutine間の値受け渡しと完了待ちを解説。バッファなしchannelの手渡し的挙動とdeadlock、close+for rangeでの終了通知、select+ctx.Done()によるタイムアウト処理、worker poolによる同時実行数制御を実装例付きで説明し、Mutexとchannelの使い分け指針も提示している。
Go言語の並行処理入門記事。goroutineの基本動作(goキーワードでの起動、mainが終了すると未完了goroutineも消える性質)から始め、sync.WaitGroupによる完了待機、データ競合の実例(1000回加算が986等になる現象)と-raceフラグでの検出、sync.Mutexによる修正方法を解説。さらにnet/httpが1リクエスト1goroutineで動作している事実を実測で示し、handlerが同時に呼ばれる前提で共有状態を持たない設計が必要であることを説明する実践的なGo学習連載記事。
Go 1.24〜1.26でsync.Mapの内部実装がハッシュトライ(HashTrieMap)に変更された経緯を解説する記事。通常のmapがなぜ並行アクセスに安全でないかから説き起こし、mutex付きmapとsync.Mapの使い分け、sync.MapのAPIと注意点(Lenが無い・Rangeがスナップショットでない・ClearとStoreの競合でStoreが失われうる・メモリ使用量が3〜5倍多いこと)を示した上で、ジェネリクス以前に作られたsync.Mapがany型を使わざるを得ない理由と、内部でハッシュを4bitずつのグループに分けてトライ木を辿る仕組み(indirect node/entry nodeによる衝突解決)を詳細に説明している。