Which Platform and Database Handle 500,000 Requests per Second?
Short answer
B Use Cloud Run, which scales to zero during idle periods to cut costs, paired with Cloud Bigtable for high-throughput real-time exact-match lookups.
Question
second. The data will be queried later in real time, based on exact matches of a known set of attributes. There will be periods where the web service will not
receive any requests. The business wants to keep costs low. Which web service platform and database should you use for the application?
Key Takeaways
The question tests whether you can match a scale-to-zero, low-cost compute service with a high-write NoSQL store; the trap is picking BigQuery simply because it supports SQL exact-match queries.
This PCA design question asks which Google Cloud compute platform plus database can ingest 500,000 requests per second, serve real-time exact-match lookups, and stay cheap during idle traffic. The pairing of Cloud Run with Cloud Bigtable satisfies every stated requirement, which is why option B is the correct choice.
Common mistake: Option D is the leading wrong pick: a Compute Engine autoscaling managed instance group keeps at least one VM (plus autoscaler overhead) running during idle periods, so it violates the low-cost scale-to-zero requirement even though Bigtable itself is right.
Expert Analysis
Why the Answer Is Correct
Cloud Bigtable is purpose-built for extreme write throughput — a single cluster sustains hundreds of thousands of writes per second — and returns row-key lookups in single-digit milliseconds, which is exactly the "exact matches of a known set of attributes" in real time that the question demands. Cloud Run complements it on the cost side: it is fully serverless, scales automatically with request volume, and scales all the way to zero instances when no requests arrive, so idle periods produce no compute charge. The 500,000 requests-per-second target is reachable because each Cloud Run instance can process up to 1,000 concurrent requests and the max-instances setting is a configurable quota, not a hard 100-instance ceiling. Together, B meets the write-rate, real-time lookup, idle-period, and low-cost requirements simultaneously.
Why the Other Options Are Wrong
Options A and C both pair the compute tier with BigQuery, which is an analytical data warehouse: it is optimized for batch-loaded columnar scans and periodic SQL reporting, not for continuously streaming 500,000 writes per second and answering millisecond point lookups, so neither can satisfy the real-time ingestion requirement. Option D selects the correct database but the wrong platform — a Compute Engine managed instance group must maintain a minimum of one healthy instance plus autoscaler machinery, so it never reaches zero and continues billing through the explicit no-traffic periods the business wants to keep cheap. It also adds operational burden (OS patching, capacity planning) versus the pay-per-request, fully managed Cloud Run model.
Community Comment Notes
Enzian argues that "Any correct answer must involve Cloud Bigtable over BigQuery since Bigtable is optimized for heavy write loads" and lands on B for cost, an assessment pakilodi reinforces by noting Cloud Run "will scale to zero." MamthaSJ, XDevX, victory108, AzureDP900, and learner311 all converge on B, with learner311 countering the scale objection by explaining that "you can scale out to 1000 cloud run containers each individually handling a max concurrency of 1000 req/sec." On the other side, gcppandit selects D by citing the default 100-instance maximum, and 6721sora picks D citing cold starts and the 10-second request-queue limit; both treat a configurable default as a fixed architectural limit. TotoroChina instead pairs Cloud Run with BigQuery, which fails the heavy-write requirement. Because the source key is listed as unknown, the verdict here rests on Google Cloud's documented service characteristics rather than on the answer key.
Official Reference
- https://cloud.google.com/bigtable/docs/overview
- https://cloud.google.com/run/docs/overview/what-is-cloud-run
- https://cloud.google.com/run/docs/configuring/max-instances
These links open the official vendor documentation in a new tab.
Exam Strategy
Treat each clause of the scenario as a hard filter: "exact matches in real time" at 500,000 writes per second eliminates BigQuery immediately, and "periods with no requests" plus "keep costs low" eliminates any always-on instance group. Apply the filters one at a time and only one option pair — Cloud Run with Cloud Bigtable — survives both.
Frequently Asked Questions
Why is BigQuery the wrong database for 500,000 requests per second with real-time lookups?
Why prefer Cloud Run over a Compute Engine managed instance group for this web service?
Discussion 122 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 30 of 122
-
Enzian 👍 81Any correct answer must involve Cloud Bigtable over BigQuery since Bigtable is optimized for heavy write loads. That leaves B and D. I would suggest B b/c it is lower cost ("The business wants to keep costs low")
-
pakilodi 👍 21Not only: occasionally there will be no requests. so Cloud Run will scale to zero
-
MamthaSJ 👍 16B is correct answer.
-
gcppandit 👍 10 Answered DI will go with the option D. Both Cloud Run and Cloud Compute can be used to solve the problem. But the main challenge is to handle 500,000 requests per secons. In case of Cloud Run the Maximum Number of instances are allowed to 100 and each cloud run container can handle maximum 1000 requests per seconds. So if we go with Cloud Run option we can maximum address 100,000 requests per second. In case of Compute Engine (with proper external load balancer) does not have these type of limitations. So D will be better option just due to number of requests. Ref: https://cloud.google.com/run/docs/configuring/max-instances Ref: https://cloud.google.com/run/docs/about-concurrency#:~:text=By%20default%20each%20Cloud%20Run,to%20a%20maximum%20of%201000.
-
6721sora 👍 7 Answered DNot sure if B is right. Cloud Run will fail requests if waiting for more than 10 seconds. https://cloud.google.com/run/docs/tips/general If you choose Cloud Run to minimize costs during periods of no activity, then when suddenly requests come in at 5000 requests per second, a "Cold Start" occurs for Cloud Run container instances. This startup can take many seconds and during this time the requests will timeout. So a minimum number of Instance of say 1 will be required to prevent Cold Start.
Show 25 more comments
-
XDevX 👍 7IMHO b) is the correct answer, not d). The requirement is to keep cost low - the quizzer says explicitly that there will be periods where the web service will not receive any requests - my impression is that the quizzer wants by using that statement to point on a solution that can scale to zero...
-
TotoroChina 👍 7Answer should be A, Cloud Run and BigQuery There will be periods where the web service will not receive any requests => Cloud Run The data will be queried later in real time, based on exact matches of a known set of attributes => BigQuery
-
victory108 👍 6B. Cloud Run and Cloud Bigtable
-
learner311 👍 5Yeah but you can scale out to 1000 cloud run containers each individually handling a max concurrency of 1000 req/sec. https://cloud.google.com/run/docs/configuring/max-instances That would mean it can handle a soft cap of 1000 containers * 1000 req/sec = 1000000 req/sec. I'd go with B.
-
VishalB 👍 5Ans B: Bigtable is optimized for real time reads & Cloud Run scales up and down from zero almost instantaneously depending on traffic. Cloud Run only charges you for the exact resources you use keeping the cost low
-
AzureDP900 👍 5B is right, There is no need to go with App Engine autoscaling. Cloud Run goes to zero instances when there are no requests. Question asks cost optimization. Big Query is not suitable .. so B is right.
-
omermahgoub 👍 4To handle 500,000 requests per second and store data that will be queried in real time based on exact matches of a known set of attributes, I would recommend using option D: A Compute Engine autoscaling managed instance group and Cloud Bigtable. Compute Engine autoscaling managed instance groups allow you to automatically increase or decrease the number of VM instances in a group based on workload demand. This can help ensure that your application has the resources it needs to handle high traffic periods, while minimizing costs during periods of low traffic. Cloud Bigtable is a high-performance, NoSQL database designed for extremely large scale data storage and real-time data processing. It is well-suited for applications that require fast queries and updates on large datasets, such as the one described in the question.
-
convers39 👍 4 Answered B50,000 rps At first I thought Cloud Run could not handle this request rate and then chose D. After a little bit of research on the docs I changed my mind to B. On each instance concurrency, it clearly says > By default each Cloud Run instance can receive up to 80 requests at the same time; you can increase this to a maximum of 1000 https://cloud.google.com/run/docs/about-concurrency The maximum number of auto-scaling instances by default is 100, which can be configured depending on the regional quota. With the default max instances it can already handle 100 * 1000 = 100,000 requests concurrently, which should be able to achieve the 50,000 rps requirement. https://cloud.google.com/run/docs/about-instance-autoscaling
-
JohnPi 👍 4 Answered BContainer instance | Maximum number of container instances | 1000 | per service Request | Maximum number of concurrent requests | 1000 | per container instance 1000*1000 > 500000
-
pancakes22 👍 4 Answered Bhttps://cloud.google.com/run/quotas There is no direct limit for: The size of container images you can deploy. The number of concurrent requests served by a Cloud Run service.
-
AmitRBS 👍 4B. Agree. Additionally data need to store now so use Bigtable as question is not for analysing or data Analytics etc
-
pakilodi 👍 4 Answered BB. Because cloud run can scale to zero and for such heavy loads, it needs bigtable
-
muky31dec 👍 3 Answered Dmust D Concurrency values Concurrency is configurable. By default each Cloud Run container instance can receive up to 80 requests at the same time; you can increase this to a maximum of 1000. Note that in comparison, Functions-as-a-Service (FaaS) solutions like Cloud Functions have a fixed concurrency of 1. Although you should use the default concurrency value, if needed you can lower the maximum concurrency. For example, if your code cannot process parallel requests, set concurrency to 1. The specified concurrency value is a maximum and Cloud Run might not send as many requests to a given container instance if the CPU of the instance is already highly utilized. The following diagram shows how the concurrency setting affects the number of container instances needed to handle incoming concurrent requests:
-
tamer_m_Saleh 👍 3 Answered DAt first I through its B, but then I thought about the number of requests that will be over 1 minute, if we calculated it = 30 million request per minute, and based on cloud run pricing this will cost only for the number of requests: 24 USD. so cloud run will cost the company 24 USD / min. which might be a very costly option. But in the cloud run pricing there is 2 modes: - CPU allocated when receiving requests: and there is a cost for CPU and requests - CPU always allocated: and there is only a cost for the CPU and zero price for the number of requests. I think we need someone experiencing the billing of a cloud run under a heavy load like this :)
-
omermahgoub 👍 3Cloud Run, on the other hand, is a fully managed serverless platform for deploying and scaling containerized applications. While it may be a good choice for some applications, it may not be the best fit for an application that needs to handle high levels of traffic and perform real-time queries on large datasets. BigQuery is a fully managed, cloud-native data warehouse that is well-suited for analyzing large datasets using SQL. However, it may not be the best choice for an application that needs to perform real-time queries on large datasets, as it is optimized for batch processing rather than real-time querying.
-
JC0926 👍 3 Answered BCloud Run is a serverless platform that allows you to run stateless containers on demand. It can scale quickly to handle a large number of requests and automatically scales down to zero when there are no requests, making it a cost-effective option. Cloud Bigtable is a NoSQL database that is designed for handling massive amounts of data with low latency and high throughput. It can handle up to millions of operations per second, making it a suitable option for storing and querying the large volume of data generated by the web service.
-
brvinod 👍 3 Answered BI would vote for B. EVen though there is a max concurrency of 1000, there is no upper limit to the number of containers (unless we specify). So, CloudRun will spawn as many containers as needed to run the number of requests and take care of all the requests. Let me know if you have different interpretation of this link> https://cloud.google.com/run/docs/about-instance-autoscaling
-
mkc110891 👍 3 Answered DThe answer is D: The default concurrency limit in the Cloud Run is 80 req/sec, which can be increased up to 1000 req/sec. Here in the question, they are talking about 500000 req/sec which is a way higher number. So it can be managed using autoscaling MIG. https://cloud.google.com/run/docs/about-concurrency#concurrency_values
-
BrijMohan08 👍 3Answer D infrastructure for a web service - VM (Compute Engine) data will be queried later in real-time - Bigtable There will be periods where the web service will not receive any requests - autoscaling managed instance group
-
MarcExams 👍 3Answer is B. Big table is amazing for REAL-TIME Analysis strong with heavy read/write events refer to: https://cloud.google.com/blog/topics/developers-practitioners/bigtable-vs-bigquery-whats-difference
-
Petya27 👍 3Plus, we are talking about a predefined set of queries. For any predefined list of (simple) queries, we use Bigtable, and for any (complex) queries that we do not know ahead of time, we use BigQuery.
-
nick_name_1 👍 3Run can scale to 1,000 instances without requesting a quota increase. Each instance can handle up to 1,000 concurrent requests. 500,000/sec is half the maximum for Run. Run scales to zero.
-
santoshindia 👍 3 Answered DBy default each Cloud Run container instance can receive up to 80 requests at the same time; you can increase this to a maximum of 1000 https://cloud.google.com/run/docs/about-concurrency
-
Santanu_01 👍 3The solution should have Cloud Run (as it can scale from 0 to many) so when not in use no cost involved and Cloud Bigtable -- concerning throughput on the problem satement
-
zr79 👍 3there will be a cost associated with your VM even if they have 0 traffic as GCE is an IaaS. You're billed for resources provisioned and the company wants to reduce cost
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All PCA Questions
Access 81 questions with complete answers and detailed explanations.
View Full PCA Practice Test →