データ駆動型DX基盤を創る（補足編1）

# 今回は、前回の補足を少し・・・
前回は、**「データ駆動型DX」** を効率良く実現し、持続発展可能な高い投資対効果を実現するための、一つのアイディアとして **「分担データシステム」** を提案させて頂きました。今回は、前回の内容に関する補足的な解説少々と、少し視点を変えれば **「データ駆動型DX基盤」** は、意外にシンプルに実現出来る・・かも・・というお話をさせて頂ければと思います。

# バッチ処理が全ての前提なのか？
現在稼働している多くのデータ利活用ケースでは、 **バッチ起点のデータ処理が基本** になっているかと思います。勿論、電算・OA起点でスタートした既存の電子帳簿型システムの場合は、原則・基本的に **データの入力・検索・参照・修正を前提に創られている** 事が殆どであり、その延長線上の進化過程において、この領域の電子化による劇的な実務作業現場の合理化を強力に実現・推進してきた！という、厳粛なる事実が有りますので、既存系データベースシステムのスタート時点における　**当初の目的は有る意味で十二分に果たされている** 状況だと言えるでしょう。

#### ここで素朴な疑問が・・・
では、その仕組みの設計時点に **昨今のBIや機械学習＆AI、またオンライン・オンタイムマーケティング等に対するデータ供給など** の後付けトランザクションが当初の要件定義に含まれていたのでしょうか？

勿論、現実的には既に夜間バッチ処理などを使って、**DWH等の仕組みの方へデータを展開する事で「後付けのトランザクション問題」を上手に回避する** アプローチも一般化しているかと思いますし、それを前提とした **時間方向に締まったデータに対する過去反省系のデータ利活用** は充分機能している状況なのかもしれません。

## 時系列情報をリアルな時系列で取り扱う
さて、このバッチ処理を使って **データを予め可能な範囲で事前処理・準備を行い、その後に利用者が接続するデータ環境に送り込んで置く定型作業** において、 **データの時系列と処理作業の時系列を合わせる事が可能なのでしょうか？** 　また、この時差前提の仕組みによって、何か仕組み側の制限による **「データ処理やユーザニーズに対する諦め事項」は発生していないのでしょうか？** という素朴な疑問が生まれてきます。

勿論、以前の環境でも **「専用・特化の作り込み系ハイコスト開発」** を行えば、リアルタイムでデータを・・・的な処理を現場で実現する事は可能だと思いますが、特に昨今の各種のアプリ系サービス関連での24時間365日対応（しかも、現在は5G、wifi6等の高速常時接続前提・・）や、変化が激しく事前の想定・要件定義で固める事が逆にリスキーになってきた状況において（XXXOps的なアプローチも含め）、 **データ処理に対する高度な柔軟性と変化への即時対応性の確保** は、特に今回のテーマである **「データ駆動型DX基盤」** において、有る意味 **極めて肝の部分として顕在化してきている** かと思います。

そして、それらをシンプルに既存系の用語を使って表現すれば・・・

**リアルタイムDWH/DLが普通にサクッと！実現出来たら・・**

という事になるのかもしれません。

## 一般的なバッチ系処理の場合
現在の多くのケースで、 **集計処理を拡張する形でのデータ利活用の為のDWH向けに仕組みが構築されている** かと思います。勿論、この前提には **「データが無ければ処理が出来ない」** というデータ処理界の宿命が存在していますので、この **存在しないデータを取り扱う事は無い前提** は極めて普通の想定だったのかと思います。

![スクリーンショット 2022-07-16 9.47.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197589/35a26929-d604-2c4b-d3ba-b3718de49af2.png)

ですので、就業時間中は「実在するデータ処理に集中する」形で作業を行い。仕組み的に規定したタイミングで「効率的に、一気に、全部処理して送る！」という事で、

![スクリーンショット 2022-07-16 9.47.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197589/1ec0821b-a5c8-80a0-3599-c733d9022897.png)

という形式がデファクト・スタンダード化したのでしょう。

#### 方式の善し悪しではなく、出来る範囲のベストの仕組みを作ったらこうなった・・・

が現実なのかもしれません。

## 例えば、存在しないデータを扱うということ・・
さて、結果確認志向でのデータ処理に関しては、この方法が有る意味で完璧であるかと思いますが・・・・・例えば機械学習を活用して未来予測を・・・というDX的なデータ処理を想定した場合、 **「何時までのデータを学習させるのか？」というジレンマ** に陥るかと思います。従来型の手法の場合、オリジナルデータの誕生時間から仕様化された時差を経過して、始めて利活用の対象として次のプロセスに引き渡すという形になりますので、どうしても **「変化の兆候を捉える」というトリガー的な行為が遅れてしまう** 形になってしまいます。

また、時系列未来予測をAIで行おうとした場合、 **データ時差に起因する制限** として、どうしても **時系列的に幅を持たせたマクロ的な処理になりがち** です。しかし・・

**変化の兆しは、変化のタイミングの極めて至近から始まる・・・**

と仮定するのであれば、出来るだけ予測タイミングの近く迄のデータを使えると同時に、幾つかの異なる想定での学習を並行に走らせながら並列的に時系列未来予測結果を得る・・・と言う作業がサクッと！実現すれば、素人目に見ても「データ駆動型DX基盤」としては非常に使い勝手が良い世界をであると言えるでしょう。

