進化するAsakusaの現状と今後

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

Hadoopエコシステムの情勢■ Hadoop 1.xの陳腐化– 最新の1.2.1がすでに1年年前 (2013/08/01)のもの– 2.xでHDFSの安定化・⾼高速化が⾏行行われたが、1.xにバックポートなし■ つまりHadoop1系は今後の更更新はない– エコシステムもYARNを中⼼心に構成されるようになりつつある■ SQL on Hadoop周りがかなり成⻑⾧長– Impala, Drill, PrestoなどHDFSに対するクエリが強化されている– Hive on Tezがとても⾼高速– 今後もこの周辺に⼤大規模な投資が⾏行行われることが予想される■ MapReduceの直書きは⾮非推奨？
– HortonworksのリリースノートからMapReduceという単語が削除– Hive/Pigなどの上位⾔言語で記述することが前提となりつつある– もともとノーチラスはMapReduceは⾮非推奨
NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

1Asakusa 0.7.0 (2014/09/25)■ 問題意識識– ⼤大量量のデータをHadoopクラスタから移動するのに多⼤大なコストがかかる■ 当初はHadoopHDFSの信頼性が低い– 可能な限りHadoopクラスタ上で絞ってから移動したい■ HDFSの信頼性の向上。特にMapRの登場は⼤大きい■ SQL on Hadoop向けデータフォーマットに対応– ParquetやORCFileなどのHive向けデータフォーマットに対応■ SQL処理理– Asakusaで整形したデータをHive等でアドホック集計■ バッチ処理理をして、クエリーで検索索する

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

2

AsakusaとSQLの使い分け	■ SQL– アドホックに書ける– ⾮非常に複雑なデータ処理理に弱い– かっちりとしたデータ処理理に弱い– テストを実施しにくい■ Asakusa– 業務バッチレベルの複雑なデータ処理理に対応– 設計ありきのDSLでかっちりと開発– アドホックなデータ処理理に弱い– 強⼒力力なテスト機構■ 両者を組み合わせることで広いレンジのデータ処理理が可能に

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential3

Hadoop 2.xに正式対応	

■ Asakusa DSLで書くとHadoop 1.x/2.xのどちらでも動く– ビルドツールを強化し、1.x/2.xのリリースバイナリを同時に⽣生成可能に– とくにSQL on HadoopはHadoop 2.xを前提としたものが多い– AsakusaのPortabilityの⾼高さの証左■ Hadoopエコシステム中ではもっとも後⽅方互換性が⾼高い■ YARN (Hadoop 2.x)
– 「遅すぎ」という感じでもなくなってきた■ Hadoop 2.xでHDFSの⾼高速化まで⾒見見るとYARNのほうが速度度向上するケースも– ただし、⼩小さなデータを処理理する際のオーバーヘッドは増⼤大■ ⼩小さなデータばかり処理理すると、Hadoop 1.xより50%くらい速度度低下も■ 有効性は⾼高いが、宣伝されているほど無敵ではない

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential4

Asakusa 0.7.1 (2014/11/20)■ 問題意識識– Asakusaで書くとバッチの中に「⼩小さなデータ」を処理理するステージがどうしてもできる■ 補助データの処理理■ 異異常処理理– 「スモールジョブ問題」■ ステージの⼊入⼒力力データが100MB未満■ ステージの実⾏行行時間が40秒未満■ 上記のステージ数がバッチ全体の50%以上– スモールジョブは処理理時間のほとんどがHadoopオーバーヘッド■ 分散処理理の⽴立立ち上がりに時間が掛かっている■ 正味の処理理時間は数秒程度度でも、オーバーヘッドが乗ると数⼗十秒に– 業務系バッチ処理理に顕著で、通常の⼤大量量ログ分析では顕在化しない

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

5スモールジョブ最適化■ スモールジョブ問題のインパクト (参考値)– データサイズごとの特性■ 10GBのMapReduce処理理: 240秒前後■ 10MBのMapReduce処理理: 30秒前後– 例例: 100ジョブのうち90%がスモールジョブだと■ 240s * 10 + 30s * 90 = 2400s + 2700s■ スモールジョブの処理理時間の⽅方が⻑⾧長い■ スモールジョブ最適化– スモールジョブを⾒見見つけたら⾃自動で独⾃自のエンジンに切切り替え– ⾮非分散モードで⾼高速に動作■ 10MBの⼊入⼒力力で5~10倍⾼高速– ⼊入⼒力力データが増⼤大しても勝⼿手に分散モードで動作する■ ⽇日次処理理に⽉月次データを⼊入れても安全に処理理できる

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

6スモールジョブ最適化の効果l 実績値
種別

未使⽤用

使⽤用

総ジョブ数

スモールジョブ数

ツリー系集計演算
バッチ

約50分

約15分

約184

約180

データ正規化処理理

約8分

約3分

約20約17

BOM系原価計算

約65分

約52分

約60約10

その他のメリット–   デベロッパーテスト⾼高速化■ 開発環境内でのテスト実⾏行行はたいてい⼩小さなデータ■ ここでもスモールジョブ最適化を利利⽤用可能に■ ほとんどのケースで5倍程度度⾼高速化–– Windowsでの開発■ スモールジョブ実⾏行行エンジンを利利⽤用すると、Windows開発環境内でテストも実⾏行行可能に■ 近々に正式なドキュメントを公開予定
NAUTILUSCopyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential7

