isp運用における分散データ処理システム ·...

27
株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のRDBMS&分散ストレージ ISP運用における分散データ処理システム 20101028

Upload: others

Post on 02-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

株式会社インターネットイニシアティブ 前橋 孝広

1

クラウド時代のRDBMS&分散ストレージ

ISP運用における分散データ処理システム

2010年10月28日

Page 2: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

簡単な自己紹介

•  前橋孝広 •  株式会社インターネットイニシアティブ •  バックボーンネットワーク運用関連のシステム開発

2

Page 3: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

本日の内容

•  大量のデータを扱う分散システムdddを開発した話 – 経緯 – 仕組み – 運用 – 今後

•  ddd – オープンソースではない – 製品でもサービスでもない –  IIJの社内システムである

3

Page 4: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

ddd とは?

•  IIJが独自開発した分散システムソフトウェア – 分散ストレージ + 分散データ処理機能(MapReduce) – 既存のもので要件にあうものがなかったため自作

4

dddノード群(クラスタ)

データ/ジョブ投入

アウトプット ノード

ノード

ノード

ノード

ノード

イメージ図

Page 5: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

大量のデータを扱いたい

•  ISPにおいて、サービスの状態把握は必須 – 運用や設計を最適な状態に維持するため – 異常の検知・障害への対応のため

例: AS番号別トラフィック解析グラフ

異常トラフィック検出

時系列アクセス数グラフ

アクセス数割合

Page 6: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

6

トラフィックデータや各種ログを扱う上での問題点(1)

ISP内 データ処理

故障によるデータ 消失の危機 データ量が膨大

大量のストレージ、 サーバの管理限界

検索や抽出に 時間がかかる

従来のデータベースからの脱却が必要

Page 7: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

•  量が多い – トラフィック計測データの例

トラフィックデータや各種ログを扱う上での問題点(2)

SNMP 1ヶ月分 1Mバイト/interface 程度

NetFlow 5分で数十Mバイト/router 程度

Page 8: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

ISPに限らない巨大データ

•  金融 – トランザクションの生データ – 会計バッチ処理 – 値洗い

•  流通 – POSデータ

•  業務システムの大量のログ – 内部統制

•  ・・・・

8

Page 9: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

dddの特徴

•  スケーラブル – 一台では扱えないような量のデータを高速に処理

•  高可用性 – 一部のノードが故障してもシステムとしては動きつづける

•  柔軟性 – 動的にノードの追加・削除可能

9

Page 10: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

dddの使用用途例

•  トラフィック解析 ‒ NetFlowデータを蓄積・解析 ‒ 障害対応、DDoS攻撃の分析、設備増強計画の参考情報

•  ログ解析 – 各種サーバのログ – ファイアウォール、接続認証サーバ、Apache など

•  コンテンツ配信 ‒  dddを巨大な分散ストレージとして利用

Page 11: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

トラフィック解析システムの画面例

•  多様なパラメータで指定されたグラフを描画

2010/8/6

11

解析結果をグラフ表示

Page 12: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

dddの仕組み

•  詳しくは・・・ – ThinkIT -- IIJ社における分散DB技術「ddd」

– 論文 • 電子情報通信学会論文 Vol.J93-D,No.7,pp.1072-1081,Jul.

2010., 「大規模データ処理のための分散システムの実装とその応用」

12

Page 13: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

キーテクノロジー

13

P2P 分散key-value store

データ自動冗長化 MapReduce

Page 14: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

P2P によるノード間通信

•  中央管理ホストが無く、各ノードは対等 •  単一障害点がない •  現在の実装では、全ノードが他の全ノードの情報を持つ

14

dddノード群(クラスタ)

ノード

ノード

ノード

ノード

ノード

ノード間は P2P 通信

Page 15: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

分散key-value store(KVS)によるストレージ

•  KVS をファイルシステムっぽく見せかけている – キー : ファイル名(パス名) – バリュー : ファイル本体

•  コンシステントハッシュ法 •  異なる3ノードに複製 •  アクセス方法

– 独自API – WebDAV – FUSE

•  write once

Page 16: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

コンシステントハッシュ法(consistent hashing)

•  キーの分担ノードを決定する方式 – キー名によって決定 – ノード数が変化した場合に影響を受けるキーが少ない

Page 17: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

分散ストレージへのトラフィック情報の保存

•  別マシンで、ひたすらトラフィックデータを受信 •  単位時間分(例: 1時間)のデータをまとめて1ファイルにする – 1ファイルに数万~数十万レコード

•  ルータ名+時刻をファイル名に

•  ファイル名をキーにしてdddにストア

例: router01/20101001/00.db router01/20101001/01.db ...

Page 18: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

データの自動複製

•  すべてのデータは異なる3つのノードに複製 •  独自の ihave/sendme プロトコルを使用

– 各ノード同士が持っているデータの情報を交換し、持つべきファイルをコピー

18

Page 19: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

並列分散処理フレームワーク MapReduce

•  mapとreduceの2段階にわけてデータ処理 ① map – 抽出・変換 ②  reduce – 集約・集計

Page 20: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

MapReduceのグラフ描画への応用

•  グラフの断片を複数ノードで並列抽出・集計

2010/8/6

20

map: 複数ノードで並列に抽出・集計処理

reduce: 結合

Page 21: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

スケーラブル

21

電子情報通信学会論文 Vol.J93-D,No.7,pp.1072-1081,Jul. 2010. 「大規模データ処理のための分散システムの実装とその応用」より

Page 22: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

•  Hadoop (0.21) と ddd の比較 – 同一データ、同一MapReduceプログラム – Hadoop streaming 使用(標準入出力でデータをやりとり)

小さなデータを素通しするMapReduceの速度

node数 Hadoop ddd 1 20秒 0.12秒

Page 23: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

運用

•  ハードウェア: IIJ GIOのサーバと同じ •  ソフトウェア: Linux, Ruby, C, C++

•  多数のコンピュータノードの管理 – ネットワークブート、単一ブートイメージ – 起動時自動セットアップ – 複数ノード同時オペレーション(Capistrano等) – 自作モニタリングツール

•  ハードウェアが故障しても放置 – なにかのついでのときに交換 – 運用コスト削減

23

Page 24: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

将来

•  実験中: モジュール型データセンタ

24

Page 25: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

サービス展開

•  主にサービスのバックエンドとして使用

25

例: トラフィック解析サービス 例: セキュリティ系レポートサービス

Page 26: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

まとめ

•  dddは多数のノードからなる分散システム – ないから作った – スケーラビリティや可用性を重視して開発

•  用途 – トラフィック解析、大規模ログ処理、etc

•  仕組み – P2P, 分散KVS, 自動複製, MapReduce

•  サービスのバックエンドとしての利用

26

Page 27: ISP運用における分散データ処理システム · 株式会社インターネットイニシアティブ 前橋 孝広 1 クラウド時代のrdbms&分散ストレージ

27

ご清聴ありがとうございました

お問い合わせ先 IIJインフォメーションセンター TEL:03-5205-4466 (9:30~17:30 土/日/祝日除く) [email protected] http://www.iij.ad.jp/