Both cloud vendors offer comparable solutions, let’s review them.
AWS S3 / GCP Cloud Storage
The basic storage is S3 in AWS and Cloud Storage in GCP.
You can store petabytes of blob-like, unstructured data durably and cost-effectively. Depending on your data access patterns you can option for Nearline or Coldline in GCP or Glacier in AWS – to lower the costs even further (if you access data very rarely).
Both cloud providers give you choice of paying less for storage if you can limit your reads.
NO-OPS Databases: GCP Cloud SQL, Cloud Datastore, Cloud SPANNER, Google Bigtable, AWS DynamoDb
If your data is relational, then you can use Cloud SQL – no-ops database in the cloud. Your data size is limited to terabytes, but that’s not a cloud limitation but RDBMS’s.
If you want to go beyond that limitation and remain ACID-compliant, GCP has a solution for you – Cloud Spanner transactional DB. It can store petabytes of data, it scales horizontally, and AWS has nothing comparable to this.
If your data is non-relational, then you can store petabytes of key-value data in Google Bigtable, or AWS DynamoDb.
Again, it’s a no-ops solution that you can scale as you need in minutes.
Google also offers another database solution that supports transactions and can store terabytes of data – Cloud Datastore/Firestore. Datastore is a horizontally scalable document (NoSQL) database that supports ACID transactions, SQL-like queries, indexes. It’s most frequently used to store structured data from App Engine apps (PaaS apps).
Data warehousing: GCP BigQuery, AWS Redshift
And finally, for data warehousing needs GCP offers its amazing fully managed BigQuery. It’s a relationship database that can store petabytes of data, and it’s blazingly fast – you can query 100 terabytes in 20 seconds. Amazon’s match to the BigQuery is AWS Redshift.
Of course, you can run your analytics jobs against Google BigTable too, so think about your workload patterns – if you want a single database solution, and you need low latency or frequent updates – then BigTable is best. Otherwise, if you don’t need to update your data frequently, and you want the convenience of using SQL for your queries, BigQuery is your best friend.
Please also see related article: CAP theorem, Lambda Architecture and how to pick the right database for your application