SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
© 2017 NTT DATA Corporation
新しいTERASOLUNA Batch Frameworkとは
株式会社NTTデータ
伊東 裕二、 山田 真也
情 報 種 別 : 公開
会 社 名 : NTTデータ
情報所有者 : ソフトウェア工学推進センタ
© 2017 NTT DATA Corporation 2
本日のゴール
エンタープライズのバッチ開発に
おける悩みを
TERASOLUNA Batch Framework
を使うことで
どのように解決できるのか
ご説明します
3© 2017 NTT DATA Corporation
1. そもそもバッチって何?
2. エンタープライズのバッチ開発
1. よくある苦労話
2. バッチ開発の課題
3. TERASOLUNA Batch Frameworkが
解決する課題
1. 課題の事例
2. 解決のアプローチ
4. TERASOLUNA Batch Frameworkの概要
5. TERASOLUNA Framework
目次
© 2017 NTT DATA Corporation 4
そもそも
バッチって何?
© 2017 NTT DATA Corporation 5
バッチ処理とは
• データを一定の量でまとめて処理する。
• 処理に一定の順序がある。
• スケジュールに従って実行・管理される。
特徴
© 2017 NTT DATA Corporation 6
オンライン処理とバッチ処理
• オンラインではできない物量を処理しきる
※ バッチ処理のみのシステムもよくある
オンライン
システム
ブラウザ バッチ
システム
リクエスト
レスポンス
入力
出力
対比
つかいどころ
実行
© 2017 NTT DATA Corporation 7
バッチ処理を使う主目的
•データをまとめて処理することで、処理のスループットを向上させる
•Ex) 1000万件のデータを3時間で処理し切る
スループット
•オンラインのレスポンスを維持させるため、一部処理をバッチに切り出す
•Ex) Web画面から登録したCSVファイルをデータベースに反映する
•Ex) 依頼された帳票をPDFファイルにしたのちプリンタに送る
応答性の確保
•特定の時間やイベントを契機に処理を実行させる
•Ex) 月末の売上集計
•Ex) 四半期の収支レポート作成
時間やイベント
© 2017 NTT DATA Corporation 8
エンタープライズ
バッチ開発の
よくある苦労話
© 2017 NTT DATA Corporation 9
バッチ開発におけるよくある苦労話
• 長時間バッチがあと少しというところで例外が発生
• 最初からやり直して運用時間が足りなくなった…
• 処理件数が多くなったら急にメモリ枯渇…
• 追加でメモリ割り当てて無理やり通した
• 例外発生時に中途半端コミット状態になった
• リラン復旧ができずに手パッチ運用…
• 処理時間が足りないから多重処理しないとダメそう
• 実装難易度がいきなり上がってバグった…
• 追加で別システムからファイルをもらって処理することになった
• 文字コードやI/Oのファイル形式の差でうまく吸収しきれない…
こんな経験ありませんか?
© 2017 NTT DATA Corporation 10
苦労話って・・・
なぜこんな苦労をするのか?
© 2017 NTT DATA Corporation 11
バッチ開発が抱える課題
設計が自由 実装が自由
ノウハウが
まとまってない
秘伝のタレ
職人芸
なぜ難しい?
バッチ処理には気をつけるポイントがたくさんある
© 2017 NTT DATA Corporation 12
TERASOLUNA
Batch
Framework
が解決する課題
© 2017 NTT DATA Corporation 13
Spring Framework
Enterprise Application
Java VM
OSS
Libraries
Spring
Batch
MyBatis
TERASOLUNA Batch Framework 5.x とは
バッチ処理に必要な機能/ノウハウを体系化
https://terasoluna-batch.github.io/guideline/
© 2017 NTT DATA Corporation 14
TERASOLUNA Batch が用意しているもの
ジョブの起動方式
同期実行方式
非同期実行方式(DBポーリング)
非同期実行方式(Webコンテナ)
© 2017 NTT DATA Corporation 15
TERASOLUNA Batch が用意しているもの
処理を部品化 / 構造化 処理をまとめて集約
各種機能
• DBアクセス/ファイルアクセス
• 多重実行/並列実行
• リカバリ方式(リラン/リスタート) 以降、活用事例をご紹介
ジョブの実装方法
© 2017 NTT DATA Corporation 16
事例1
© 2017 NTT DATA Corporation 17
純バッチ事例 | 実現したい要件
例1) 純バッチの要件
・バッチ実行の許容時間は30分
・純バッチの実行時間が3時間かかる見積り
⇒ バッチ処理を多重実行して、実行時間を短縮
バッチ処理時間見積)
3時間
バッチ許容)
30分 超過
バッチ
バッチバッチ
バッチ
バッチ
処理
多重実行で
実行時間短縮
© 2017 NTT DATA Corporation 18
純バッチ事例 | 初心者が考えてみたら・・・
方式案) 固定件数毎に処理を分割
バッチ
1.起動
処理1
(スレッド1)
処理2
(スレッド2)
処理N
(スレッドN)
DB
・・・
DB
出身県 性別 名前 年収
東京 男 渋谷 500万
千葉 女 緑 550万
・・・ ・・・ ・・・ ・・・
N千万件
1~1000万
1001万
~2000万
2.取得
3.分割&処理
4.一括
コミット
~N000万
© 2017 NTT DATA Corporation 19
純バッチ事例 | でもその処理方式って・・・
方式案) 固定件数毎に処理を分割
バッチ
1.起動
処理1
(スレッド1)
処理2
(スレッド2)
処理N
(スレッドN)
DB
・・・
DB
出身県 性別 名前 年収
東京 男 渋谷 500万
千葉 女 緑 550万
・・・ ・・・ ・・・ ・・・
N千万件
2.取得
3.分割&処理
②途中で異常終了したら、
全てやり直し・・・。
①一括で取得すると
メモリ枯渇してしまう・・・。
4.一括
コミット
1~1000万
1001万
~2000万
~N000万
© 2017 NTT DATA Corporation 20
純バッチ事例 | でもその処理方式って・・・
方式案) 固定件数毎に処理を分割
バッチ
1.起動
処理1
(スレッド1)
処理2
(スレッド2)
処理N
(スレッドN)
DB
・・・
DB
出身県 性別 名前 年収
東京 男 渋谷 500万
千葉 女 緑 550万
・・・ ・・・ ・・・ ・・・
N千万件
2.取得
3.分割&処理
②途中で異常終了したら、
全てやり直し・・・。
①一括で取得すると
メモリ枯渇してしまう・・・。
4.一括
コミット
1~1000万
1001万
~2000万
~N000万
考慮漏れがないように設計するのは大変・・・
© 2017 NTT DATA Corporation 21
純バッチ事例 | TERASOLUNAが提供している処理方式
バッチ
1.起動
処理1
(スレッド1)
処理2
(スレッド2)
処理N
(スレッドN)
DB
・・・
DB
出身県 性別 名前 年収
東京 男 渋谷 500万
千葉 女 緑 550万
・・・ ・・・ ・・・ ・・・
N千万件
分割管理
2.分割
「出身県」単位で処理を
分割するように設定
3.各処理が逐次にデータ取得
4.各処理が分割コミット
②既に処理済みのデータは
処理しないため、
異常終了時のリカバリが早い
①必要なデータ分のみ
取得するため、
メモリの使用量の
ピークを抑えられる
4. ...
4. ...
© 2017 NTT DATA Corporation 22
ユーザが
実装する範囲
純バッチ事例 | TERASOLUNAが提供している処理方式
バッチ
1.起動
処理1
(スレッド1)
処理2
(スレッド2)
処理N
(スレッドN)
DB
・・・
DB
出身県 性別 名前 年収
東京 男 渋谷 500万
千葉 女 緑 550万
・・・ ・・・ ・・・ ・・・
N千万件
分割管理
2.分割
4.各処理が分割コミット
4. ...
4. ...
フレームワークが
機能を提供
ユーザが
実装する範囲
3.各処理が逐次にデータ取得
© 2017 NTT DATA Corporation 23
純バッチ事例 | 開発ガイドライン
https://terasoluna-batch.github.io/guideline/5.0.0.RELEASE/ja/Ch08_ParallelAndMultiple.html
© 2017 NTT DATA Corporation 24
純バッチ事例 | 開発ガイドライン
方式の活用シーンを明確化!
陥りやすい設計ミス、実装ミスを掲載!
開発ガイドラインにより、各方針のメリット/デメリットを明記し、
実装例も掲載しているため、設計/実装の助けとなりえる
設定ファイル例、実装例が豊富!
© 2017 NTT DATA Corporation 25
事例2
© 2017 NTT DATA Corporation 26
ディレード事例 | 実現したい要件
例1) ディレードオンラインの要件
オンライン
システム
ブラウザ バッチ
システム
リクエスト
レスポンス
処理の委託
完了メール通知
バッチ処理
・DB登録
・帳票の作成
オンラインの応答性能要件が1秒であり、
帳票の作成は重い処理で性能要件を満たせないため、
ディレードオンラインが採用された。
© 2017 NTT DATA Corporation 27
ディレード事例 | 初心者が考えてみたら・・・
方式案) API実行方式
オンライン
システム
バッチ
システム
完了メール通知
DB
2.ステータス
「処理中」更新
3.API呼び出し
4.バッチ処理
5.ステータス
「完了」更新
1.リクエスト
4’.レスポンス
(非同期)
© 2017 NTT DATA Corporation 28
ディレード事例 | でもその処理方式って…
オンライン
システム
バッチ
システム
完了メール通知
DB
2.ステータス
「処理中」更新
3.API呼び出し
4.バッチ処理
5.ステータス
「完了」更新
1.リクエスト
4’.レスポンス
(非同期)
②ステータス更新前に
例外が発生したら…?
①バッチ側がダウンした時はどう返す…?
可用性はどう担保する?
© 2017 NTT DATA Corporation 29
ディレード事例 | でもその処理方式って…
オンライン
システム
バッチ
システム
完了メール通知
DB
2.ステータス
「処理中」更新
3.API呼び出し
4.バッチ処理
5.ステータス
「完了」更新
1.リクエスト
4’.レスポンス
(非同期)
②ステータス更新前に
例外が発生したら…?
①バッチ側がダウンした時はどう返す…?
可用性はどう担保する?
考慮漏れがないように設計するのは大変・・・
© 2017 NTT DATA Corporation 30
ディレード事例 | TERASOLUNAが提供する処理方式
方式案)
DBポーリング方式
オンライン
システム
ジョブ
DB
2.ジョブ登録
6.バッチ処理
4.ステータス「取得済」更新
1.リクエスト
3’.レスポンス
バッチ
システム
(ポーリング)
ジョブのチェック
常駐プロセス
8.ステータス「完了」更新
5.起動 7.終了
3.
②例外時の挙動は
フレームワークが
担保している
①可用性は
担保される
© 2017 NTT DATA Corporation 31
ディレード事例 | TERASOLUNAが提供する処理方式
方式案)
DBポーリング方式
オンライン
システム
ジョブ
DB
2.ジョブ登録
6.バッチ処理
4.ステータス「取得済」更新
1.リクエスト
3’.レスポンス
バッチ
システム
(ポーリング)
ジョブのチェック
常駐プロセス
8.ステータス「完了」更新
5.起動 7.終了
ユーザが実装する範囲
フレームワークが
機能を提供
※他にも、Webコンテナ方式も提供
3.
© 2017 NTT DATA Corporation 32
ディレード事例 | 開発ガイドライン
https://terasoluna-batch.github.io/guideline/5.0.0.RELEASE/ja/Ch04_AsyncJobWithDB.html
© 2017 NTT DATA Corporation 33
ディレード事例 | 開発ガイドライン
方式の活用シーンを明確化!
陥りやすい設計ミス、実装ミスを掲載!
開発ガイドラインにより、各方針のメリット/デメリットを明記し、
実装例も掲載しているため、設計/実装の助けとなりえる
設定ファイル例、実装例が豊富!
© 2017 NTT DATA Corporation 34
TERASOLUNA Batch Framework の活用結果
設計が自由 実装が自由
ノウハウが
まとまってない
秘伝のタレ
職人芸
なぜ難しい?
気をつけるポイントを開発ガイドラインにより解決
© 2017 NTT DATA Corporation 35
TERASOLUNA
Batch
Framework
の構成
© 2017 NTT DATA Corporation 36
そもそもタイトルの「新しい」って何?
5.x
以前の
TERASOLUNA
バッチフレームワーク
新しい
TERASOLUNA
バッチフレームワーク
2008年 2011年 2017年
3.x2.x
TERASOLUNA Batch Framework の歴史
・機能
・アーキテクチャ
・機能の強化
・アーキテクチャの強化
・ガイドライン(ベストプラクティス)
(オレオレフレームワーク)
を提供
を提供
© 2017 NTT DATA Corporation 37
Spring Framework
Enterprise Application
Java VM
OSS
LibrariesSpring Batch MyBatis
3.4.2
4.3.5
3.0.7
TERASOLUNA共通ライブラリ 1.0.0
slf4j 1.7.22
hibernate 5.2.4
・・・等
Spring IO Platformに準拠した
OSSの組合わせを規定
TERASOLUNA Batch Framework 5.x のスタック
© 2017 NTT DATA Corporation 38
TERASOLUNA Batch Frameworkの構成要素
•Spring, MyBatisなどのOSSフレームワークソフトウェアフレームワーク
•エンタープライズ向けに必要な汎用的な部品共通ライブラリ
•OSSを利用したエンタープライズ向けアプリ開発に
おけるベストプラクティスドキュメント開発ガイドライン
•基本的な開発方法を学ぶ学習教材チュートリアル
•基本的な機能を実装したサンプルアプリサンプルAP
•プロジェクト構成のひな形ブランクプロジェクト
2017年
リリース
予定
© 2017 NTT DATA Corporation 39
TERASOLUNA Batch Frameworkの構成要素
•Spring, MyBatisなどのOSSフレームワークソフトウェアフレームワーク
•エンタープライズ向けに必要な汎用的な部品共通ライブラリ
•OSSを利用したエンタープライズ向けアプリ開発に
おけるベストプラクティスドキュメント開発ガイドライン
•基本的な開発方法を学ぶ学習教材チュートリアル
•基本的な機能を実装したサンプルアプリサンプルAP
•プロジェクト構成のひな形ブランクプロジェクト
2017年
リリース
予定
Spring Batch
TERASOLUNA
Batch Framework
の強み
© 2017 NTT DATA Corporation 40
• 各機能の詳細解説
• チュートリアル(学習コンテンツ)
理解しやすいように、
図を多数記載
• コードサンプル
• 検証済みで品質確保された開発方法のベストプラクティス
流用して開発できるように
コードサンプルを多数記載
コードサンプルの解説も記載
• コードサンプル
• エンタープライズ向けの実践的な開発ノウハウ
各機能の拡張方法も記載
Note、Tip、Warning、Hintなど、
実践的な開発ノウハウを多数記載
実装方法とその根底
にある考え方も記載
①基本知識の習得、AP基盤の検討
③FWの拡張方針検討 ④AP基盤の設計・製造
②実現性検証
TERASOLUNA Batch Framework の活用例
© 2017 NTT DATA Corporation 41
TERASOLUNA
Framework
© 2017 NTT DATA Corporation 42
TERASOLUNAとは
Process
Environment
Support
蓄積されたノウハウ
を展開するための
研修や教育サービス
サポート
数多くのシステム開発で
培ったノウハウを盛り込んだ
標準開発手順・管理手順
標準手順
ソフトウェアを開発する際の
雛形になるフレームワーク
と開発を支援するツール
開発環境
数多くのシステム開発実績をもとにした「標準手順」「開発環境」「サポート」を
トータルで提供しており、TERASOLUNAを活用することで、
高品質なシステム開発が実現できます。
TERASOLUNAとは、NTTデータのシステム開発を支える
オープン系システム開発のための総合ソリューション
© 2017 NTT DATA Corporation 43
TERASOLUNAフレームワークとは?
業務アプリケーション
Spring Framework
iBATIS
独自フレームワーク層
業務アプリケーション
Spring IO Platform
Spring
Security
Spring
MVC JPA
MyBatis
1. 各種OSSをベースとしつつも、
独自フレームワークの開発に注力
2. 機能説明書を提供
1. グローバル標準のOSSを組み合わせ、
独自部分を極小化
2. OSSの機能を最大限に活かして開発するため
のベストプラクティスを提供することに注力
開発ガイドライン開発ガイドライン
エンタープライズ利用における当社知見をベースに、
Springを最大限活用したグローバル標準のフレームワークへ
Spring Framework
© 2017 NTT DATA Corporation 44
TERASOLUNAフレームワークのラインナップ
Spring Framework
Enterprise Application
Application Server
Spring
MVC Spring Data JPA
Spring
Security
Spring Framework
Enterprise Application
Java VM
OSS
Libraries
Spring
Batch
TERASOLUNA Server FW for Java 5.x TERASOLUNA Batch FW for Java 5.x
NEW
2015年 2月 リリース 2017年 3月 リリース
Server 5 / Batch 5 は出来る限り同じ技術要素を利用している
MyBatis
MyBatis
© 2017 NTT DATA Corporation 45
昨年度のJJUGで TERASOLUNA Server Frameworkを紹介
オンライン処理の開発者・アーキテクトが抱える課題を
開発ガイドラインで解決策を解説
https://www.slideshare.net/jjug/javaspringterasoluna-jjugccc-cccf3
© 2017 NTT DATA Corporation 46
おわりに
© 2017 NTT DATA Corporation 47
是非アクセスしてください!
TERASOLUNA Batch Framework for Java (5.x)
https://terasoluna-batch.github.io/
検索
© 2017 NTT DATA Corporation 48
最後に
TERASOLUNA Frameworkに興味がある方は下記までご連絡ください
TERASOLUNA窓口
E-mail: terasoluna@am.nttdata.co.jp
NTTデータは今後もJavaアプリケーション開発の
ベストプラクティスをOSSで提供し続けます
エンタープライズJavaシステム開発で積極的に活用し、
情報交換やコミュニティ活動を活発化して
さらなるJavaの発展、繁栄に向けて共に歩んでいきましょう。
© 2017 NTT DATA Corporation

