Bird
Raised Fist0
GCPcloud~5 mins

Storage classes (Standard, Nearline, Coldline, Archive) in GCP - Time & Space Complexity

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Time Complexity: Storage classes (Standard, Nearline, Coldline, Archive)
O(n)
Understanding Time Complexity

When using different storage classes in cloud storage, it's important to understand how the time to access or retrieve data changes as you work with more files or larger amounts of data.

We want to know how the time to get or move data grows when using Standard, Nearline, Coldline, or Archive storage.

Scenario Under Consideration

Analyze the time complexity of retrieving multiple objects from different storage classes.


// Pseudocode for retrieving files from different storage classes
for each file in file_list:
  if file.storage_class == 'Standard':
    retrieve file immediately
  else if file.storage_class == 'Nearline':
    retrieve file with short delay
  else if file.storage_class == 'Coldline':
    retrieve file with longer delay
  else if file.storage_class == 'Archive':
    retrieve file with longest delay
    
// Repeat for all files requested

This sequence shows retrieving files where each storage class has different access times, repeated for each file.

Identify Repeating Operations

Identify the API calls, resource provisioning, data transfers that repeat.

  • Primary operation: Retrieving each file from its storage class.
  • How many times: Once per file requested.
How Execution Grows With Input

As you ask for more files, the total retrieval time grows roughly in direct proportion to the number of files.

Input Size (n)Approx. Retrieval Operations
1010 retrieval calls, each with class-specific delay
100100 retrieval calls, each with class-specific delay
10001000 retrieval calls, each with class-specific delay

Pattern observation: The total time grows linearly with the number of files requested, but each file's retrieval time depends on its storage class.

Final Time Complexity

Time Complexity: O(n)

This means the total retrieval time increases directly with the number of files you retrieve.

Common Mistake

[X] Wrong: "All storage classes have the same retrieval speed, so time doesn't change with class."

[OK] Correct: Different storage classes have different access delays, so retrieval time per file varies and affects total time.

Interview Connect

Understanding how retrieval time scales with the number of files and storage class helps you design efficient cloud storage solutions and explain trade-offs clearly.

Self-Check

"What if we batch multiple files in a single retrieval request? How would the time complexity change?"

Practice

(1/5)
1. Which Google Cloud Storage class is best for data you need to access frequently and quickly?
easy
A. Standard
B. Nearline
C. Coldline
D. Archive

Solution

  1. Step 1: Understand access frequency for each storage class

    Standard is designed for frequent access, Nearline for monthly, Coldline for quarterly, and Archive for rare access.
  2. Step 2: Match frequent access requirement

    Since the question asks for frequent and quick access, Standard is the best fit.
  3. Final Answer:

    Standard -> Option A
  4. Quick Check:

    Frequent access = Standard [OK]
Hint: Frequent access? Choose Standard storage class [OK]
Common Mistakes:
  • Choosing Archive for frequent access
  • Confusing Nearline with Standard
  • Thinking Coldline is for frequent data
2. Which storage class should you specify in the bucket creation command to store data accessed about once a month?
easy
A. gsutil mb -c coldline gs://my-bucket
B. gsutil mb -c nearline gs://my-bucket
C. gsutil mb -c archive gs://my-bucket
D. gsutil mb -c standard gs://my-bucket

Solution

  1. Step 1: Identify the storage class for monthly access

    Nearline is designed for data accessed about once a month.
  2. Step 2: Match the correct gsutil command syntax

    The command to create a bucket with Nearline storage class is 'gsutil mb -c nearline gs://my-bucket'.
  3. Final Answer:

    gsutil mb -c nearline gs://my-bucket -> Option B
  4. Quick Check:

    Monthly access = Nearline [OK]
Hint: Nearline = monthly access, use '-c nearline' in command [OK]
Common Mistakes:
  • Using '-c coldline' for monthly access
  • Using '-c archive' for monthly access
  • Confusing command syntax with bucket name
3. You have a bucket with Coldline storage class. You upload a 10 GB file and access it immediately. What is true about the cost and access speed?
medium
A. Low storage cost, slower access speed with retrieval fee
B. High storage cost, slow access speed
C. Low storage cost, fast access speed
D. High storage cost, fast access speed

Solution

  1. Step 1: Understand Coldline storage characteristics

    Coldline offers low storage cost but is designed for infrequent access, so access speed is slower and retrieval fees apply.
  2. Step 2: Analyze immediate access impact

    Accessing data immediately in Coldline means paying retrieval fees and experiencing slower access compared to Standard.
  3. Final Answer:

    Low storage cost, slower access speed with retrieval fee -> Option A
  4. Quick Check:

    Coldline = low cost + slower access + retrieval fee [OK]
Hint: Coldline is cheap storage but slow and costly to access [OK]
Common Mistakes:
  • Assuming Coldline has fast access speed
  • Thinking Coldline has no retrieval fees
  • Confusing Coldline with Standard class
4. A user created a bucket with the command gsutil mb -c standard gs://archive-data but wants to store rarely accessed data. What is the best fix?
medium
A. Delete and recreate bucket with -c archive option
B. Change storage class to Coldline using gsutil setclass coldline
C. Use gsutil rewrite -s archive gs://archive-data/** to change storage class
D. No fix needed; Standard is best for rare access

Solution

  1. Step 1: Identify the problem with initial bucket creation

    The bucket was created with Standard class, which is costly for rarely accessed data.
  2. Step 2: Find the correct method to change storage class without deleting bucket

    Using gsutil rewrite -s archive gs://archive-data/** changes storage class of existing objects to Archive without bucket recreation.
  3. Final Answer:

    Use gsutil rewrite -s archive gs://archive-data/** to change storage class -> Option C
  4. Quick Check:

    Change storage class with gsutil rewrite [OK]
Hint: Use gsutil rewrite to change storage class without bucket deletion [OK]
Common Mistakes:
  • Deleting bucket unnecessarily
  • Using non-existent gsutil setclass command
  • Thinking Standard is best for rare access
5. A company wants to archive 100 TB of data that is accessed less than once a year but must be retrievable within hours if needed. Which storage class should they choose and why?
hard
A. Standard, because it offers fastest access
B. Nearline, because it balances cost and monthly access
C. Coldline, because it is cheaper and supports quarterly access
D. Archive, because it is lowest cost and retrieval is within hours

Solution

  1. Step 1: Analyze access frequency and retrieval time needs

    Data is accessed less than once a year, so very rare access. Retrieval must be within hours.
  2. Step 2: Match storage class to access pattern and retrieval speed

    Archive class is designed for rare access with lowest cost and retrieval times within hours, fitting the requirement.
  3. Step 3: Compare with other classes

    Standard is costly, Nearline is for monthly access, Coldline is for quarterly access, so Archive is best.
  4. Final Answer:

    Archive, because it is lowest cost and retrieval is within hours -> Option D
  5. Quick Check:

    Rare yearly access + hours retrieval = Archive [OK]
Hint: Rare yearly access + hours retrieval? Choose Archive [OK]
Common Mistakes:
  • Choosing Coldline for yearly access
  • Assuming Archive retrieval takes days
  • Picking Standard for cost savings