【发布时间】:2015-05-07 11:07:33
【问题描述】:
我正在研究存储来自许多客户端的日志文件的最佳基础架构。
Google App 引擎提供了一个不错的解决方案,它不会让流程成为 IT 的噩梦:负载平衡、分片、服务器、用户身份验证 - 几乎零配置一次完成。
但是,我想知道 Datastore 模型是否适合存储日志。每个日志条目应保存为单个文档,其中每个客户端每天上传其文档,并且每天可以包含 100K 的日志条目。
另外,还有一些限制和问题可能会打破要求:
- 批量事务超时 60 秒 - 我每秒可以插入多少个日志条目?如果 100K 不适合 60 秒的帧 - 这将影响设计和需要投入服务器的工作。
- 每个实体每秒 5 次插入 - 事务是否被视为单次插入?
- 后分析 - 文本搜索,跨客户端搜索类似的日志条目。使用这些查询时,Datastore 的灵活性和效率如何?
- 实时数据获取 - 获取所有最近的日志条目。
另一种选择是在 goole 计算上部署一个 elasticsearch 集群,并自行编写从 ES 获取数据的服务器。
谢谢!
【问题讨论】:
-
2. 写入限制针对每个实体组。 3. - 这是您将遇到数据存储问题的地方。另一方面,BigQuery 支持批量或流式插入,以及具有正则表达式支持的类似 SQL 的查询接口——所有这些都只需要最少的配置。
-
我认为 Google BigQuery 更适合用于存储和处理日志
-
实体组的表现与这里无关。
标签: google-app-engine elasticsearch google-cloud-datastore