rest - 如何正确公开 Cassandra 实体的 REST API
问题描述
虽然我知道不建议公开依赖于数据库的 ID,而且使用经典关系数据库似乎很容易避免,但我想知道在使用要避免搜索索引和复杂(长)复合的 nosql 数据库时如何避免性能影响密钥不应该暴露在端点上。
例如,在 Cassandra 中,可用查询链接到数据库模式,因此在不添加索引的情况下,如何实现对此类实体进行操作的 API 以及相应的(非常长的复合)ID?
例如,如何实现 REST API 来检查表中是否存在如下所示的条目:
TABLE A (
...,
PRIMARY KEY ((pk1, pk2), ck1, ck2, ck3, ck4, ck5)
)
相应的端点看起来像这样(或者至少在某个地方包含 URL 中的所有主键组件)
GET /v1/A/pk1/pk2/ck1/ck2/ck3/ck4/ck5
这看起来很复杂,如果查询项目列表会很快导致很长的 URL。
这个问题一般是怎么处理的?
解决方案
推荐阅读
- excel - 有没有办法为选定范围内的特定单元格输入文本?
- java - 为什么我的 com.vaadin.UI 导入无法解析?
- node.js - 如何在 REACT 中为我的 Axios 路由创建一个单独的文件夹,这些路由连接到我的 node.js
- amazon-web-services - 使用请求或直接 DynamoDB 对象从表中检索项目?
- image - 如何使用我的令牌 Vue JS 上传我的图像文件
- dart - 如何更改最小化时出现的颤动应用程序的主题
- r - 如何将二进制文件作为 nx1 数组导入 R
- typescript - js 需要导入 .ts 文件而不是 .js
- ajax - 结合 AJAX 和 API 调用
- css - 在 flexbox 布局中指定最小宽度