Google Cloud体系结构:数据湖可用于OLTP吗?

问题描述 投票:1回答:1

我想在Google云中设计一个大型Web应用程序,并且我需要一个OLAP系统,该系统可以创建ML模型,并计划通过将所有数据通过Pub / Sub发送到BigTable数据湖来进行设计。模型由dataproc进程创建。

将模型部署到微服务,这些微服务将根据用户会话中的数据执行它们。我的问题是:该微服务在哪里存储“正常业务数据”?我是否必须将提供Web应用程序的微服务的数据与数据湖中的数据分开,例如通过使用MariaDB实例(每个美国数据库)?还是可以将它们与BigTable连接?

关于数据湖:BigTable是否有替代方案?另一位开发人员告诉我,一种选择是将数据存储在Google Cloud Storage(存储桶)上,并使用DataProc访问此数据,以节省BigTable的跨区域成本。

machine-learning google-cloud-platform olap oltp
1个回答
2
投票

哇,很多问题,很多假设,很多可能性。最好的答案是“一切取决于您的需求”!

该微服务的“正常业务数据”存储在哪里?

您想在这些微服务中做什么?

或者我可以将它们与BigTable连接起来吗?

是,可以,但是您需要吗?如果在处理之前需要原始数据,请连接到BigTable并对其进行查询!

如果不是这样,最好有一个批处理过程,它可以对原始数据进行预处理,并且仅将摘要存储在关系数据库或文档数据库中(对用户而言延迟时间更长,但是细节较少)

BigTable可以替代吗?

取决于您的需求。 BigTable非常适合高吞吐量。如果小于1 million of stream write per second,则可以考虑使用BigQuery。您也可以query BigTable table with BigQuery engine thanks to federated table

BigTable,BigQuery和Cloud Storage可以通过dataproc访问,因此您可以根据需要!

[另一个开发人员告诉我,一种选择是将数据存储在Google Cloud Storage(存储桶)中

是,您可以流式传输到Cloud Storage,但请注意,您don't have checksum validation,因此可以确保您的数据没有被破坏。


您可以用其他方式来考虑您的应用程序。如果将事件发布到PubSub,则常见的模式之一是使用Dataflow处理它们,至少对于预处理->这样训练模型的dataproc作业会更容易!

如果您训练Tensorflow模型,那么您也可以考虑使用BigQuery ML,而不是为了训练(除非标准模型符合您的需求,但我怀疑),而是为了服务部分。

  1. Load your tensorflow model into BigQueryML
  2. 只需使用BigQuery作为模型输入来查询数据,将其提交给模型并立即获得预测。您可以使用Insert Select查询将其直接存储到BigQuery中。 预测处理是免费的,您只需支付扫描到BigQuery中的数据!

正如我所说,可能性很大。缩小您的问题以获得更清晰的答案!无论如何,希望对您有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.