Bellwether Speed consultants Inc. 日本データマネジメント・コンソーシアム(JDMC) セミナー(2013.4.25) In-memory DB調査報告 In-memory DB調査報告 ・ NEC ; InfoFrame DataBooster ・ SAP社 ; HANA © 2013 Bellwether consultants Inc. All rights reserved. 1 Bellwether consultants Inc. In-memory DB 出現の背景 Speed ■ 過去50年間のDiscストレージ処理方式に対し、 より高性能なデータベース管理システムを実現するものとして登場 ・ Oracle Times Ten ; 2005年 ・ NEC InfoFrame DataBooster ; 2007年 ・ SAP HANA ; 2010年 ■ 大規模データの高速処理、及び柔軟なデータ処理 ・ 行指向処理高速化 ・ 自由なカラム/キー値によるロー(行検索)処理高速化 ・ テーブル全体処理、カラム(列)指向処理の高速化 ⇒ Sort、Join、検索、集計等 ■ In-memory DB 実現可能化(主要)技術 ・ 大容量メモリー・高性能(マルチコア)サーバ ・ インメモリーデータ処理アルゴリズム カラム(項目)辞書方式⇒ InfoFrame DataBooster、HANAで採用 ・ ACIDの保証をしたDBMS⇒ HANA (参考)ACID;原子性(atomicity)、一貫性(consistency)、独立性(isolation)、永続性(durability) © 2013 Bellwether consultants Inc. All rights reserved. 2 Bellwether consultants Inc. Disc ストレージ方式の課題 Speed ■ Disc装置は、磁気Discを回転し、磁気ヘッドでデータを Read/Writeを行うため一回のIO時間に10mSec程度を要する。 ⇒ DiscIOの並列化,キャシュ等高速処理の技術開発が 行われているが原理的に飛躍的な高速化は困難 ⇒ 特定分野に特殊化した高速化技術の乱立 ■ 取り扱いデータ容量の増加、大規模化による 各種データ処理時間の長大化 ・ バッチ処理 :Sort、Join、Union・・・ 夜間バッチ等時間(3~6時間程度)制約による業務処理制約 トラブル等による終了時間の遅延 ・ OLAP処理 :全件検索、集計処理等 問い合わせ応答時間が分オーダになり生産性低下 解決策⇒ 飛躍的な高速メモリーストレージ方式採用 © 2013 Bellwether consultants Inc. All rights reserved. 3 Bellwether consultants Inc. 大容量メモリーサーバによるパラダイムシフト Speed ■ 大容量メモりーサーバの出現 ・ メインメモリーTeraByte(TB)オーダ容量サーバ ⇒市場では1TB 1千万円台のサーバが出現 ・ 大規模データがメインメモリーに収容可能 (参考) 1TB(一兆バイト); 1kBのロー(行、レコード)で ◆ 10億個 ◆ 1000万行のテーブル、100個に相当 ■ 将来的にもサーバのメモリー容量増大が期待出来き 適切なコストでデータがメモリに収納できるのなら、 In-memory DBは ・ システム全体コスト、運用等考慮して、導入検討に値する技術 ・ 従来のDiscストレージ方式を前提としたシステム構成法、 三層(three-layer)アーキテクチャーの改革を促進する技術 © 2013 Bellwether consultants Inc. All rights reserved. 4 Bellwether consultants Inc. 高性能サーバの出現 Speed ■ In-memory DBに適合した安価高性能サーバの出現 CPUマルチコア化、大容量キャシュメモリー、高速バス等機能強化 ◆CPUマルチコア ・ 同時データ処理を並列化 ・ 大規模テーブルのSort、検索、集計処理並列化 ◆ 大容量キャシュメモリー、高速バス インメリーデータ処理高速化に適合したキャシュメモリー 大容量化、メモリーバス高速化 ・ オールインキャシュCPU演算処理 ■ インテルXeon 7500番台CPUチップ SAPとの共同開発によりIn-memory DBに最適な機能をサポート ⇒24MBL3キャシュ、QuickPathテクノロジー、RAS機能強化等 © 2013 Bellwether consultants Inc. All rights reserved. 5 Bellwether Speed In-memory DB 処理方式 比較 consultants Inc. タイプ 方式 メモリ比 性能比 代表的な製品 RDB拡張 ロー(行)インメモリ 1 1 Oracle Times Ten 他 インメモリー 特化 カラム辞書方式 ~1/5 40 ~50 NEC InfoFrame DataBooster SAP HANA 論理テーブル(例) ID # Family Name city 104 Yamada Nagoya 111 Akiyama Aomori 100 Yamada Akita 105 Nomura Tokyo 110 Yamada Tokyo 102 Ishii Akita Satou Tokyo 120 メモリー ロー(行)インメモリ RDB ID#を主キーとしてロー をSort再配列して RDB化 カラム辞書方式 行1 I D # 行2 Row Order 0 ・ ロー順序変更なし、 ・ カラム毎に値(Sort済み) 辞書作成 ; メモリー上で連続した配列 メモリ上 の配列 1 2 3 4 V n カラム辞書 V L Archive 5 6 ; メモリ上で飛び飛びになった配列 Vn:Value Number VL:Value List © 2013 Bellwether consultants Inc. All rights reserved. 6 Bellwether カラム辞書方式 consultants Inc. Speed ■ カラム辞書方式の利点 ・ 単一プラットホームで「行指向DB」、「列指向DB」サポート ・ メモリー使用量の極小化実現 ⇒Sort、Join等で、行毎のカラムのコピー不要 ・ データ加工処理をCPUキャシュメモリーミスヒットなし、All in Cash で(略)実行 RDB系のIn-memory DBに比べ、40倍以上高速を実現。 ■ データフォーマット ⇒ テーブルデータをカラム毎に分解 Sub Row Order 5 Root Row Orde r カラム1 カラム2 Vn Vn VL 0 4 ◆ ローの配列順序を管理し、値はロー番号を示す ・Root Row Order ; 配列順序=ロー番号 ・Sub Row Order ; ローの配列を変更する処理結果の 配列順序と、順序に対応する、Root Row Orderの番号保持 VL 1 1 2 0 3 6 4 2 5 3 6 Sort Row order ◆ Vn: Value Number ・ 配列順序はRoot Row Orderに対応し、値は収容されている VLの(ロケーション)番号を示す 1 3 ◆ VL: Value List ;カラム(値)辞書 カラムの値を上昇順にSortして配列したリスト © 2013 Bellwether consultants Inc. All rights reserved. 7 Bellwether Speed 性能比較;InfoFrame DataBooster実測例 consultants Inc. 測定1 ■ 測定1 ; インメモリー処理性能比較 RDBデータをメモリーに展開した場合 (ローインメモリ相当)と InfoFrame DataBoosterの比較 商品マスタ:1万件、取引明細表: 2億件をジョインし、商品で集計 59分3秒 SELECT 商品, SUM(売上) FROM 売上マスタ a, 取引明 細 表b WHERE a.商品ID = b.商品 ID AND 日付 >= 88秒 '20070101' GROUP BY 商品 DataBoosterORDER BY 2 DESC 40倍 ■ 測定2 ; InfoFrame DataBooster実測例 従来RDB (メモリ-展開後) 測定2 ;測定結果(ノートPCで実施) 処理 10億ロー Joinテーブル 生成 操作 (ミリ秒) T2の 1ロー当たり T1の500ローをJoin 同上テーブル 日付で逆Sort Sort 処理 時間 47 62 測定2 ;利用テーブル 使用 メモ リー (MB) (参考) Disc方式容量 (GB) (注2) 24 104 (注1) (約4000倍) 16 104 (注1) (約6500倍) © 2013 Bellwether consultants Inc. All rights reserved. ロー長 (バイト) ロー 数 (万) T1 68 5 T2 36 200 論理 テーブル (MB) カラム 辞書(圧 縮)後(MB) 3,4 1,6 72 40 (注1) メモリー使用量は、ロー数に依存。 ローレングスに依存しない (注2) ローレングスに比例した容量 =ロー長 X ロー数 8 Bellwether 導入の容易性/既存システムとの親和性 consultants Inc. Speed ■ 導入の容易性/既存システムとの親和性 ◆ SQLインターフェースにより利用可能 ⇒ 部分導入が可能 ■ 導入事例 ; InfoFrame DataBooster ◆ 参照系の性能ネックとなるテーブルのみInfoFrame DataBooster化 ・ システム共有テーブル ・ 全件検索処理対象テーブル バッチ処理AP/BIツール バッチ処理AP/BIツール JDBC JDBC PostgreSQL等 テーブル群 ・・・ ・ 性能 ネック テーブ ル PostgreSQL等 In-memory 化 InfoFrame Data Booster © 2013 Bellwether consultants Inc. P.9All rights reserved. テーブル群 ・・・ ・ 9 Bellwether Speed 適用領域概略 consultants Inc. 企業情報システムの概略区分 ・ 基幹業務系 ; OLTP処理システム、 ・ 情報系 ; OLAP処理システム InfoFrame DataBoosterとHANA 適用領域鳥瞰 Data mart/Cube作成不要 ⇒SQLで都度高速処理 ◆ Master Data management システム ◆ データクレンジングツール ◆ 大規模バッチ高速処理ツール ■ HANA ◆ ACID保証DBMS 基幹業務系DB 適用領域等 ・アプライアンス・サーバタイプ ・リアルタイムデータプラットホーム ◆ OLAP基盤 ・ オンザフライデータ集約機能 ・ 高度なテキスト検索機能 ・ 統計言語R、PAL等のサポート 情報系 cvcv OLAP処理 基幹業務系 cvcv OLTP処理 ■ InfoFrame DataBooster バッチ型データ処理及びOLAP処理高速化 ◆ Central Ware House データ 交換 情報系DB 業務・情報 DB統合管理 HANA InfoFrame DataBooster 基幹業務系DB リアルタイムデータ更 新 ○ 対象外 情報系DB;参照系 ○ ○ ○(DBMSとして システム運用で、 回復機能サポート 障害時の処理 © 2013 Bellwether consultants Inc. All rights reserved. システム回復機能 具備) 10 Bellwether 今後の展望・期待 consultants Inc. Speed ■ システム構成法の変革; 三層(three-layer)アーキテクチャーの機能分担の変化 In-memory DBでは、メモリー上に全データを一括して収容している利点により、 従来プレゼンテーション層、アプリ―ション層に実装していた処理を In-memory DBサーバに実装 ⇒レイヤ間のオーバヘッドを低減、システム全体として高速処理実現。 HANA 従来の三層モデル プレゼンテーション プレゼンテーション Application Server SQL Application Server 処理機能移転 SQL,MDX,BICS・・ Data Server HANA PAL: Predictive Analysis Library ■ 大容量データへの対応: 並列化 性能のリニアなスケールアップ (HANA) ・ 現状1280コア/16TB(16ノード) ⇒1万コア/250TB ■ メインメモリーへの不揮メモリー素子 (MRAM等)適用 ・ システム回復処理の簡易化により OLTP処理の更なる高速化。 ・テキスト検索 ・PAL ・計算/計画処理 MDX;Multidimensional Expression © 2013 Bellwether consultants Inc. All rights reserved. 11 Bellwether consultants Inc. Data Management におけるIn-memory DBの利点 その1 Speed ■ 性能の高速性及び安定性 Sort、Join、Union等処理時間がDiscベースに比べ飛躍的に高速であり システムとして安定した稼働が期待できる。 構造化データ ■ 構造化データが処理可能 ⇒ RDBで扱えないデータの処理が可能 ◆ テーブル形式に記述可能な構造化データ共存、連結処理 木構造、 ◆ 木構造データ、XMLデータ高速処理⇒カラム値検索の高速性 XML・・・ ■ 単一データ処理基盤で 行指向、列指向データ処理 ■ ■ データ処理システム運用が容易 ⇒ 簡易な物理スキーム RDBMS 主要な制約条件;メモリー使用量 GUIによるリアルタイム・インタラクティブ データ参照・検索・加工処理 論理レベルデータモデルの生成・変更・維持が容易 ⇒ InfoFrame DataBooster ⇒ Discストレージ処理システムと共存し、Data Management ツールとしても利用可能 テーブル(表)データとツリー(木)データの共存、連結処理 口座番号 ・・ 氏名 氏名 Table data * Join * 住所 親の氏名 高速正/逆展開 Tree data © 2013 Bellwether consultants Inc. All rights reserved. 12 Bellwether consultants Inc. Speed (補足)カラム辞書方式アーキテクチャ概略 例:InfoFrame DataBooster メモリーデータの配置 論理テーブルデータ Row Root row order ID# (Vn) Family Name City ID # Family Name city 104 Yamada Nagoya 0 2 100 4 Akiyama 2 Akita 111 Akiyama Aomori 1 5 102 0 Ishi i 1 Aomori 100 Yamada Akita 2 0 104 4 Nomura 0 Nagoya 105 Nomura Tokyo 3 3 105 2 Satou 3 Tokyo 110 Yamada Tokyo 4 4 110 4 Yamada 3 102 Ishii Akita 5 1 111 1 0 120 Satou Tokyo 6 6 120 3 3 ID#で Sort (参考)RDB Cityで Sort ID # Family Name city 100 Yamada Akita 102 Ishii Akita 104 Yamada Nagoya 105 Nomura Tokyo 110 Yamada Tokyo 111 Akiyama Aomori 120 Satou Tokyo 主キー 形式変換 Row 番号で カラム値参照 5 0 VL ;カラム(値)辞書(値上昇順にSort済) バイナリサーチで値検索 Sub row order 2 2 1 (Vn) (Vn) Yamada で検索 3 4 6 Sub row order 1 2 100 Yamada Akita 0 104 Yamada Nagoya 4 110 Yamada Tokyo ・ Row Sort、検索、Join等の処理結果 ⇒Sub row OrderからRoot Row Order 番号を得て、カラム参照 ⇒カラムのコピーは作成しない © 2013 Bellwether consultants Inc. All rights reserved. 13
© Copyright 2024 ExpyDoc