An Overview Of All The Different Databases In Google Cloud
Google cloud platform (GCP) is a high-performance infrastructure for cloud computing, data analytics, and machine learning. Google Cloud runs on the same infrastructure that Google uses for its end-user products like Google Search, Gmail, Google Drive, Google Photos, etc. This blog gives you an insight into the various databases in Google cloud.
- Bare Metal Solution For Oracle: It is a relational database that helps to perform the migration of Oracle workloads to Google Cloud. Oracle workloads can be migrated with our preferred methods such as Oracle Data Guard, Oracle GoldenGate, Oracle Data Pump, or Oracle RMAN for backups. Bare Metal solution features define our IP subnets for use in the environment. We can fit our Bare Metal solution into any existing IP address schema which the enterprise has.
It can be used for database management, automation of operational databases, and administration tasks. The latest technologies leveraged by Bare Metal Solutions include Cascade Lake servers, Tier 1 NVM storage, and a 100G network. It has a latency of less than 2ms. It offers the highest core-to-memory ratio in comparison with other cloud services.
- CLOUD SQL: Cloud SQL is a self-managed, relational database that serves as an alternative to local MySQL, PostgreSQL, and SQL server databases. It reduces time invested in Database Management and improves usability. Cloud SQL enables us to create and delete databases and database users, but it is not a database administration tool. It performs operations like backups, high availability, and failover, network connectivity, export and import, flagging, maintenance, updates, monitoring, and logging. System updates are performed by Cloud SQL whereas configuration updates are done by the user. It can be used to build containerized applications, perform data analytics, build and deploy web apps and manage databases using Terraform.
Using Cloud SQL, we can add up to 96 processor cores, more than 624GB RAM, and 30TB storage. We can add read replicas to handle increasing read traffic. It supports performance-intensive workloads up to 60,000 IOPS and no extra costs are incurred for extra IO.
- CLOUD SPANNER: Cloud Spanner is a globally distributed, ACID-compliant, relational database. It helps in creating and scaling a globally replicated database with ease. Cloud Spanner optimizes performance by automatically sharding the data based on the request load and size of the data, thus improving business scaling. It enables Point-In-Time-Recovery (PITR) which provides continuous protection with the ability to recover past data to microsecond granularity. It is purpose-built for external, strong, global transactional consistency, and survives regional failure.
It offers low latency, high security, and reliability. It supports client libraries in C#, C++, Go, JAVA, Node.js, PHP, Python, and Ruby. It is also compatible with JDBC drivers for connecting with third-party tools. Cloud Spanner can be used in services like retail and financial services, gaming, media, entertainment, technology, healthcare, etc.
- CLOUD BIGTABLE: It is a fully managed, scalable, wide-column store database for large analytical and operational workloads with up to 99.999% availability. It is designed with a storage engine for machine learning applications, which enhances predictions. It can be integrated with big data tools like Hadoop, Dataflow, and Dataproc. It also supports the open-source HBase API standard.
Bigtable supports high read and write throughput at low latency, providing quick access to large amounts of data. With Bigtable, there are no manual steps needed to ensure consistency, data repair, or synchronization of writes, and deletes, which reduces the workload. Bigtable can be used in areas of personalization, Ad-tech, Fintech, digital media, and IoT.
- FIRESTORE: Firestore is a serverless, scalable, no-maintenance, document database. It offers a built-in live synchronization and offline mode. This makes it easy to build multi-user, collaborative apps on mobile, web, and IoT devices. Firestore allows us to run sophisticated ACID transactions against document data. App development can be done using Firestore client-side development libraries for web, iOS, Android, Flutter, C++, and Unity. It also supports server-side development libraries using Node.js, JAVA, Go, Ruby and PHP. It enables customizable identity-based security access controls and data validation using a configuration language. It supports the Database API where it retains the application’s same performance characteristics and pricing in the databases, which will be upgraded automatically to the Cloud Datastore.
It offers multi-region replication and high consistency, hence surviving natural disasters. Firestore is used for live asset tracking, activity tracking, real-time analytics, media and product catalogues, communications, social user profiles, and gaming leaderboards.
- FIREBASE REALTIME DATABASE: It is a No-SQL, cloud-hosted database where data is stored as JSON. It uses accelerated data synchronization and provides collaborative and immersive experiences without thinking about networking code. Firebase supports responsiveness even when offline as Firebase Realtime Database SDK persists our data to disk. The changes are synchronized with the current server state once the connectivity is re-established. Streamline authentication is used along with firebase authentication to validate users across database instances. The access methods can be defined by the developers by leveraging the language: Firebase Realtime Database Security Rules. This language defines how the data should be structured when data can be read from or written to.
The optimization and functionality vary from that of a relational database as it supports only quick, executable operations. It is designed to support the responsiveness required for a great real-time experience for millions of users. Hence it is important to structure the data according to the user’s accessibility. Firebase Realtime Database can be used in areas like mobile signing-in, personalized apps, ads, in-app chats, etc.
- MEMORY STORE: Memorystore is an in-memory database service that supports both Redis and Memcached. It is used to build application caches and to perform the migration of caching layers to the cloud with zero code change. Memorystore is protected from the internet using VPC networks and private IPs. It comes with IAM integration which offers data protection. It automates DevOps practices like provisioning, replication, failovers, and patching.
Memorystore instances can be monitored via cloud monitoring, where custom alerts can be set up. It can also be integrated with OpenCensus to get insights on client-side metrics. It provides 99.9% availability SLA and automatic failover for both Redis and Memcached. It is used in areas like caching gaming applications, social media chat or news feeds.
- MongoDB ATLAS: MongoDB Atlas helps to set up, scale, and operate MongoDB across Google Cloud. Atlas helps in automating database operations such as cluster deployment and modification using automated patches. It features to scale up, scale out, or scale down via a simple API call or a push-button, without affecting our applications. It features Point-In-Time-Recovery by enabling accelerated querying of back snapshots. It also restores granular datasets in a fraction of the time.
MongoDB Atlas ensures no single point of failure as each cluster is distributed across the zones in a Google Cloud region. The product databases are backed up by a 99.95% uptime SLA. It includes optimized dashboards which highlight key historical metrics, real-time performance, and customized alerts with the help of built-in tools. Atlas can be used in areas of mobile, web, and IoT applications, gaming apps, content management, and single-view applications.