ODCの新機能、Data Fabricがリリースされたので、現時点で手に入る情報源とその概要をメモしておく。
Data Fabricは、ODC外のデータソース(RDB、Salesforce、SAPなど)に対するコネクタを定義し、ODCとその外部リソース間の仮想的なレイヤーとして機能することで、データの集約とアクセスを提供するもの。
Table of Contents
マーケティング系ページ(技術情報は薄いのであまり真面目に見なくてよいと思う)
プレスリリース
Event Driven Architectureと同時にプレスリリースが出ている。
OutSystems, a global leader in high-performance application development, announced one of the most significant updates to OutSystems Developer Cloud since its initial release.
とあり、重要な機能追加と認識されているようだ。
その他に気になるのは、
- キャッシュの仕組みが組み込まれている:関連ソースの種類が多くなると、どれか1つが障害発生中、みたいなことが増えると思うので、キャッシュは当然備わっているようだ。どの程度のコントロールができるかがポイント
- コネクタが特徴の1つとして挙げられているので、コネクタとData Fabricの関係は=ではなく、コネクタがData Fabricの一部という位置づけか
マーケティング用ページ(https://outsystems.com/low-code-patternの下)
From data headache to data harmony with OutSystems Data Fabric
「Your data, your security, your way」というセクションに動画があり、Data Fabricの説明をしている。ただ、「ODC PortalでConnectionを作り(Private Gatewayを使ってオンプレミスにあるデータにも安全にアクセスできる)、対象データを選択し、選択したデータはODC Studioで利用できる」という、外部データソースそのものの説明になっている。
「Frequently asked questions」から以下のことが読み取れる
- Data Fabricで取り込んだ各データはEntityにマッピングされ、Aggregateでのアクセスもできる
- 外部システムから持ってきたデータは、いったんメモリ(Kubernetesのpodのメモリや、インメモリデータベースと記載有)に保存されてから、Appに送信される
ドキュメント
Cloud-native architecture of OutSystems Developer Cloud – Customer data handling in Data FabricにData Fabricの記述が追加されていた。
このドキュメントから以下のことが読み取れる
- 外部RDBに接続するコネクタ配膳からあった。これらのコネクタに、今回リリースされたSAP OData、Salesforce、PostgreSQLへのコネクタを加えて、「Data Fabric Connector」という位置づけになった
- 外部から持ってきたデータはいったんメモリに保存。保存されるデータはバイナリ形式で人間がそのまま読める形式ではない
- クエリパラメータ:KubernetesのPodのメモリとインメモリデータベース。クライアントが結果を利用すると消える。保持期間は約5分
- 検索結果:KubernetesのPodのメモリに保持。retentionは5分だが、クエリパラメータと同じと書いてある。これだと、結果がメモリにあることによって、多重に利用されるときのパフォーマンスにどの程度影響があるかは不明
- メタデータ:KubernetesのPodのメモリとインメモリデータベース。接続している間保持される
- キャッシュ機能があるが、クエリの結果はキャッシュされないようだ。パフォーマンスへの影響は限定的かもしれない
- メタデータはキャッシュされる(コネクションの作成時に)
- クエリの実行計画はキャッシュされる(結果ではない)
- クエリはログに記録される。結果は記録されない(この動作は、External Databaseの検証をしていたときに確認していた。そのときはTracesに出力されていたが)