El paralelismo se controla mediante el número de nodos del clúster de Bigtable. Cada nodo gestiona uno o varios intervalos de claves, aunque estos pueden moverse entre nodos como parte del equilibrio de carga. Para obtener más información, consulta Información sobre el rendimiento en la documentación de Bigtable.
Se te cobra por el número de nodos de los clústeres de tu instancia. Consulta los precios de Bigtable.
Rendimiento
En la siguiente tabla se muestran las métricas de rendimiento de las operaciones de escritura de E/S de Bigtable. Las cargas de trabajo se ejecutaron en un e2-standard2 trabajador con el SDK de Apache Beam 2.48.0 para Java. No usaron Runner v2.
Estas métricas se basan en sencillas canalizaciones por lotes. Su objetivo es comparar el rendimiento entre conectores de E/S y no representan necesariamente las canalizaciones del mundo real.
El rendimiento de las canalizaciones de Dataflow es complejo y depende del tipo de VM, los datos que se procesan, el rendimiento de las fuentes y los receptores externos, y el código de usuario. Las métricas se basan en la ejecución del SDK de Java y no representan las características de rendimiento de otros SDKs de lenguaje. Para obtener más información, consulta Rendimiento de Beam IO.
Prácticas recomendadas
En general, evita usar transacciones. No se garantiza que las transacciones sean idempotentes y es posible que Dataflow las invoque varias veces debido a reintentos, lo que puede provocar valores inesperados.
Un solo trabajador de Dataflow puede procesar datos de muchos intervalos de claves, lo que provoca escrituras ineficientes en Bigtable. Usar GroupByKey para agrupar los datos por clave de Bigtable puede mejorar significativamente el rendimiento de escritura.
Si escribes conjuntos de datos grandes en Bigtable, te recomendamos que llames a withFlowControl. Este ajuste limita automáticamente la velocidad del tráfico a Bigtable para asegurarse de que los servidores de Bigtable tengan suficientes recursos disponibles para servir datos.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-10 (UTC)."],[[["\u003cp\u003eThe Apache Beam Bigtable I/O connector facilitates writing data from Dataflow to Bigtable, and pre-built Google Dataflow templates can also be used depending on the use case.\u003c/p\u003e\n"],["\u003cp\u003eBigtable cluster nodes dictate parallelism, with each node managing key ranges that can shift during load balancing, and node count directly affects Bigtable costs.\u003c/p\u003e\n"],["\u003cp\u003ePerformance metrics for Bigtable I/O write operations were measured at 65 MBps or 60,000 elements per second using a specific setup, though real-world pipeline performance can vary greatly.\u003c/p\u003e\n"],["\u003cp\u003eAvoid using transactions when writing to Bigtable with Dataflow due to potential issues with idempotency and retries, and use \u003ccode\u003eGroupByKey\u003c/code\u003e for improved write efficiency.\u003c/p\u003e\n"],["\u003cp\u003eUtilizing \u003ccode\u003ewithFlowControl\u003c/code\u003e is advised when writing substantial datasets to Bigtable to automatically manage traffic and prevent Bigtable server overload.\u003c/p\u003e\n"]]],[],null,["To write data from Dataflow to Bigtable, use the\nApache Beam [Bigtable I/O connector](https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/io/gcp/bigtable/package-summary.html).\n| **Note:** Depending on your scenario, consider using one of the [Google-provided Dataflow templates](/dataflow/docs/guides/templates/provided-templates). Several of these write to Bigtable.\n\nParallelism\n\nParallelism is controlled by the number of\n[nodes](/bigtable/docs/instances-clusters-nodes#nodes) in the\nBigtable cluster. Each node manages one or more key ranges,\nalthough key ranges can move between nodes as part of\n[load balancing](/bigtable/docs/overview#load-balancing). For more information,\nsee [Understand performance](/bigtable/docs/performance) in the\nBigtable documentation.\n\nYou are charged for the number of nodes in your instance's clusters. See\n[Bigtable pricing](/bigtable/pricing).\n\nPerformance\n\nThe following table shows performance metrics for Bigtable I/O\nwrite operations. The workloads were run on one `e2-standard2` worker, using\nthe Apache Beam SDK 2.48.0 for Java. They did not use Runner v2.\n\n| 100M record \\| 1kB \\| 1 column | Throughput (bytes) | Throughput (elements) |\n|---------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|----------------------------|\n| [Write](https://github.com/apache/beam/blob/master/it/google-cloud-platform/src/test/java/org/apache/beam/it/gcp/bigtable/BigTableIOLT.java#L117) | 65 MBps | 60,000 elements per second |\n\n\nThese metrics are based on simple batch pipelines. They are intended to compare performance\nbetween I/O connectors, and are not necessarily representative of real-world pipelines.\nDataflow pipeline performance is complex, and is a function of VM type, the data\nbeing processed, the performance of external sources and sinks, and user code. Metrics are based\non running the Java SDK, and aren't representative of the performance characteristics of other\nlanguage SDKs. For more information, see [Beam IO\nPerformance](https://beam.apache.org/performance/).\n\n\u003cbr /\u003e\n\nBest practices\n\n- In general, avoid using transactions. Transactions aren't guaranteed to be\n idempotent, and Dataflow might invoke them multiple times due\n to retries, causing unexpected values.\n\n- A single Dataflow worker might process data for many key\n ranges, leading to inefficient writes to Bigtable. Using\n `GroupByKey` to group data by Bigtable key can significantly\n improve write performance.\n\n- If you write large datasets to Bigtable, consider calling\n [`withFlowControl`](https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.Write.html#withFlowControl-boolean-). This setting automatically rate-limits\n traffic to Bigtable, to ensure the Bigtable\n servers have enough resources available to serve data.\n\nWhat's next\n\n- Read the [Bigtable I/O connector](https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/io/gcp/bigtable/package-summary.html) documentation.\n- See the list of [Google-provided templates](/dataflow/docs/guides/templates/provided-templates)."]]