【发布时间】:2015-05-30 11:15:04
【问题描述】:
我正在使用官方 PHP API SDK 和“tomwalder/php-gds”与 Google Datastore 进行交互。
Google 数据存储区(和 GQL)非常适合我处理的 99% 的数据(列数少、数据结构一致、数十亿行),除了少数查询。
我遇到的最大问题是将这条 SQL 语句转换为 GQL:
SELECT column_a, ROUND(SUM(column_b),0) as total_score, COUNT(column_a) as company_name
FROM companies
WHERE column_a <> '' AND column_c = '2015-05-30'
GROUP BY column_a
ORDER BY total_score desc;
如果 GQL 中没有 ROUND、SUM 或 COUNT,那么将数据缓冲到内存并使用 PHP 运行计算是唯一的选择吗? 每个查询有 20MB 的数据,这似乎不是最有效的途径。我真的不想迁移到 BigQuery,因为我喜欢 Datastore 在读取数据时的响应能力。
【问题讨论】:
-
您考虑过CloudSQL 吗?
标签: php google-app-engine