- About Us
- Data Services
- Maintenance & Monitoring
- Consulting Services
- Customer Cases
- Blogs & news
We help you pick the right database for your application. The choice depends heavily on your use case — transactional processing, analytical processing, in-memory database, and so on — but it also depends on other factors. There are different database options available within Google Cloud across relational (SQL) and non-relational (NoSQL) databases. Note that we don’t consider BigQuery as a database but as an Enterprise Data Warehouse / Analytical Datastore.
Broadly, if your data structure is not going to change much, select a relational database. Google Cloud uses Cloud SQL for any general-purpose SQL database and Cloud Spanner for large-scale globally scalable, strongly consistent use cases. In general, if your data structure may change later and if scale and availability are a bigger requirement then a non-relational database is a preferable choice. Google Cloud offers Firestore, Memorystore, and Cloud Bigtable to support a variety of use cases across the document, key-value, and wide column database spectrum.
Relational databases information is stored in tables, rows, and columns, which typically works best for structured data. As a result, they are used for applications in which the structure of the data does not change often. SQL (Structured Query Language) is used when interacting with most relational databases. They offer an ACID consistency model for the data, which means:
All operations in a transaction succeed or the operation is rolled back.
On the completion of a transaction, the database is structurally sound.
Transactions do not contend with one another. Contentious access to data is moderated by the database so that transactions appear to run sequentially.
The results of applying a transaction are permanent, even in the presence of failures.
Because of these properties, relational databases are used in applications that require high accuracy and for transactional queries such as financial and retail transactions. For example: In banking when a customer makes a funds transfer request, you want to make sure the transaction is possible and it actually happens on the most up-to-date account balance, in this case, an error or resubmit request is likely fine.
There are three relational database options in Google Cloud: Cloud SQL, Cloud Spanner, and Bare Metal Solution.
Provides managed MySQL, PostgreSQL, and SQL Server databases on Google Cloud. It reduces maintenance cost and automates database provisioning, storage capacity management, backups, and out-of-the-box high availability and disaster recovery/failover. For these reasons, it is best for general-purpose web frameworks, CRM, ERP, SaaS, and e-commerce applications.
Cloud Spanner is an enterprise-grade, globally distributed, and strongly-consistent database that offers up to 99.999% availability, built specifically to combine the benefits of relational database structure with non-relational horizontal scale. It is a unique database that combines ACID transactions, SQL queries, and relational structure with the scalability that you typically associate with non-relational or NoSQL databases. As a result, Spanner is best used for applications such as gaming, payment solutions, global financial ledgers, retail banking, and inventory management that require the ability to scale limitlessly with strong consistency and high availability.
Provides hardware to run specialized workloads with low latency on Google Cloud. This is specifically useful if there is an Oracle database that you want to lift and shift into Google Cloud. This enables data center retirements and paves a path to modernize legacy applications.
Non-relational databases (or NoSQL databases) store complex, unstructured data in a non-tabular form such as documents. Non-relational databases are often used when large quantities of complex and diverse data need to be organized, or where the structure of the data is regularly evolving to meet new business requirements. Unlike relational databases, they perform faster because a query doesn’t have to access several tables to deliver an answer, making them ideal for storing data that may change frequently or for applications that handle many different kinds of data. For example, an apparel store might have a database in which shirts have their own document containing all of their information, including size, brand, and color with room for adding more parameters later such as sleeve size, collars, and so on.
There are three non-relational databases in Google Cloud:
This is the one we use most. Is a serverless document database that scales on-demand, is strongly consistent, offers up to 99.999% availability, and acts as a backend-as-a-service. It is DBaaS that is optimized for building applications. It is perfect for all general purpose use cases such as eCommerce, gaming, IoT, and real-time dashboards. With Firestore, users can interact with and collaborate on live and offline data making it great for real-time applications and mobile apps. There is an explanation video for you.
Google Cloud Bigtable is a sparsely populated table that can scale to billions of rows and thousands of columns, enabling you to store terabytes or even petabytes of data. It is ideal for storing very large amounts of single-keyed data with very low latency. It supports high read and writes throughput at sub-millisecond latency, and it is an ideal data source for MapReduce operations. It also supports the open-source HBase API standard to easily integrate with the Apache ecosystem including HBase, Beam, Hadoop, and Spark along with the Google Cloud ecosystem.
Memorystore is a fully managed in-memory data store service for Redis and Memcached at Google Cloud. It is best for in-memory and transient data stores and automates the complex tasks of provisioning, replication, failover, and patching so you can spend more time coding. Because it offers extremely low latency and high performance, Memorystore is great for web and mobile, gaming, leaderboard, social, chat, and news feed applications.