MADlib には、sparse(疎)な配列、つまり多くの要素がゼロであるような配列を扱うデータ型として svec というデータ型があります。
- MADlib: Sparse Vectors
https://madlib.incubator.apache.org/docs/latest/group__grp__svec.html
■「MADlib」とは何か
MADlib については、ガッツリと割愛します。以前のエントリで詳しくご紹介しましたので、そちらを参照してください。
- データ分析用ライブラリ MADlib を使って PostgreSQL で機械学習する
http://pgsqldeepdive.blogspot.jp/2016/04/madlib-postgresql.html
■「svec」 とは何か
svec は、ゼロの多い sparse な配列を圧縮して保持するデータ型です。データ分析をしていると、頻繁に遭遇するデータの構造になります。
例えば、float8 の配列で以下のようにゼロが並ぶデータがあったとします。
'{0, 33,...40,000個のゼロ..., 12, 22 }'::float8[]