最新機能まとめ■ Hadoop 2.xに正式対応– エコシステムの最新機能を利利⽤用可能に– Asakusa DSLで書けば1.x/2.xのどちらでも動作■ SQL on Hadoopとの相互運⽤用性が向上– お互いの不不得意を補い合う– AsakusaとSQLを組み合わせて柔軟なデータ処理理■ スモールジョブ問題を緩和– 複雑なバッチ処理理ほどスモールジョブが紛れ込みやすい– 事前に予⾒見見できなくても⾃自動的に最適化– データが増⼤大しても⾃自動的に対応

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

8

Asakusaの今後■ 1.投資可搬性の確保– 業務系システムでは⾮非常に重要– Hadoopエコシステムは変化が早い■ 昨⽇日書いたプログラムが明⽇日にはもう時代遅れ■ 特にHadoop distributionのサポートの供給停⽌止は早い–場合によっては次のバージョンがStableにならないうちに現状プラットフォームの打ち切切りのアナウンスだけが先に出る■ また、Hadoopv1.0のように2-3年年で既に新規投資がされないということも起きる– Asakusaは後⽅方互換性を重要視する■ 「いったんAsakusa作ったプログラムが可能な限り使い続けることができるようにする。」■ Asakusaのポリシー■ Asakusaの責任⺟母体であるノーチラスのポリシーでもある–NAUTILUS

10年年にわたってEDI等の業務系ミドルをサポートし続けた背景

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

9Asakusaの今後■ 2.多機能化– よりAsakusaの使い勝⼿手も向上させていく– SQL on Hadoopも対応もその⼀一つ■ Asakusaでのアウトプットを再利利⽤用可能にしていく⽅方策– Smallジョブの実⾏行行の⾼高速化もその⼀一つ■ 実際の構築からのフィードバックを適切切に⽣生かす■ 3.⾼高速化– Hadoopが進化していく過程は、⾼高速化の流流れが⼀一つある– プラットフォームを拡⼤大に対応していく■ Hadoop2系への追従■ その他の実⾏行行プラットフォームも検討していく

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

10検討中の今後の対応■ Spark– 分散メモリークラスター– 機械学習の実⾏行行基盤としては、現在もっとも有望– コミュニティ活動も活発– Asakusaの対応基盤としての検討■ Better Hadoopとしての存在価値はある■ ただし、Asakusaの最適化スタイルに合わないアーキテクチャ

Push型ではなくPull型になっているので、Asakusaでの最適化が有効ではない– 単発ステージのバッチ処理理ならば確実にHadoopより⾼高速だが、複雑なデータフローが起きる業務バッチ処理理には向いていない–– ノーチラスとしては、Asakusaでの検討は⾏行行いつつも、別の形でのSparkの利利⽤用も視野にいれつつある

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

11検討中の今後の対応■ Tez– 開発⺟母体はHorton■ 現状ではHive on Tez– 現時点でもっとも⾼高速と⽬目されているHadoop実⾏行行エンジン■ DAGベース■ Asakusaとの親和性が⽐比較的⾼高い– Asakusaの実⾏行行基盤として検討開始■ 本家のHortonとも連携予定– ただし、仕様がStableではないので、もう少し時間がかかる

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

12検討中の今後の対応■ Microsoft– Azureでの対応検討開始– MicrosoftとHortonの連携も視野に⼊入れる– Azure上でのAsakusaの稼働確認■ 現状でのクラウドプラットフォームの実績– AWS・EMR– さくらインターネット– プラットフォームのパフォーマンスから検討している状態

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

13中⻑⾧長期レンジ■ 3~5年年のレンジでの検討– ハードウェア環境の⼤大幅な変更更が想定される– 不不揮発性メモリー■ これによりサーバのあり⽅方が変わる■ これによりDBのアーキテクチャがかなり変わる–

おそらくRDBでのOracleの時代の終わりが始まる– 分散クラスターのあり⽅方が変わる■ より⾼高密度度■ より集約された「クラスター」的なものになる– おそらく現状のHadoopのアーキテクチャではオーバーヘッドが⼤大きすぎる■ 別の何かが出てくる■ そのようなプラットフォームにもAsakusaは対応する予定■ そのための準備に⼊入る

NAUTILUS

Copyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

14中⻑⾧長期レンジ■ 3~5年年のレンジでの検討– 業務系処理理については、データサイズは拡⼤大しないと思われる■ いまのところPBクラスの業務データはない– 計算は複雑になる■ いままでギブアップしていた計算に挑戦する気配もある

複雑なデータ制御– SQLではメンテできない–■ データの数の増⼤大（サイズではない）

⼊入⼒力力データの種類の増⼤大■ 例例）電⼒力力⾃自由化のメータのデータ■ ビッグデータの最右翼の候補だったが、全然⼤大きくない■ 計算に利利⽤用する種別は増える– ただし計算中間結果が増⼤大する–■ ⾼高速化のニーズが強い

⾼高速化のスピードが要求される– たぶん、現状の延⻑⾧長線上ではなく別のアーキテクチャで3年年後ぐらいに超⾼高速になる– 「Asakusaが賭けるに⾜足る」ということではオッズは⾼高いです。などと。
–NAUTILUSCopyright © 2011-2014 Nautilus Technologies, Inc. All rights reserved.
Proprietary & Confidential

15