メインコンテンツまでスキップ
バージョン: 1.0.0

Metrics

MetricsとはNewtZeroで扱うデータのカラムのことを指します。 例えばユーザデータにはメールアドレス、氏名、生年月日などのデータが含まれます。NewtZeroではこれらを全てMetricsとして扱います。ユーザはデータカタログを見ながら目的のデータを読み出します。共通化されたデータ構造によってAI・分析やアプリケーションでデータを横断的に扱うことが容易になります。

この章ではMetricsの詳細機能について説明します。

Metricsとデータカタログ

Metricsはデータカタログとしての用途も満たします。 NewtZeroではデータの定義としてMetricsを用います。 カラム名、データの型はMetricsとして管理され、データカタログとして閲覧できます。

開発者や、分析者はこのMetrics一覧を閲覧することで、ER図などを参照しなくてもデータを読み出すことが可能になります。

カラムの共通化

データの仮想化によるメリットの一つはデータの共通化です。 共通化は異なるデータソースやデータベース間でのデータ整合性を確保するための手法です。

様々なシステムのデータの連携を行う際、同じ意味のデータでもカラム名がバラバラなことがあります。 例えば"氏名", "個人名", "名前", "お名前"といったように人物の名前を表す名称は日本語でも様々です。

Metricsによってカラムは共通化されます。 共通のカラムを定義することで、データの標準化が実現されます。 対応するカラム同士をマッピングすることで、データの変換や統合がスムーズに行えます。

データの仮想化のメカニズム

ここではデータが具体的にどのように仮想化されるかを説明します。 まずは実際の例を示します。

API名概要説明
データ型各データがどのような型(文字列、数値、日付など)であるかを示す情報

APIに送るデータ

{
name:{
first: "Hiroshi",
last: "Fujiwara",
},
born: 1990
}

実際に保存されるデータ

{
contents:{
rawdata:{
name:{
first: "Hiroshi",
last: "Fujiwara",
},
born: 1990
},
optdata:{
non_numeric_name:{
non_numeric_first_name: "Hiroshi",
non_numeric_last_name: "Fujiwara"
}
numeric_born_year: 1990
}
}
}

このように送ったデータ自体はcontents.rawdataに保存され、contents.optdata以下に仮想化された情報が保存されます。 仮想化はMetricsの情報に基づき、対応するカラム名がマッピングされます。

例えば氏名,名前,FullNameなど人の名前の項目名がバラバラでも、共通化されることでデータの扱い方が簡単になります。

データカタログ

Metricsはデータカタログとも呼ばれています。 Metricsは仮想化の際に使用する辞書情報になります。 NewtZeroでは受け付けたデータはMetricsテーブルのデータに基づいて自動で仮想化され、保存されます。

メトリックのドキュメント(レコード)には以下のような情報が含まれます。

フィールド内容
valueMetricsの名称non_numerc_personal_name
means共通化する名称["氏名", "個人名", "名前", "お名前"]

共通化後のカラム名をvalueに、共通化したい項目名をmeansに設定して活用しています。