Borderless Lakehouse resources have configurable quotas and fixed
system limits to help control resource consumption and maintain service
stability. *Quotas* set baseline allocations that you can adjust by
[requesting an increase](https://docs.cloud.google.com/docs/quotas/help/request_increase) or using the
[quota adjuster](https://docs.cloud.google.com/docs/quotas/quota-adjuster.md.txt), while *system limits* are fixed
operational thresholds that can't be changed.

To learn how quotas work at the Google Cloud project level and how to track
consumption, see the [Cloud Quotas overview](https://docs.cloud.google.com/docs/quotas/overview.md.txt).

## Get quota and system limit metric names

Quotas and system limits have two types of names: display names and metric
names. Display names have spaces and capitalization that make them easier for
humans to read. Metric names are more likely to be lowercase and delimited by
underscores instead of spaces; the exact format depends on the service.

The following instructions show how to get metric names for quotas and system
limits by using either the Google Cloud console or the
Google Cloud CLI.

### Console

1. In the Google Cloud console, go to the
   **Identity and Access Management (IAM) \& Admin \>
   Quotas \& System Limits** page:


   [Go to Quotas \& System Limits](https://console.cloud.google.com/iam-admin/quotas)

   <br />

   The table on this page displays quotas and system limits that have usage or
   have adjusted values, and a reference entry for other quotas. The reference
   entry has the word "default" in parentheses at the end of the listing in the
   **Name** column. For example, `SetIAM Policy requests per minute
   per region (default)` is the reference entry for the quota
   `SetIamPolicyRequestsPerMinutePerProject`.
2. If you don't see the **Metric** column, take the following steps.

   1. Click **Column display options**.
   2. Select **Metric**.
   3. Click **OK** . The **Metric** column appears in the table.

   The **Metric** column shows the metric names. To filter the results, enter a
   property name or value in the field next to
   **Filter**.

### gcloud

To get the metric names for a service by
using the gcloud CLI, run the `quotas info list`
command. To skip lines that don't list metric names, pass the output to a
command such as `grep` with `metric:` as the search term, or use the
gcloud CLI
[`--format` flag](https://docs.cloud.google.com/sdk/gcloud/reference.md.txt#--format):

    gcloud quotas info list --project=PROJECT_ID_OR_NUMBER \
        --service=SERVICE_NAME --format="value(metric)"

Replace the following:

- `PROJECT_ID_OR_NUMBER`: the project ID or project number.
- `SERVICE_NAME`: the name of the service whose quota metrics you want to see---for example, the service name for Compute Engine is `compute.googleapis.com`. Include the `googleapis.com` portion of the service name.

## Request a quota increase

To adjust most quotas, use the Google Cloud console.
For more information, see
[Request a quota adjustment](https://docs.cloud.google.com/docs/quotas/help/request_increase).

If a quota is not adjustable in the Google Cloud console, email
[biglake-help@google.com](mailto:biglake-help@google.com).

## Quotas

The following quotas apply to Lakehouse:

### Lakehouse runtime catalog

The following quotas apply to Lakehouse runtime catalog:

| Limit | Default | Notes |
|---|---|---|
| Table modifications per day | 1,500 modifications | Your project can make up to 1,500 table modifications per table per day. A [load job](https://docs.cloud.google.com/bigquery/quotas.md.txt#load_jobs), [copy job](https://docs.cloud.google.com/bigquery/quotas.md.txt#copy_jobs), or [query job](https://docs.cloud.google.com/bigquery/quotas.md.txt#query_jobs) that appends or overwrites table data counts as one modification to the table. This limit cannot be changed. DML statements are excluded and *don't* count toward the number of table modifications per day. Streaming data is excluded and *doesn't* count toward the number of table modifications per day. |
| Maximum rate of table metadata update operations per table | 5 operations per 10 seconds | Your project can make up to five table metadata update operations per 10 seconds per table. This limit applies to all table metadata update operations, performed by the following: - Google Cloud console - The bq command-line tool - BigQuery client libraries - The following API methods: - [`tables.insert`](https://docs.cloud.google.com/bigquery/docs/reference/rest/v2/tables/insert.md.txt) - [`tables.patch`](https://docs.cloud.google.com/bigquery/docs/reference/rest/v2/tables/patch.md.txt) - [`tables.update`](https://docs.cloud.google.com/bigquery/docs/reference/rest/v2/tables/update.md.txt) - [DDL](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language.md.txt) statements on tables This limit also includes the combined total of all load jobs, copy jobs, and query jobs that append to or overwrite a destination table or that use a [DML](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax.md.txt) `DELETE`, `INSERT`, `MERGE`, `TRUNCATE TABLE`, or `UPDATE` statements to write data to a table. Note that while DML statements count toward this limit, they are not subject to it if it is reached. DML operations have [dedicated rate limits](https://docs.cloud.google.com/bigquery/quotas.md.txt#data-manipulation-language-statements). If you exceed this limit, you get an error message like `Exceeded rate limits: too many table update operations for this table`. This error is transient; you can retry with an exponential backoff. To identify the operations that count toward this limit, you can [Inspect your logs](https://docs.cloud.google.com/bigquery/docs/reference/auditlogs.md.txt#bigqueryauditmetadata_format). Refer to [Troubleshoot quota errors](https://docs.cloud.google.com/bigquery/docs/troubleshoot-quotas.md.txt#ts-maximum-update-table-metadata-limit) for guidance on diagnosing and resolving this error. |
| Maximum number of columns per table | 10,000 columns | Each table, query result, or view definition can have up to 10,000 columns. This includes nested and repeated columns. |

### Cross-cloud data access

| Quota | Value |
|---|---|
| Maximum total number of namespaces in a federated catalog | 100 namespaces |
| Maximum number of tables per namespace in a federated catalog | 300 tables per namespace |
| Maximum number of namespace filters in a federated catalog | 16 namespace filters |

## System limits

The following system limits apply to Lakehouse:

### Lakehouse runtime catalog

The following system limits apply to Lakehouse runtime catalog:

| System limit | Value |
|---|---|
| Maximum number of Apache Iceberg tables managed by *Lakehouse* per Cloud Storage bucket that a discovery scan supports | 1,000 tables per bucket |