時系列の取り扱いを、極めて今に近い所まで

**データの質や量を諦めず、**
**実効タイミングや並列処理を諦めず、**　
**本能の赴くままに利活用する！**

これが普通に狙えるデータ駆動型DX基盤・・・が重要な理由になります。

# 分担データシステムという選択・・・
そこで、前回提案させて頂いた「分担データシステム」というコンセプトになります。

ポイントはシンプルで・・・・

**現場で起きているデータ変化を即時にDX側のデータベースに同期**

これは、Equalumを間に設置するだけで、シンプルに即時同期が可能になりますし、例えばオンプレミス側で維持管理している既存系の電子帳簿型システム上データを、EqualumのCDCレプリケーション機能を活用して、即時に遠隔地のBCP用データベースに反映させる事も出来ます。

![スクリーンショット 2022-07-16 11.08.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197589/72510c8b-3575-f4f3-aab5-2fc53dabfef3.png)

因みに、**Equalumは、オンプレ側でもリモート側でも設置が可能**です。

# バッチ処理をDX側のデータベースで実行する
今までは、DWH等へ処理済みのデータを転送する目的と化していたかと思いますが、分担データシステムでは **DX側のデータベースがDXを全力でドライブする「データ・コンピューティングエンジン」になります** ので、その上にサイロの壁を越えて即時展開されるデータに対して、 **バッチ処理本来の「データ集計系処理」に完全フォーカスさせた実装** が可能になると同時に、 **現業側の日常データ処理に対して後付けのトランザクション負担を強いる事がありません** ので、今までの巨大なデータシステム構築（DWHなど）の様な **「事前に全てを想定・規定して準備しておく」系のアプローチではない** 、良い意味でデータ処理に対して「出たとこ勝負」的なアプローチが可能になります。

## データ・コンピューティングとしての構築
勿論、データベースの仕組みではなく、 **データ・コンピューティング** の仕組みを意識した構成にする必要が有りますが、現在OSS系の皆様の絶大なるご尽力の賜物で、非常に使い勝手のよい周辺環境が手に入る様になっていますので（この辺を専門に提案されるインテグレーションビジネスも新たに創出（ **DI** :DXインテグレータ、Dataインテグレータ）)されて行くかと思います。

分担データシステムにおける役割特化で、H/W仕様や利用ソフトウエアを効果・効率的に組み合わせて、 **スケール出来るデータ駆動型DX基盤** にされれば良いかと思います。

既存の環境との **トランザクション・コンフリクトを避ける** 為の仕組み都合の運用や、データ転送準備や移動の為のバッチ処理向けの仕様構成ではなく、 **安心安全な電子帳簿型システム特化の現場側業務システム** と、 **適材適所・適宜適量な本来のデータ利活用の為の攻めのバッチ処理や最新のデータ駆動型DX系ソリューションを、最大効率・性能でオンタイム・オンデマンド利用出来るコンピューティングに振り切った仕様のDX側データベース構成** がポイントになるかと思います。

**分担データシステム** はシンプル＆クールにデータ駆動型DXを実現すると同時に、そのの可能性を最大化し、更に持続発展可能な形で大きく進化させる事が出来ると同時に、基盤の標準化を進める事による **DXアプリケーションの内製推進にも寄与出来る** ようになるでしょう。

# 今回のまとめ
データ駆動型DXも、シンプルに・・極めて単純に「現場のデータが無ければ何も出来ない」ですし、「ジャストインタイムに間に合わなければ、普通に後の祭り」になってしまいます。データの即時・低遅延同期が仕組みの導入（インストール）だけで基本部分をノーコードで構築出来る時代ですので、適材適所・適宜適量なデータ駆動型DXの構築も、今までとは根本的に発想を変えたアプローチが重要です。

![Demo5 (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197589/b05354dd-5351-8007-f072-5931a003744e.gif)

既に既出の動画になりますが、この可視化対象のテーブルの中で（個別のDBテーブル毎に1個チャートを割り当てています）、リアルにデータが変化しているのは「左側の上から5個の棒グラフ」だけで、その他のチャートは分担データシステムの中でEqualumが即時同期処理（CDCストリーミングとCDCレプリケーション）でETL的なデータ処理を行いながら各ターゲットに対してデータを着地させている状況になります。

因みに、円グラフ側のテーブルに対するトランザクション負荷は、一切オリジナル側に影響を及ぼしませんので、それぞれのDBがオンタイム・オンデマンドでデータ駆動型DXに関わる処理を担当することが可能です。

この点を是非記憶の片隅に置いて頂き、データ駆動型DX基盤をどうする！の際には分担データシステムのコンセプトを思い出して頂ければ幸いです。

# 謝辞
本検証は、Equalum社,SingleStore社,insightsoftware社の全面バックアップにより実施しています。この貴重な機会を提供して頂いた3社に対して感謝の意を表すると共に、本内容と各社の公式ホームページで公開されている内容等が異なる場合は、3社の情報が優先する事をご了解ください。

[データ駆動型DX基盤を創る](https://qiita.com/wadaken1961/items/535d960961f64a98735f)
[データ駆動型DX基盤を創る（補足編2）](https://qiita.com/wadaken1961/items/dc579f358f21f6c67a7b)