【问题标题】:Is google Datastore recommended for storing logs?是否推荐使用 google Datastore 来存储日志?
【发布时间】:2015-05-07 11:07:33
【问题描述】:

我正在研究存储来自许多客户端的日志文件的最佳基础架构。

Google App 引擎提供了一个不错的解决方案,它不会让流程成为 IT 的噩梦:负载平衡、分片、服务器、用户身份验证 - 几乎零配置一次完成。

但是,我想知道 Datastore 模型是否适合存储日志。每个日志条目应保存为单个文档,其中每个客户端每天上传其文档,并且每天可以包含 100K 的日志条目。

另外,还有一些限制和问题可能会打破要求:

  1. 批量事务超时 60 秒 - 我每秒可以插入多少个日志条目?如果 100K 不适合 60 秒的帧 - 这将影响设计和需要投入服务器的工作。
  2. 每个实体每秒 5 次插入 - 事务是否被视为单次插入?
  3. 后分析 - 文本搜索,跨客户端搜索类似的日志条目。使用这些查询时,Datastore 的灵活性和效率如何?
  4. 实时数据获取 - 获取所有最近的日志条目。

另一种选择是在 goole 计算上部署一个 elasticsearch 集群,并自行编写从 ES 获取数据的服务器。

谢谢!

【问题讨论】:

  • 2. 写入限制针对每个实体组3. - 这是您将遇到数据存储问题的地方。另一方面,BigQuery 支持批量或流式插入,以及具有正则表达式支持的类似 SQL 的查询接口——所有这些都只需要最少的配置。
  • 我认为 Google BigQuery 更适合用于存储和处理日志
  • 实体组的表现与这里无关。

标签: google-app-engine elasticsearch google-cloud-datastore


【解决方案1】:

使用数据存储是个坏主意,如果在比较性能时使用带有父/子的实体组作为评论提及,则更糟。 这些数字不适用,但数据存储区根本不是为您想要的而设计的。 bigquery 是你想要的。如果您以后想以类似 sql 的方式分析日志,它专门为此而设计。任何更多细节都需要您提出具体问题,因为您似乎对这两种服务都没有了解多少。

【讨论】:

    【解决方案2】:

    我不同意,Data Store 是一个完全托管的无 sql 文档存储数据库,你可以将你想要的日志存储在这种类型的存储中,你可以直接在 datastore 中查询,使用它而不是 BigQuery 的好处是无模式部分,在 BigQuery 中,您必须在插入日志之前定义模式,如果您使用 DataStore,这不是必需的,将 DataStore 视为 Google Cloud 中的 MongoDB 日志分析用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多