WordPressにリバースプロキシサーバー経由で接続するときの問題
WordPressの前にリバースプロキシを配置すると以下のようなエラーが発生する場合がある。 解決するのに苦労したので原理から解決策を記載する。他のサイトでも部分的には説明されているが、体系的に理解できるものが見つからな […]
サイジング:HDD vs SSD
最近はほとんどのケースでSSDでストレージを構成する。HDDとSSDではシーケンシャルIOの特性に違いがあり、SSDをHDDの場合と同じように考えてサイジングすると想定外の性能問題になる可能性がある。本記事は両者のシーケ […]
サイジング:ストレージ
クラウドでサーバーのディスクストレージを選択する時、どのように選択するべきか基準がわからない人が多いのではないだろうか。データ基盤のボトルネックの多くはストレージのIOで発生する。ストレージのIOの仕組みを理解し、適切に […]
データストア(データベース)の選び方
時代の流れとともにニーズが変化しデータソースの機能も進化してきた。しかし、いろいろなタイプのデータベースが存在するのはなぜだろうか。理由はデータの整合性、同時書き込み、大量データの処理、大量のトランザクションのどれかを強 […]
Tech Blogのコンセプト
Tech Blogでは中級者以上の技術者向けにデータエンジニアの領域についての情報を提供する。25年以上、SIerの技術者として現場で手を動かしてきた(About参照)。そのアドバンテージを活かし、付加価値の高いコンテン […]
データ連携基盤のサイジングの考え方
データ連携基盤をサイジングするときのポイントをまとめる。 超概要 1.目標設定最も重たいかつ重要な処理について目標の処理時間を設定する。 2.ボトルネックの特定 重要な処理がIOボトルネックかCPUボトルネックか評価する […]
データ連携基盤の基本アーキテクチャー(クラスタ構成)
可用性と性能を考慮したデータ連携基盤のアーキテクチャを記載する。 要件が単純な場合は、”ソースシステム→ETL→ターゲット”がそれぞれ単体で存在するようなシンプルな構成となる。しかし、データ連携基盤の活用が進み停止が許さ […]
DB実行計画の”コスト”の考え方を理解する
データベースの実行計画のマニュアルや解説で下記の図のようなコストという概念が出て来る。私はデータベースの実行計画を勉強し始めたころ、このコストの概念が理解できずにもやもやして理解が進まなった。直観的には”コスト=処理時間 […]
CPU、ストレージ、NWの処理時間を”体系的”に理解する
システムの処理時間はCPU、ストレージ、ネットワークの処理時間の合計である。それぞれの処理時間の規模感が理解できるとパフォーマンスチューニングでどこがボトルネックか判断できるようになる。 例えば、DBからのレスポンスタイ […]
データ基盤の構成要素
データ基盤を構成する要素を記載する。他のサイトにも存在する情報ではあるがデータ仮想化も含めたフルセットがシンプルに整理されたものが見つからなかったので簡単に記載しておくことにした。 データ加工機能 データ保管機能 集計/ […]
システム設計で待ち行列理論を活用する
待ち行列という理論があり、IPAの情報処理試験にも登場する。実務での活用が難しい理論だと思う。本質を理解して活用できるように体系化する。 概要 システムでの待ち行列は、以下の4つを考える。 例えばCPUとロックだと下記の […]
データ基盤(連携基盤+分析基盤)の進化
データ基盤にはいろいろな種類がある。その結果、データ基盤のイメージは人によって様々である。時代の流れとともにデータ量が増え、ニーズも変わりデータ基盤の構成も進化した。 ニーズの変化と対応するデータ基盤の進化の関係を理解す […]