Applications can have various types of data. For example, if your application is a social image sharing site, you have to store image files, high volumes of user messages and transactional data. You'll likely need to cache frequently accessed data as well. And of course You want to collect, query and analyze all the data to gather business intelligence about your users, as well as product usage patterns. Google Cloud offers a number of managed services that you can use for each type of data. In this module, overview of data storage options You'll learn about services such as cloud storage, data store, cloud, big table, Cloud SQL, cloud, Spanner, and BigQuery. You'll learn the ideal use cases for each data storage option, as well as use cases for which the option might not be suitable. Armed with this knowledge, you can choose a data storage option that meets the specific use case in your application. A common problem that application developers face is handling database connections in a secure manner. You'll learn how to connect your Cloud SQL second generation instance without having to allow list IP addresses or configure SSL. You have a full suite of cost effective storage services to choose from when developing with Google Cloud. No one size fits all. Your choice of storage and database solutions will depend on your application and workload. Cloud Storage is a unified object storage. For developers and enterprises that allows you to serve, analyze and archive. Data objects are accessed via HDP requests, including range gets to retrieve portions of the data. The only key is the object name. There is object metadata, but the object itself is treated as just bytes with no structure. The scale of the system allows for serving static content or accepting user uploaded content like photos and videos. Cloud storage is built for availability, durability, scalability, and consistency. It is an ideal solution for storing images and videos, objects, and blobs in any unstructured data. Firestore is a fast, fully managed serverless no SQL document database built for automatic scaling, high performance and ease of application development. Firestore in native mode provides features such as a strongly consistent storage layer, a collection and document based data model. Real time updates and offline features, and mobile and web client libraries. firestore is built to scale and takes advantage of Google clouds powerful infrastructure with automatic horizontal scaling in and out in response to your applications load. Security access controls for data are built in, and enable you to handle data validation via a configuration language. For more information, see the firestore documentation available in the download pane below. Firestore in Datastore mode, which is often referred to as Datastore. Is a highly scalable, no SQL database for your applications, data store automatically handles sharding and replication, providing you with a highly available and durable database that scales automatically to handle your applications load. Datastore provides a myriad of capabilities, such as acid transactions, SQL like queries, Indexes and much more. Data Store scale seamlessly and automatically with your data, allowing applications to maintain high performance as they receive more traffic. Data Store is an ideal solution when your application data is semi structured, or hierarchical, and when you need to store durable key value data at scale. Typical use cases for data store include product catalogs, user profiles, and transactions based on ACID properties. Data Store is not ideal for every use case. For example, data store is not a relational database and it is not an effective solution for analytic data. Datastore was formerly implemented as an extension of cloud big table, but now is implemented using Firestore. Firestore in Datastore mode is backward compatible with Datastore. But the native modes data model, real time updates, and mobile and web client library features are not available. When using Datastore mode, firestore in Datastore mode provides improvements to the original data store, including strongly consistent queries, transaction improvements, and the removal of the one per second limit on writes to an entity group. Eventually, existing Datastore instances will be automatically migrated to firestore in Datastore mode. No functional changes are required to existing data store code in applications. Bigtable is a high performance, no SQL database service. It's a sparsely populated table that can scale to billions of rows and 1000s of columns. Bigtable can store terabytes to petabytes of data. big table is built for fast key value lookup and scanning over a defined key range. It's similar to a spreadsheet that gives you access to any set of columns from contiguous rows by searching only the value in the first column where the key updates to individual rows are atomic. Due to the fast lookup and write speed of big table. It's great for user Behavior. Big table supports operational and analytical applications and is ideal for storing large amounts of single key data and mapreduce operations big table offers consistent sub 10 no legacy. Bigtable offers seamless scaling. Changes to the deployment configuration are immediate so there's no downtime during reconfiguration. Cloud Bigtable supports the open source industry standard HBased API. Cloud SQL is Google Clouds relational database service. It is a managed service that lets Google manage replication, failover and backups of your databases. So you can focus on your MySQL, PostgreSQL, or SQL Server compatible applications. Cloud SQL lets you easily configure replication and backups to protect your data. You can replicate a primary instance to one or more read replicas. A read replica is a copy of the primary that reflects changes to the primary instance in almost real time. You can enable automatic failover to make your database highly available. Backups allow you to restore your Cloud SQL instance, to recover lost data or recover from a problem with your instance. You can enable automated backups for any instance that contains data that you need to protect from loss or damage. The Cloud SQL proxy works by having a local client Called the proxy running in the local environment. Your application communicates with the proxy with the standard database protocol used by your database. The proxy uses a secure tunnel to communicate with its companion process running on the server. Cloud SQL proxy provides secure access to your Cloud SQL second generation instances without your having to allow IP addresses or configure SSL. The proxy uses the Cloud SQL API to authenticate with Google Cloud. You must enable the API before using the proxy, and you must provide the proxy with a valid user account. Cloud SQL is ideal for web frameworks, applications requiring structured data and online transaction processing OLTP workloads It is ideal for applications using MySQL, PostgreSQL or SQL Server with minimal refactoring required for migration to Google Cloud. Cloud Spanner is Google clouds fully managed relational database service offering both strong consistency and horizontal scalability. It is designed for mission critical OLTP applications. Cloud Spanner provides automatic synchronous replication for high availability. Spanner is built for multi region replication and offers one of the highest SLA s in the industry. 99.999% spanners. Ideal for applications with relational structured and semi-structured data that require high availability, strong consistency and transactional reads and writes. Unlike cloud SQL spanner requires every table to have a primary key. Another difference is that Spanner also supports interleaf tables, where child rows are inserted into the table adjacent to the parent row. This improves the query performance when joins are done between parent and child.