Hello fellow community,
I’m currently evaluating possible databases from the Google Cloud offerings for the implementation of a logging and analysis tool for our web application. From what I found out already it seems that a combination of BigTable and BigQuery could be a good solution but I’m curious if someone would tackle such a scenario differently.
There are two main goals:
- provide API for our web application to show near-realtime logs data of all our connected devices (similar to google cloud logging UI)
- provide analysis capabilities based on the received logs data
Currently all devices are sending roughly 50k logs and status messages per day which could easily be doubled when resolution is increased. Also, the current number of connected devices can easily grow high (10-20x) in the future so we will be dealing with a fast growing and big dataset in the future.
The current idea would be to use Pubsub for data ingress and a GCF that perhaps prepares and stores the reveived payloads in BigTable. The BigTable would be used as database to output logging data through an API with minimal query abilities, e.g. time range, type, etc.
Due to insert limitations of BigQuery, we’ll have to implement some kind of service that will slowly feed the BigQuery with the incoming data in BigTable. BigQuery would than be used to provide deeper analytic capabilities for our application.
As alternative, we also think about either using simple Cloud SQL or a MongoDB Atlas cluster as main database which would greatly simplify the setup ![]()
Has somebody already implemented a similar solution and has any pros/cons on this planned setuo? Maybe other solutions that work better?
Cheers and thanks,
Stephan