Weitere ähnliche Inhalte

Was ist angesagt?

大規模・長期保守を見据えたエンタープライズ システム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズ システム開発へのSpring Frameworkの適用apkiban
 
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論Hyperleger Tokyo Meetup
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)NTT DATA Technology & Innovation
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)NTT DATA Technology & Innovation
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsApache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsYoshiyasu SAEKI
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...NTT DATA Technology & Innovation
 
Spring Integration 超入門
Spring Integration 超入門Spring Integration 超入門
Spring Integration 超入門Yasutaka Sugamura
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...NTT DATA Technology & Innovation
 
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つYuichi Hasegawa
 
Cassandra における SSD の活用
Cassandra における SSD の活用Cassandra における SSD の活用
Cassandra における SSD の活用Yuji Ito
 
シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析Yohei Azekatsu
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント土岐 孝平
 
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) Satoshi Nagayasu
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 

Was ist angesagt? (20)

大規模・長期保守を見据えたエンタープライズ システム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズ システム開発へのSpring Frameworkの適用
 
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once SemanticsApache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
Spring Integration 超入門
Spring Integration 超入門Spring Integration 超入門
Spring Integration 超入門
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
 
Cassandra における SSD の活用
Cassandra における SSD の活用Cassandra における SSD の活用
Cassandra における SSD の活用
 
シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
 
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 

Ähnlich wie 新しいTERASOLUNA Batch Frameworkとは

バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つapkiban
 
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合InnovationSprint2011
 
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイントNaoki Ohsugi
 
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~apkiban
 
Talend 2013年概要
Talend 2013年概要Talend 2013年概要
Talend 2013年概要Talend KK
 
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...NTT DATA Technology & Innovation
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)Daichi Egawa
 
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi IshikawaInsight Technology, Inc.
 
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by  Taichi UmedaC22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by  Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi UmedaInsight Technology, Inc.
 
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshreBase 20141011 1_for_slideshre
Base 20141011 1_for_slideshre正善 大島
 
バックアップ勉強会#1 バックアップ基礎
バックアップ勉強会#1 バックアップ基礎バックアップ勉強会#1 バックアップ基礎
バックアップ勉強会#1 バックアップ基礎MKT International Inc.
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料Hiroshi Senga
 
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PC Cluster Consortium
 
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]DeNA
 
仮想化・クラウド環境利用メリットを最大化する運用管理とは
仮想化・クラウド環境利用メリットを最大化する運用管理とは仮想化・クラウド環境利用メリットを最大化する運用管理とは
仮想化・クラウド環境利用メリットを最大化する運用管理とはHinemos
 
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンスClassmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンスTakeo Hirakawa
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Insight Technology, Inc.
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataNTT DATA Technology & Innovation
 

