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テーブルのデータに基づいて自動で仮想化され、保存されます。
メトリックのドキュメント(レコード)には以下のような情報が含まれます。
フィールド | 内容 | 例 |
---|---|---|
value | Metricsの名称 | non_numerc_personal_name |
means | 共通化する名称 | ["氏名", "個人名", "名前", "お名前"] |
共通化後のカラム名をvalue
に、共通化したい項目名をmeans
に設定して活用しています。