SQL Database
Preview
Azion SQL Database é uma solução SQL nativa de edge projetada para aplicações serverless. É totalmente compatível com ACID e utiliza o dialeto SQL do SQLite para fornecer um ambiente de desenvolvimento familiar, facilitando a integração rápida. O Azion SQL Database implementa uma arquitetura Principal/Réplicas para permitir consultas com latência ultra baixa no edge da rede, melhorando o desempenho de aplicações distribuídas. Dessa forma, a instância principal é replicada e armazenada em todos os nodes da Edge Network da Azion para garantir a disponibilidade e a tolerância a falhas.
Com o SQL Database, você pode realizar diferentes tarefas, incluindo:
- Armazenar dados de telemetria em tempo real, ideal para IoT.
- Gerenciar inventário de centros de distribuição de comércio eletrônico/varejo distribuídos.
- Armazenar e analisar registros de acesso, identificando e mitigando rapidamente ataques de segurança.
- Armazenar e gerenciar dados de acesso.
Existem duas maneiras de construir um banco de dados através do SQL Database: usando a API REST do SQL Database ou escrevendo uma edge function. A API REST permite criar, ler, atualizar, excluir e listar bancos de dados. Uma edge function permite recuperar dados de um banco de dados.
Implementação
Escopo | Recurso |
---|---|
Gerenciar bancos de dados com API REST | Como gerenciar um banco de dados no SQL Database |
Criar queries com API REST | Como criar e consultar dados no SQL Database |
Ler dados de um banco de dados com uma edge function | Como interagir com o Azion SQL Database através do Functions |
Conhecer o Vector Search do SQL Database | Referência do Vector Search do SQL Database |
Importe dados para o SQL Database | Guia de importação de dados para o SQL Database |
Regras de negócios
Escrever bancos de dados, através da API REST ou de uma edge function, só é possível na instância principal. Todas as réplicas são somente leitura.
Durante a criação de um banco de dados, especialmente o primeiro, há um tempo de propagação para que ele seja criado nos edge nodes. A resposta da sua requisição POST
exibirá um estado de criando
e você pode executar requisições GET
para verificar quando estiver criado.
Você também pode usar uma edge function JavaScript para consultar e analisar se os snapshots foram mergeados nas réplicas.
Resiliência de dados
Com uma arquitetura distribuída em execução nos edge nodes da Azion, o SQL Database garante que os dados sejam mantidos seguros e disponíveis. Seus dados são criados em uma instância principal e propagados por réplicas nos edge nodes da Azion.
Bancos de dados
Um banco de dados é um conjunto de tabelas estruturadas que permitem escrever e ler dados na linguagem SQL. Organizados em colunas e linhas, os usuários podem adicionar dados logicamente, com colunas representando informações específicas no eixo vertical, enquanto as linhas representam dados de entrada individuais, relacionados a uma coluna, no eixo horizontal.
Criar um banco de dados é o primeiro passo para usar o SQL Database e adicionar dados:
curl --location 'https://api.azion.com/v4/edge_sql/databases' \--header 'Authorization: Token [TOKEN VALUE]' \--header 'Content-Type: application/json' \--data '{ "name": "meu-banco-de-dados"}'
Query
Uma query é como você estrutura sua tabela ou uma busca em linhas em um banco de dados previamente criado. É possível fazer consultas com base em relações e restrições.
Por exemplo, para criar uma tabela via cURL:
curl --location 'https://api.azion.com/v4/edge_sql/databases/{id_database}/query' \--header 'Authorization: Token [TOKEN VALUE]' \--header 'Content-Type: application/json' \--data '{ "statements": [ "CREATE TABLE usuarios (id INTEGER PRIMARY KEY, nome TEXT NOT NULL);" ]}'
Para consultar dados na tabela já criada:
curl --location 'https://api.azion.com/v4/edge_sql/databases/{id_database}/query' \--header 'Authorization: Token [TOKEN VALUE]' \--header 'Content-Type: application/json' \--data '{ "statements": [ "SELECT * FROM usuarios;" ]}'
Vector Search
Vector Search é um recurso do SQL Database da Azion que permite aos clientes implementar mecanismos de busca semântica. Enquanto os modelos de busca tradicionais visam encontrar correspondências exatas, como correspondências de palavras-chave, os modelos de busca vetorial usam algoritmos especializados para identificar itens semelhantes com base em suas representações matemáticas, ou embeddings vetoriais.
Esta funcionalidade se integra nativamente com AI Inference para impulsionar implementações de RAG sem infraestrutura adicional, combinando capacidades SQL e vetoriais em um único banco de dados. O sistema suporta a integração do LangChain Vector Store para armazenamento de documentos e do LangChain Retriever para busca híbrida avançada que combina capacidades de busca vetorial e de texto completo.
Interagindo com o SQL Database via terminal
Você pode interagir com o SQL Database diretamente do seu terminal usando o projeto edgesql-shell. Esta ferramenta fornece uma interface de linha de comando para executar comandos SQL em seus bancos de dados SQL Database.
Consulte a documentação abaixo para detalhes sobre como instalar e usar o EdgeSQL Shell.
Ir para o guia de instalação do SQL Database Shell Ir para a referência de comandos do SQL Database ShellInstâncias
Instância principal
A instância de armazenamento primária que recebe todos os comandos de write (escrita) e sincroniza os dados recebidos com as réplicas. Também permite ações de read (leitura).
Todos os bancos de dados são criados e todas as queries são escritas na instância principal. Após o processo automático gerenciado pela Azion, seus dados são processados em edge locations, snapshots são criados e mergeados em réplicas.
Réplicas
Réplicas são cópias read-only (somente leitura) da instância principal. As réplicas são atualizadas em tempos de propagação diferentes, então eventualmente estarão sincronizadas na instância principal, mas isso não ocorre instantaneamente.
O processo de replicação ocorre automaticamente através de sistemas de backend da Azion, nos quais snapshots são criados e então mergeados em cada réplica.
Elas lidam com armazenamento, processamento e gerenciamento de dados próximos aos dispositivos que leem os dados, auxiliando na distribuição, disponibilidade e baixa latência de dados.
Linguagens de consulta suportadas
Como o SQL Database da Azion é baseado no SQLite, ele suporta as mesmas linguagens SQL que o SQLite.
Veja as linguagens SQL entendidas para criar queries.
Limites
Estes são os limites default:
Escopo | Limite |
---|---|
Número máximo de colunas por tabela | 100 |
Duração máxima da consulta SQL | 30 segundos |
Estes são os limites default para cada Plano de Serviço:
Escopo | Developer | Business | Enterprise | Mission Critical |
---|---|---|---|---|
Bancos de dados | 10 | 50 | 200 | 200 |
Tamanho máximo do banco de dados | 200 MB | 500 MB | 2 GB | 2 GB |
Armazenamento máximo por conta | 5 GB | 50 GB | 300 GB | 300 GB |
Para ver os os bancos de dados relacionados à sua conta consulte este guia.