Ähnlich wie 新しいTERASOLUNA Batch Frameworkとは (20)

バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つ
 
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイントSQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
 
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
 
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
 
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
 
Talend 2013年概要
Talend 2013年概要Talend 2013年概要
Talend 2013年概要
 
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
 
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
 
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by  Taichi UmedaC22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by  Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
 
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshreBase 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
 
バックアップ勉強会#1 バックアップ基礎
バックアップ勉強会#1 バックアップ基礎バックアップ勉強会#1 バックアップ基礎
バックアップ勉強会#1 バックアップ基礎
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
 
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
 
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
 
仮想化・クラウド環境利用メリットを最大化する運用管理とは
仮想化・クラウド環境利用メリットを最大化する運用管理とは仮想化・クラウド環境利用メリットを最大化する運用管理とは
仮想化・クラウド環境利用メリットを最大化する運用管理とは
 
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンスClassmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
 

Mehr von apkiban

Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くSpring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くapkiban
 
What happens in Spring Cloud Netflix
What happens in Spring Cloud NetflixWhat happens in Spring Cloud Netflix
What happens in Spring Cloud Netflixapkiban
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢apkiban
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告apkiban
 
TERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO PlatformTERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO Platformapkiban
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~apkiban
 
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わるSpring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わるapkiban
 

