メインコンテンツまでスキップ

技術.

43 — 技術に関する記事

01

PolarDB のストレージ・コンピュート分離

アーキテクチャの観点から PolarDB のストレージ・コンピュート分離設計を分析します。計算とストレージのデカップリングがどのように拡張性・ストレージコスト・高可用性の課題を解決するのかを、AWS Aurora や従来型 MySQL アーキテクチャと比較しながら解説します。

02

チームマネジメントの経験

技術チームを数年率いて得た素朴な経験:まず物事をしっかり考え抜く、分担を明確にする、手放してチームを成長させる、プロセスで問題を減らす。そして、チームの雰囲気と長期的な視点が同じくらい重要である理由。

03

マイクロサービスアーキテクチャ設計

モノリシックアーキテクチャのボトルネックから出発し、マイクロサービスのコア設計原則、全体アーキテクチャの構成、重要な設計課題を整理し、その拡張能力、導入の難しさ、適用範囲についても考察します。

04

L1・L2 二段キャッシュの設計

L1(ローカル)キャッシュと L2(Redis)キャッシュによる階層アーキテクチャを紹介。アクセスの流れ、二段のキャッシュがそれぞれ解決する問題、整合性と容量制御、そして代表的なキャッシュ更新戦略について。

05

ETCD を探る

分散協調の実際のニーズから出発して etcd の位置づけと Raft による強整合性の原理を紹介し、クラスタ構築と etcdctl での検証の過程を記録。協調の場面における Redis とのトレードオフも比較します。

06

Flink を理解する

バッチ処理からストリーム処理への進化を出発点に、Flink が解決するリアルタイム計算・状態管理・耐障害性・イベントタイムの問題と、Stream First、State Driven、Exactly Once という核心的な設計思想を整理します。

07

Netty を深く学ぶ

BIO の限界から出発し、Java NIO の Channel・Buffer・Selector という 3 大コンポーネントと Reactor スレッドモデルを整理し、Netty の高性能ネットワーク通信を支える設計思想を理解します。

08

アルゴリズム:基礎知識

「アルゴリズムとは何か」から始めて、アルゴリズムとデータ構造の関係、時間計算量の意味、そしてアルゴリズム学習では問題を解いた数ではなくモデリングの考え方に注目すべきであることを語ります。

09

OpenClaw 使用記録

OpenClaw はオープンソースの AI Agent 自動実行フレームワークで、タスクの自動プランニング、ツール呼び出し、継続的なイテレーションが可能です。この記録では、そのコア能力、明らかな弱点、適したユースケースを整理します。

10

Redis のスレッドモデル

Redis はよく「シングルスレッド」と言われますが、この言い方は半分しか正しくありません。イベントループ、IO 多重化から Redis 6 の IO マルチスレッドまで、Redis の高性能の源泉とシングルスレッドモデルにおける使用上の注意点を整理します。