Interfaces disponíveis
Você pode usar uma das várias interfaces programáticas ao interagir com no Spanner. Estas são as interfaces disponíveis, na ordem em que recomendamos usá-las:
- Bibliotecas de cliente: as bibliotecas de cliente do Spanner são disponíveis em vários idiomas e são criados em gRPC. Essas bibliotecas de cliente fornecem uma camada de abstração sobre o gRPC e processam os detalhes de gerenciamento de sessão, execução de transações, novas tentativas e muito mais.
- Drivers ORM e framework: o Google oferece suporte a drivers do Spanner de código aberto para várias bibliotecas conhecidas de mapeamento relacional de objetos (ORMs) e frameworks, como JDBC. Esses drivers permitem o uso de bancos de dados do Spanner APIs definidas por esses frameworks.
- API RPC: se uma biblioteca de cliente ou driver ORM não estiver disponível para sua opção de linguagem de programação, use a API RPC, que é criada no gRPC. Ele oferece uma série de benefícios de desempenho em comparação ao uso da API REST, incluindo a representação de objetos no formato de buffer de protocolo (que são mais rápidos para produzir e consumir se comparados ao JSON) e conexões persistentes (que resultam em sobrecarga menor por solicitação). Leia mais sobre esses e outros benefícios em Conceitos de gRPC.
- API REST: se não for possível usar as bibliotecas de cliente do Spanner ou a API RPC, use a API REST. Alguns recursos que estão disponíveis na API RPC não são aceitos na API REST, conforme documentado abaixo.
API REST x RPC
Esta tabela compara os recursos do Spanner disponíveis nas interfaces da API REST e RPC.
Recurso | Aceito na API RPC? | Aceito na API REST? |
---|---|---|
Cancelar uma solicitação | Sim | Não |
Definir um prazo ou tempo limite de uma solicitação | Sim | Não |
Enviar uma solicitação de streaming | Sim. consulte ExecuteStreamingSQL e StreamingRead . |
Parcialmente. Streaming HTTP é compatível, mas o controle de fluxo no nível do aplicativo, não. |
Suporte a recursos de bibliotecas de cliente
A tabela a seguir lista as bibliotecas de cliente e os principais recursos do Spanner compatíveis com cada uma.