从端点获取相关矩阵的最佳方法
Best way to get a correlation matrix from an endpoint
目前,我在 Google Firebase 上保存相关性。结构看起来有点像这样:
{a: {a: 1.0, b: 0.6, c: -0.3, ...}, b: {a: 0.6, b: 1.0, c: -0.5, ...}, ...}
我想高效地检索完整的相关矩阵,但我也想自由地 select 项目的任意组合。
我有一个可行的解决方案,例如,
“[GET]: /correlations/a/b”,但正如您可以想象的那样,我多次调用端点来下载完整的相关矩阵,即使我已经通过代码调用“/correlations/a/b”+“[=”省略了23=]”和“/correlations/a/a”。
我在创建 post 之前阅读过,我也可以使用带有正文的 [POST] 请求来下载矩阵,只需调用端点一次。但是,这是好的做法吗?有没有更好的方法来解决这个问题?
提前致谢!
您可以对 return 输出进行批量请求。您可以在 GET 请求中使用任一参数来获取相关性
/api?q1=cor(a,b)&q2=cor(b,c)
或者您可以使用 post 请求
/api
where body = {"correlation vars": [(a,b), (c,d)]}
- 尝试设计API更具可读性。
- 如果您希望传递复杂的查询,那么 POST 请求可能是更好的选择。
- 可以使用 GET 请求中的参数创建更简单的查询
- 使用 gZip 或字节数组压缩数据,因此 I/O 调用速度更快。许多框架都为此提供构建支持。
- 根据您的要求衡量 CPU 计算和 I/O 调用成本之间的权衡。
目前,我在 Google Firebase 上保存相关性。结构看起来有点像这样:
{a: {a: 1.0, b: 0.6, c: -0.3, ...}, b: {a: 0.6, b: 1.0, c: -0.5, ...}, ...}
我想高效地检索完整的相关矩阵,但我也想自由地 select 项目的任意组合。
我有一个可行的解决方案,例如, “[GET]: /correlations/a/b”,但正如您可以想象的那样,我多次调用端点来下载完整的相关矩阵,即使我已经通过代码调用“/correlations/a/b”+“[=”省略了23=]”和“/correlations/a/a”。
我在创建 post 之前阅读过,我也可以使用带有正文的 [POST] 请求来下载矩阵,只需调用端点一次。但是,这是好的做法吗?有没有更好的方法来解决这个问题?
提前致谢!
您可以对 return 输出进行批量请求。您可以在 GET 请求中使用任一参数来获取相关性
/api?q1=cor(a,b)&q2=cor(b,c)
或者您可以使用 post 请求
/api
where body = {"correlation vars": [(a,b), (c,d)]}
- 尝试设计API更具可读性。
- 如果您希望传递复杂的查询,那么 POST 请求可能是更好的选择。
- 可以使用 GET 请求中的参数创建更简单的查询
- 使用 gZip 或字节数组压缩数据,因此 I/O 调用速度更快。许多框架都为此提供构建支持。
- 根据您的要求衡量 CPU 计算和 I/O 调用成本之间的权衡。