Mehr von apkiban (7)

Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くSpring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
 
What happens in Spring Cloud Netflix
What happens in Spring Cloud NetflixWhat happens in Spring Cloud Netflix
What happens in Spring Cloud Netflix
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
 
TERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO PlatformTERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO Platform
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わるSpring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わる
 

新しいTERASOLUNA Batch Frameworkとは

  • 1. © 2017 NTT DATA Corporation 新しいTERASOLUNA Batch Frameworkとは 株式会社NTTデータ 伊東 裕二、 山田 真也 情 報 種 別 : 公開 会 社 名 : NTTデータ 情報所有者 : ソフトウェア工学推進センタ
  • 2. © 2017 NTT DATA Corporation 2 本日のゴール エンタープライズのバッチ開発に おける悩みを TERASOLUNA Batch Framework を使うことで どのように解決できるのか ご説明します
  • 3. 3© 2017 NTT DATA Corporation 1. そもそもバッチって何? 2. エンタープライズのバッチ開発 1. よくある苦労話 2. バッチ開発の課題 3. TERASOLUNA Batch Frameworkが 解決する課題 1. 課題の事例 2. 解決のアプローチ 4. TERASOLUNA Batch Frameworkの概要 5. TERASOLUNA Framework 目次
  • 4. © 2017 NTT DATA Corporation 4 そもそも バッチって何?
  • 5. © 2017 NTT DATA Corporation 5 バッチ処理とは • データを一定の量でまとめて処理する。 • 処理に一定の順序がある。 • スケジュールに従って実行・管理される。 特徴
  • 6. © 2017 NTT DATA Corporation 6 オンライン処理とバッチ処理 • オンラインではできない物量を処理しきる ※ バッチ処理のみのシステムもよくある オンライン システム ブラウザ バッチ システム リクエスト レスポンス 入力 出力 対比 つかいどころ 実行
  • 7. © 2017 NTT DATA Corporation 7 バッチ処理を使う主目的 •データをまとめて処理することで、処理のスループットを向上させる •Ex) 1000万件のデータを3時間で処理し切る スループット •オンラインのレスポンスを維持させるため、一部処理をバッチに切り出す •Ex) Web画面から登録したCSVファイルをデータベースに反映する •Ex) 依頼された帳票をPDFファイルにしたのちプリンタに送る 応答性の確保 •特定の時間やイベントを契機に処理を実行させる •Ex) 月末の売上集計 •Ex) 四半期の収支レポート作成 時間やイベント
  • 8. © 2017 NTT DATA Corporation 8 エンタープライズ バッチ開発の よくある苦労話
  • 9. © 2017 NTT DATA Corporation 9 バッチ開発におけるよくある苦労話 • 長時間バッチがあと少しというところで例外が発生 • 最初からやり直して運用時間が足りなくなった… • 処理件数が多くなったら急にメモリ枯渇… • 追加でメモリ割り当てて無理やり通した • 例外発生時に中途半端コミット状態になった • リラン復旧ができずに手パッチ運用… • 処理時間が足りないから多重処理しないとダメそう • 実装難易度がいきなり上がってバグった… • 追加で別システムからファイルをもらって処理することになった • 文字コードやI/Oのファイル形式の差でうまく吸収しきれない… こんな経験ありませんか?
  • 10. © 2017 NTT DATA Corporation 10 苦労話って・・・ なぜこんな苦労をするのか?
  • 11. © 2017 NTT DATA Corporation 11 バッチ開発が抱える課題 設計が自由 実装が自由 ノウハウが まとまってない 秘伝のタレ 職人芸 なぜ難しい? バッチ処理には気をつけるポイントがたくさんある
  • 12. © 2017 NTT DATA Corporation 12 TERASOLUNA Batch Framework が解決する課題
  • 13. © 2017 NTT DATA Corporation 13 Spring Framework Enterprise Application Java VM OSS Libraries Spring Batch MyBatis TERASOLUNA Batch Framework 5.x とは バッチ処理に必要な機能/ノウハウを体系化 https://terasoluna-batch.github.io/guideline/
  • 14. © 2017 NTT DATA Corporation 14 TERASOLUNA Batch が用意しているもの ジョブの起動方式 同期実行方式 非同期実行方式(DBポーリング) 非同期実行方式(Webコンテナ)
  • 15. © 2017 NTT DATA Corporation 15 TERASOLUNA Batch が用意しているもの 処理を部品化 / 構造化 処理をまとめて集約 各種機能 • DBアクセス/ファイルアクセス • 多重実行/並列実行 • リカバリ方式(リラン/リスタート) 以降、活用事例をご紹介 ジョブの実装方法
  • 16. © 2017 NTT DATA Corporation 16 事例1
  • 17. © 2017 NTT DATA Corporation 17 純バッチ事例 | 実現したい要件 例1) 純バッチの要件 ・バッチ実行の許容時間は30分 ・純バッチの実行時間が3時間かかる見積り ⇒ バッチ処理を多重実行して、実行時間を短縮 バッチ処理時間見積) 3時間 バッチ許容) 30分 超過 バッチ バッチバッチ バッチ バッチ 処理 多重実行で 実行時間短縮
  • 18. © 2017 NTT DATA Corporation 18 純バッチ事例 | 初心者が考えてみたら・・・ 方式案) 固定件数毎に処理を分割 バッチ 1.起動 処理1 (スレッド1) 処理2 (スレッド2) 処理N (スレッドN) DB ・・・ DB 出身県 性別 名前 年収 東京 男 渋谷 500万 千葉 女 緑 550万 ・・・ ・・・ ・・・ ・・・ N千万件 1~1000万 1001万 ~2000万 2.取得 3.分割&処理 4.一括 コミット ~N000万
  • 19. © 2017 NTT DATA Corporation 19 純バッチ事例 | でもその処理方式って・・・ 方式案) 固定件数毎に処理を分割 バッチ 1.起動 処理1 (スレッド1) 処理2 (スレッド2) 処理N (スレッドN) DB ・・・ DB 出身県 性別 名前 年収 東京 男 渋谷 500万 千葉 女 緑 550万 ・・・ ・・・ ・・・ ・・・ N千万件 2.取得 3.分割&処理 ②途中で異常終了したら、 全てやり直し・・・。 ①一括で取得すると メモリ枯渇してしまう・・・。 4.一括 コミット 1~1000万 1001万 ~2000万 ~N000万
  • 20. © 2017 NTT DATA Corporation 20 純バッチ事例 | でもその処理方式って・・・ 方式案) 固定件数毎に処理を分割 バッチ 1.起動 処理1 (スレッド1) 処理2 (スレッド2) 処理N (スレッドN) DB ・・・ DB 出身県 性別 名前 年収 東京 男 渋谷 500万 千葉 女 緑 550万 ・・・ ・・・ ・・・ ・・・ N千万件 2.取得 3.分割&処理 ②途中で異常終了したら、 全てやり直し・・・。 ①一括で取得すると メモリ枯渇してしまう・・・。 4.一括 コミット 1~1000万 1001万 ~2000万 ~N000万 考慮漏れがないように設計するのは大変・・・
  • 21. © 2017 NTT DATA Corporation 21 純バッチ事例 | TERASOLUNAが提供している処理方式 バッチ 1.起動 処理1 (スレッド1) 処理2 (スレッド2) 処理N (スレッドN) DB ・・・ DB 出身県 性別 名前 年収 東京 男 渋谷 500万 千葉 女 緑 550万 ・・・ ・・・ ・・・ ・・・ N千万件 分割管理 2.分割 「出身県」単位で処理を 分割するように設定 3.各処理が逐次にデータ取得 4.各処理が分割コミット ②既に処理済みのデータは 処理しないため、 異常終了時のリカバリが早い ①必要なデータ分のみ 取得するため、 メモリの使用量の ピークを抑えられる 4. ... 4. ...
  • 22. © 2017 NTT DATA Corporation 22 ユーザが 実装する範囲 純バッチ事例 | TERASOLUNAが提供している処理方式 バッチ 1.起動 処理1 (スレッド1) 処理2 (スレッド2) 処理N (スレッドN) DB ・・・ DB 出身県 性別 名前 年収 東京 男 渋谷 500万 千葉 女 緑 550万 ・・・ ・・・ ・・・ ・・・ N千万件 分割管理 2.分割 4.各処理が分割コミット 4. ... 4. ... フレームワークが 機能を提供 ユーザが 実装する範囲 3.各処理が逐次にデータ取得
  • 23. © 2017 NTT DATA Corporation 23 純バッチ事例 | 開発ガイドライン https://terasoluna-batch.github.io/guideline/5.0.0.RELEASE/ja/Ch08_ParallelAndMultiple.html
  • 24. © 2017 NTT DATA Corporation 24 純バッチ事例 | 開発ガイドライン 方式の活用シーンを明確化! 陥りやすい設計ミス、実装ミスを掲載! 開発ガイドラインにより、各方針のメリット/デメリットを明記し、 実装例も掲載しているため、設計/実装の助けとなりえる 設定ファイル例、実装例が豊富!
  • 25. © 2017 NTT DATA Corporation 25 事例2
  • 26. © 2017 NTT DATA Corporation 26 ディレード事例 | 実現したい要件 例1) ディレードオンラインの要件 オンライン システム ブラウザ バッチ システム リクエスト レスポンス 処理の委託 完了メール通知 バッチ処理 ・DB登録 ・帳票の作成 オンラインの応答性能要件が1秒であり、 帳票の作成は重い処理で性能要件を満たせないため、 ディレードオンラインが採用された。
  • 27. © 2017 NTT DATA Corporation 27 ディレード事例 | 初心者が考えてみたら・・・ 方式案) API実行方式 オンライン システム バッチ システム 完了メール通知 DB 2.ステータス 「処理中」更新 3.API呼び出し 4.バッチ処理 5.ステータス 「完了」更新 1.リクエスト 4’.レスポンス (非同期)
  • 28. © 2017 NTT DATA Corporation 28 ディレード事例 | でもその処理方式って… オンライン システム バッチ システム 完了メール通知 DB 2.ステータス 「処理中」更新 3.API呼び出し 4.バッチ処理 5.ステータス 「完了」更新 1.リクエスト 4’.レスポンス (非同期) ②ステータス更新前に 例外が発生したら…? ①バッチ側がダウンした時はどう返す…? 可用性はどう担保する?
  • 29. © 2017 NTT DATA Corporation 29 ディレード事例 | でもその処理方式って… オンライン システム バッチ システム 完了メール通知 DB 2.ステータス 「処理中」更新 3.API呼び出し 4.バッチ処理 5.ステータス 「完了」更新 1.リクエスト 4’.レスポンス (非同期) ②ステータス更新前に 例外が発生したら…? ①バッチ側がダウンした時はどう返す…? 可用性はどう担保する? 考慮漏れがないように設計するのは大変・・・
  • 30. © 2017 NTT DATA Corporation 30 ディレード事例 | TERASOLUNAが提供する処理方式 方式案) DBポーリング方式 オンライン システム ジョブ DB 2.ジョブ登録 6.バッチ処理 4.ステータス「取得済」更新 1.リクエスト 3’.レスポンス バッチ システム (ポーリング) ジョブのチェック 常駐プロセス 8.ステータス「完了」更新 5.起動 7.終了 3. ②例外時の挙動は フレームワークが 担保している ①可用性は 担保される
  • 31. © 2017 NTT DATA Corporation 31 ディレード事例 | TERASOLUNAが提供する処理方式 方式案) DBポーリング方式 オンライン システム ジョブ DB 2.ジョブ登録 6.バッチ処理 4.ステータス「取得済」更新 1.リクエスト 3’.レスポンス バッチ システム (ポーリング) ジョブのチェック 常駐プロセス 8.ステータス「完了」更新 5.起動 7.終了 ユーザが実装する範囲 フレームワークが 機能を提供 ※他にも、Webコンテナ方式も提供 3.
  • 32. © 2017 NTT DATA Corporation 32 ディレード事例 | 開発ガイドライン https://terasoluna-batch.github.io/guideline/5.0.0.RELEASE/ja/Ch04_AsyncJobWithDB.html
  • 33. © 2017 NTT DATA Corporation 33 ディレード事例 | 開発ガイドライン 方式の活用シーンを明確化! 陥りやすい設計ミス、実装ミスを掲載! 開発ガイドラインにより、各方針のメリット/デメリットを明記し、 実装例も掲載しているため、設計/実装の助けとなりえる 設定ファイル例、実装例が豊富!
  • 34. © 2017 NTT DATA Corporation 34 TERASOLUNA Batch Framework の活用結果 設計が自由 実装が自由 ノウハウが まとまってない 秘伝のタレ 職人芸 なぜ難しい? 気をつけるポイントを開発ガイドラインにより解決
  • 35. © 2017 NTT DATA Corporation 35 TERASOLUNA Batch Framework の構成
  • 36. © 2017 NTT DATA Corporation 36 そもそもタイトルの「新しい」って何? 5.x 以前の TERASOLUNA バッチフレームワーク 新しい TERASOLUNA バッチフレームワーク 2008年 2011年 2017年 3.x2.x TERASOLUNA Batch Framework の歴史 ・機能 ・アーキテクチャ ・機能の強化 ・アーキテクチャの強化 ・ガイドライン(ベストプラクティス) (オレオレフレームワーク) を提供 を提供
  • 37. © 2017 NTT DATA Corporation 37 Spring Framework Enterprise Application Java VM OSS LibrariesSpring Batch MyBatis 3.4.2 4.3.5 3.0.7 TERASOLUNA共通ライブラリ 1.0.0 slf4j 1.7.22 hibernate 5.2.4 ・・・等 Spring IO Platformに準拠した OSSの組合わせを規定 TERASOLUNA Batch Framework 5.x のスタック
  • 38. © 2017 NTT DATA Corporation 38 TERASOLUNA Batch Frameworkの構成要素 •Spring, MyBatisなどのOSSフレームワークソフトウェアフレームワーク •エンタープライズ向けに必要な汎用的な部品共通ライブラリ •OSSを利用したエンタープライズ向けアプリ開発に おけるベストプラクティスドキュメント開発ガイドライン •基本的な開発方法を学ぶ学習教材チュートリアル •基本的な機能を実装したサンプルアプリサンプルAP •プロジェクト構成のひな形ブランクプロジェクト 2017年 リリース 予定
  • 39. © 2017 NTT DATA Corporation 39 TERASOLUNA Batch Frameworkの構成要素 •Spring, MyBatisなどのOSSフレームワークソフトウェアフレームワーク •エンタープライズ向けに必要な汎用的な部品共通ライブラリ •OSSを利用したエンタープライズ向けアプリ開発に おけるベストプラクティスドキュメント開発ガイドライン •基本的な開発方法を学ぶ学習教材チュートリアル •基本的な機能を実装したサンプルアプリサンプルAP •プロジェクト構成のひな形ブランクプロジェクト 2017年 リリース 予定 Spring Batch TERASOLUNA Batch Framework の強み
  • 40. © 2017 NTT DATA Corporation 40 • 各機能の詳細解説 • チュートリアル(学習コンテンツ) 理解しやすいように、 図を多数記載 • コードサンプル • 検証済みで品質確保された開発方法のベストプラクティス 流用して開発できるように コードサンプルを多数記載 コードサンプルの解説も記載 • コードサンプル • エンタープライズ向けの実践的な開発ノウハウ 各機能の拡張方法も記載 Note、Tip、Warning、Hintなど、 実践的な開発ノウハウを多数記載 実装方法とその根底 にある考え方も記載 ①基本知識の習得、AP基盤の検討 ③FWの拡張方針検討 ④AP基盤の設計・製造 ②実現性検証 TERASOLUNA Batch Framework の活用例
  • 41. © 2017 NTT DATA Corporation 41 TERASOLUNA Framework
  • 42. © 2017 NTT DATA Corporation 42 TERASOLUNAとは Process Environment Support 蓄積されたノウハウ を展開するための 研修や教育サービス サポート 数多くのシステム開発で 培ったノウハウを盛り込んだ 標準開発手順・管理手順 標準手順 ソフトウェアを開発する際の 雛形になるフレームワーク と開発を支援するツール 開発環境 数多くのシステム開発実績をもとにした「標準手順」「開発環境」「サポート」を トータルで提供しており、TERASOLUNAを活用することで、 高品質なシステム開発が実現できます。 TERASOLUNAとは、NTTデータのシステム開発を支える オープン系システム開発のための総合ソリューション
  • 43. © 2017 NTT DATA Corporation 43 TERASOLUNAフレームワークとは? 業務アプリケーション Spring Framework iBATIS 独自フレームワーク層 業務アプリケーション Spring IO Platform Spring Security Spring MVC JPA MyBatis 1. 各種OSSをベースとしつつも、 独自フレームワークの開発に注力 2. 機能説明書を提供 1. グローバル標準のOSSを組み合わせ、 独自部分を極小化 2. OSSの機能を最大限に活かして開発するため のベストプラクティスを提供することに注力 開発ガイドライン開発ガイドライン エンタープライズ利用における当社知見をベースに、 Springを最大限活用したグローバル標準のフレームワークへ Spring Framework
  • 44. © 2017 NTT DATA Corporation 44 TERASOLUNAフレームワークのラインナップ Spring Framework Enterprise Application Application Server Spring MVC Spring Data JPA Spring Security Spring Framework Enterprise Application Java VM OSS Libraries Spring Batch TERASOLUNA Server FW for Java 5.x TERASOLUNA Batch FW for Java 5.x NEW 2015年 2月 リリース 2017年 3月 リリース Server 5 / Batch 5 は出来る限り同じ技術要素を利用している MyBatis MyBatis
  • 45. © 2017 NTT DATA Corporation 45 昨年度のJJUGで TERASOLUNA Server Frameworkを紹介 オンライン処理の開発者・アーキテクトが抱える課題を 開発ガイドラインで解決策を解説 https://www.slideshare.net/jjug/javaspringterasoluna-jjugccc-cccf3
  • 46. © 2017 NTT DATA Corporation 46 おわりに
  • 47. © 2017 NTT DATA Corporation 47 是非アクセスしてください! TERASOLUNA Batch Framework for Java (5.x) https://terasoluna-batch.github.io/ 検索
  • 48. © 2017 NTT DATA Corporation 48 最後に TERASOLUNA Frameworkに興味がある方は下記までご連絡ください TERASOLUNA窓口 E-mail: terasoluna@am.nttdata.co.jp NTTデータは今後もJavaアプリケーション開発の ベストプラクティスをOSSで提供し続けます エンタープライズJavaシステム開発で積極的に活用し、 情報交換やコミュニティ活動を活発化して さらなるJavaの発展、繁栄に向けて共に歩んでいきましょう。
  • 49. © 2017 NTT DATA Corporation