Storage
Compute and Storage in Cloud Computing
This section discusses the differences between cloud computing and desktop computing, the importance of storage for proper scaling capabilities, and how compute and storage are decoupled.
Compute and Storage Decoupling
- Compute and storage are decoupled in cloud computing.
- This is one of the major differences between cloud computing and desktop computing.
- With cloud computing, processing limitations aren't attached to storage.
Storage Services
- Google Cloud offers fully managed database and storage services.
- These include Cloud Storage, Cloud Bigtable, Cloud SQL, Cloud Spanner, Firestore, and BigQuery.
- Choosing the right option to store data often depends on the data type that needs to be stored in the business need.
Unstructured vs Structured Data
This section explains unstructured vs structured data types. It also covers four primary storage classes offered by Google Cloud's Cloud Storage service.
Unstructured Data
- Unstructured data is information stored in a non-tabular form such as documents images and audio files.
Primary Storage Classes
Standard Storage
- Standard storage is considered best for frequently accessed or hot data.
- It's also great for data that is stored for only brief periods of time.
Nearline Storage
- this is best for storing infrequently accessed data like reading or modifying data once per month or less on average.
- Examples include data backups long tail multimedia content or data archiving
Cold Line Storage
-This is also a low-cost option for storing infrequently accessed data.
- As compared to nearline storage, cold Line storage is meant for reading or modifying data at most once every 90 days.
Archive Storage
- This is the lowest cost option used ideally for data archiving online backup and disaster recovery.
- It's the best choice for data that you plan to access less than once a year because it has higher cost for data access and operations and a 365-day minimum storage duration.
Structured Data
- Structured data represents information stored in tables rows and columns.
- It comes in two types: transactional workloads and analytical workloads.
Transactional vs Analytical Workloads
This section explains transactional vs analytical workloads. It also covers different options available on Google Cloud depending on whether the workload requires SQL commands or not.
Transactional Workloads
- Transactional workloads stem from online transactional processing systems which are used when fast data inserts and updates are required to build row based records.
- They require relatively standardized queries that impact only a few records.
Analytical Workloads
- Analytical workloads stem from online analytical processing systems which are used when entire datasets need to be read.
- They often require complex queries such as aggregations.
Choosing the Right Option
SQL Access Required
Cloud SQL
- Cloud SQL works best for local to regional scalability if your transactional dataset will be accessed using SQL.
Cloud Spanner
- Cloud Spanner is best to scale a database globally if your transactional dataset will be accessed using SQL.
NoSQL Access Required
Firestore
-Firestore is a transactional NoSQL document-oriented database if you have analytical workloads that require SQL commands.
Analytical Workloads with SQL Commands
BigQuery
- BigQuery is likely the best option for analytical workloads that require SQL commands.
- It lets you analyze petabyte-scale datasets.
Analytical Workloads without SQL Commands
Cloud Bigtable
- Cloud Bigtable provides a scalable NoSQL solution for analytical workloads.
- It's best for real-time high throughput applications that require only millisecond latency.