[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-04 (世界標準時間)。"],[],[],null,["# Tables and views\n================\n\nIn Bigtable, you store your data in tables, and you can create several\ntypes of views of your tables. The type of view that you use depends on your\nuse case.\n\nTables\n------\n\nA Bigtable *table* is a sorted key-value map that stores data in rows\nand columns. Each row is indexed by a single, unique *row key.* Columns that are\nrelated to one another are typically grouped into a *column family*.\n\nBigtable has a flexible data model, and its tables are *sparse*.\nThis means that if a column is unused in a row, no data is stored for the\ncolumn. You don't need to store NULL values for unused columns like you would\nwith a relational database. In a Bigtable table, a given row might\nhave one column and the row next to it 100 columns.\n\nIn a row, a column can contain multiple cells, each identified by the\nfour-tuple (row key, column family, column qualifier, timestamp). Storing\nmultiple cells in a column provides a record of how the stored data for that row\nand column has changed over time.\n\nA Bigtable table doesn't support joins, and transactions are\nsupported only within a single row.\n\nA table is an instance-level resource that is automatically replicated to every\ncluster in the instance. Data retention is controlled with *garbage collection*\npolicies that are set at the column-family level.\n\nFor more information, see the\n[Bigtable overview](/bigtable/docs/overview)\nand\n[Schema design best practices](/bigtable/docs/schema-design).\n\nViews\n-----\n\nBigtable supports the following types of table views: logical views,\ncontinuous materialized views, and authorized views. Views let you share table data with\nparticular users and groups without giving them access to the underlying source\ndata.\n\n### Logical views\n\nA *logical view* -- often referred to as just a *view* -- is the result of a SQL\nquery. It functions as a virtual table that can be queried by other SQL queries.\nFor more information, see\n[Create and manage logical views](/bigtable/docs/create-manage-logical-views).\n\n### Continuous materialized views\n\n|\n| **Preview**\n|\n|\n| This product or feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA products and features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nA *continuous materialized view* is created by continuously running a SQL query against a\nBigtable table. Bigtable creates a new table based\non the query output and keeps it in sync with the source table.\n\nContinuous materialized views can help improve query performance. The new table -- the\ncontinuous materialized view -- has a different schema than the source table, containing\npre-aggregated or transformed data that is optimized for different queries than\nthose used on the source table.\n\nContinuous materialized views are read-only. You are charged for storage of a continuous materialized\nview as well as for the processing work that goes into creating the second\ntable, keeping it in sync with the source table, and replicating it.\n\nFor more information, see [Continuous materialized\nviews](/bigtable/docs/continuous-materialized-views).\n\n### Authorized views\n\n*Authorized views* are views of tables that you configure to include\nspecific table data and then grant access to separately from access to the\nsource table. An authorized view is defined by a JSON-formatted definition\nfile.\n\nUnlike continuous materialized views or logical views, Bigtable authorized views\ncan be used to control both read and write access.\n\nAuthorized views are useful in cases where you store data for multiple\ncustomers in a Bigtable table, and you want to grant each customer\naccess only to a subset of the table that contains their data.\n\nAuthorized views don't incur additional storage costs.\n\nFor more information, see the\n[Overview of authorized views](/bigtable/docs/authorized-views).\n\n### Comparisons\n\nThe following table provides additional information about how\nBigtable table views differ from each other.\n\nWhat's next\n-----------\n\n- [Instances, clusters, and nodes](/bigtable/docs/instances-clusters-nodes)\n- [Introduction to SQL in Bigtable](/bigtable/docs/introduction-sql)\n- [Bigtable access control with IAM](/bigtable/docs/access-control)"]]