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 |
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:
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:
Para consultar dados na tabela já criada:
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.
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.
Instâ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 |