Edge SQL
Preview
Azion Edge SQL é 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 Edge SQL 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 Edge SQL, 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 Edge SQL: usando a API REST do Edge SQL 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 Edge SQL |
Criar queries com API REST | Como criar e consultar dados no Edge SQL |
Ler dados de um banco de dados com uma edge function | Como interagir com o Azion Edge SQL através do Edge Functions |
Conhecer o Vector Search do Edge SQL | Referência do Vector Search do Edge SQL |
Importe dados para o Edge SQL | Guia de importação de dados para o Edge SQL |
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 Edge SQL 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 Edge SQL 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 Edge SQL 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 Edge AI 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 Edge SQL via terminal
Você pode interagir com o Edge SQL 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 Edge SQL.
Consulte a documentação abaixo para detalhes sobre como instalar e usar o EdgeSQL Shell.
Ir para o guia de instalação do Edge SQL Shell Ir para a referência de comandos do Edge SQL 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 Edge SQL 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.