【问题标题】:Use JQuery with Datastore tables? (pricing question)将 JQuery 与数据存储表一起使用? (定价问题)
【发布时间】:2020-08-16 20:40:49
【问题描述】:

我正在使用 GAE + Google Datastore / flask / python / bootstrap 开发一个应用程序,需要一些帮助来弄清楚(从定价的角度)如何在这个应用程序中查询和过滤数据。

我需要为应用提供在 Google 数据存储表中搜索数据的能力。例如,仅显示提及“xyz”的产品或订单;这些表每个可以增长到 10K 个实体。文本“xyz”可以在任何表格列中。用户可能还想在任何列上对表格进行排序。

文档和教程中充满了 Datastore 查询,“为了节省成本”,实体限制为 10 个。 所以,当显示例如订单表,默认情况下我只能显示最近的 10 个订单。只有当用户需要查看更多订单时,我才能去查询它们。而且我也只能显示按产品 ID 订购的前 10 个产品,并在需要时查询更多。这将降低成本,但会使编码变得复杂,因为要搜索所有提到“xyz”的订单或产品,我需要每次遍历 10 个(可能更多)实体的查询,并通过它们的所有属性应用过滤器。并且一一进行所有这些查询可能会降低响应速度。

另一方面,我可以一次加载整个订单表,并使用 bootstrap + jquery 显示它。只需最少的编码工作,我将提供一个表格,用户可以在其中搜索所有字段,有标签,可以轻松排序等。

从美学、用户体验和编码的角度来看,我更愿意每次都检索整个表并用 bootstrap + jquery 呈现它,但我害怕安装成本:如果说 10K 个订单表打开 100 次一天,我每天将检索 100 万个实体。那将是每月大约 150 美元,我需要向我的潜在客户收取费用。

那么,这方面的最佳做法是什么?

提前致谢!

【问题讨论】:

  • 我认为这将是您的最佳匹配。 datatables.net
  • 嗨 Monzoor,datatables.net 看起来很棒。但我仍然会关心定价,因为每次用户想要查看时我都需要下载整个表格。
  • 请浏览文档。它有您需要的解决方案。如果获取数据,您只需要创建一个 API 端点。 Datatable 将为您处理。
  • 嗨 Monzoor,我确实浏览了文档,这正是我正在寻找的。你知道任何使用 Python 将 DataTables 连接到 DataStore 的例子吗?

标签: jquery performance google-app-engine google-cloud-datastore


【解决方案1】:

您需要处理 2 个问题:(1) 定价和 (2) 用户体验(从数据存储区检索 10,000 个实体需要大量时间)。

最佳做法是只获取您需要在屏幕上显示的内容(例如,一次 10-100 个实体)。当用户做某事时,然后根据用户想要的内容进行另一个查询。例如,如果用户点击“下一步”按钮,那么您将获得下一组实体,或者如果用户按列排序,那么您将获得按该值排序的实体。

这样,您的成本会更低,用户应该会在 1 秒内看到结果,而不是 30 秒(这是一个非常粗略的估计)。

【讨论】:

  • 有关如何实现增量查询的参考,我建议查看query cursors 上的文档。此外,keys-only queries 可用于手动分页,projection queries 可用于仅检索某些实体字段,其优点是这些操作通常更快并且作为单次读取收费。
猜你喜欢
  • 2016-03-30
  • 2019-01-03
  • 2012-12-23
  • 2015-06-28
  • 2011-10-04
  • 2015-03-24
  • 2017-12-13
  • 1970-01-01
  • 2018-10-24
相关资源
最近更新 更多