大規模システムの設計勘所
近年、業務処理のより一層のIT化が進み、「あらゆる物の流れ」が「電子データの流れ」となるようになった。
その中で、大量のトランザクションデータや履歴データを基に、特定の条件に合致する場合に業務処理を行ったり、分析用途で2次加工を行ったりする場合がある。
検索処理などに例に挙げると、線形探査(O(n))では、もはや実利用上は耐えられる状態に無い。※O(n log n)以上のレベルにないと
今後のシステムとしてハードウェアのスケールアウトインを前提として、設計部分は原理原則のアルゴリズムやデータ構造を活用したシステム設計が大事となる。
特に、ピーク時性能に耐えれる設計が世の中を支えるサービスとして大切である。
原理原則として具体的には以下が例として挙げられるが、概念を応用的に利用して実装できる必要が設計上、大切となる。
原理原則/アルゴリズム | ベイズの定理 CAP定理 アムダールの法則 n-Gram AC法 VB Code suffix array NFA Key-Valueストア |
実装/製品 | memcached Varnish Cassandra MapReduce Hadoop |