Suche senden
Hochladen
新しいTERASOLUNA Batch Frameworkとは
•
0 gefällt mir
•
1,326 views
A
apkiban
Folgen
JJUG CCC2017の講演資料です。TERASOLUNA FWのバッチ導入の参考にご活用ください。
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 49
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
apkiban
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
日本Javaユーザーグループ
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
NTT DATA Technology & Innovation
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
apkiban
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方
Hirofumi Iwasaki
Weitere ähnliche Inhalte
Was ist angesagt?
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
apkiban
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論
Hyperleger Tokyo Meetup
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
Yoshiyasu SAEKI
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
NTT DATA Technology & Innovation
Spring Integration 超入門
Spring Integration 超入門
Yasutaka Sugamura
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
大規模データ処理の定番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 バッチは地味だが役に立つ
Yuichi Hasegawa
Cassandra における SSD の活用
Cassandra における SSD の活用
Yuji Ito
シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析
Yohei Azekatsu
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
Satoshi Nagayasu
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
Was ist angesagt?
(20)
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Spring Integration 超入門
Spring Integration 超入門
At 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 発...
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
Cassandra における SSD の活用
Cassandra における SSD の活用
シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
Ähnlich wie 新しいTERASOLUNA Batch Frameworkとは
バッチは地味だが役に立つ
バッチは地味だが役に立つ
apkiban
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
ソフトウェア品質シンポジウム
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
InnovationSprint2011
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
Naoki Ohsugi
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
apkiban
Talend 2013年概要
Talend 2013年概要
Talend KK
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
NTT DATA Technology & Innovation
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
Daichi Egawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
Insight Technology, Inc.
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
Insight Technology, Inc.
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
正善 大島
バックアップ勉強会#1 バックアップ基礎
バックアップ勉強会#1 バックアップ基礎
MKT International Inc.
de:code2018 登壇資料
de:code2018 登壇資料
Hiroshi Senga
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PC Cluster Consortium
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNA
仮想化・クラウド環境利用メリットを最大化する運用管理とは
仮想化・クラウド環境利用メリットを最大化する運用管理とは
Hinemos
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
Takeo Hirakawa
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Insight Technology, Inc.
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
NTT DATA Technology & Innovation
Ähnlich wie 新しいTERASOLUNA Batch Frameworkとは
(20)
バッチは地味だが役に立つ
バッチは地味だが役に立つ
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
Talend 2013年概要
Talend 2013年概要
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
[C32] 正確でスピーディーな決断を促す、日立の高速データアクセス基盤~性能検証事例と活用効果~ by Taichi Ishikawa
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
C22 スプリットブレインになっても一貫性を保証するインメモリデータグリッド製品 by Taichi Umeda
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
バックアップ勉強会#1 バックアップ基礎
バックアップ勉強会#1 バックアップ基礎
de:code2018 登壇資料
de:code2018 登壇資料
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
DeNAのインフラ戦略 〜クラウドジャーニーの舞台裏〜 [DeNA TechCon 2019]
仮想化・クラウド環境利用メリットを最大化する運用管理とは
仮想化・クラウド環境利用メリットを最大化する運用管理とは
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
Classmethod共催IT部門向け Tableauを活用した全社レベルのデータ民主化とガバナンス
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
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 nttdata
Mehr von apkiban
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
apkiban
What happens in Spring Cloud Netflix
What happens in Spring Cloud Netflix
apkiban
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
apkiban
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
apkiban
TERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO Platform
apkiban
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
apkiban
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わる
apkiban
Mehr von apkiban
(7)
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
What happens in Spring Cloud Netflix
What happens in Spring Cloud Netflix
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
TERASOLUNA 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へ ~
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
Jetzt herunterladen