Este guia apresenta o Nebluna Console, uma ferramenta de linha de comando (CLI) projetada para interagir com bancos de dados de grafos Nebluna Graph. A ferramenta permite executar consultas, gerenciar schemas e administrar o banco de dados diretamente do terminal.
Pré-requisitos e Obtenção do Software
Antes de instalar o Nebluna Console, verifiqeu se seu ambiente atende aos seguintes critérios:
- Sistema Operacional: Linux, macOS ou Windows.
- Compilador Go: Versão 1.13 ou superior instalada no sistema.
- Acesso à Rede: Capacidade de conectar-se a um serviço Nebluna Graph em execução.
Existem múltiplas formas de adquirir o cliente. A opção mais direta para testes rápidos é baixar o binário pré-compilado. Para personalização, a compilação a partir do código-fonte é recomendada.
Instalação via Binário Pré-copmilado
Baixe o arquivo binário adequado ao seu sistema operacional. Após o download, conceda permissão de execução ao arquivo:
chmod +x nebluna-cli
O executável nebluna-cli estará pronto para uso.
Compilação a Partir do Código-Fonte
Para desenvolvedores que desejam modificar ou contribuir com a ferramenta:
- Obtenha o código-fonte do repositório oficial.
- Navegue até o diretório do projeto.
- Execute o comando de construção. Isso gerará o executável final.
git clone [url-do-repositorio-nebluna-console]
cd nebluna-console
make
O binário nebluna-console será criado no diretório atual.
Conexão Básica e Modos de Operação
Para estabelecer uma conexão, utilize o comando principal seguido dos parâmetros de autenticação e rede.
./nebluna-cli -host [endereco-do-servidor] -port [porta] -user [nome-do-usuario] -password [senha]
<p>A tabela abaixo descreve os principais parâmetros de conexão:</p>
| Parâmetro | Descrição | Exemplo |
|---|---|---|
-host |
Endereço IP ou hostname do serviço graphd. | localhost, 10.0.0.5 |
-port |
Número da porta do serviço graphd. | 9669 (padrão) |
-user |
Nome de usuário para autenticação. | admin, app_user |
-password |
Senha correspondente ao usuário. | meu_seguro123 |
-timeout |
Tempo limite para a operação (em milissegundos). | 60000 |
A ferramenta opera em três modos distintos:
- Modo Interativo: Inicie o cliente sem argumentos para entrar em um loop de leitura-e-execução de comandos (REPL). Este modo permite uma exploração iterativa do banco de dados.
- Execução de Comando Único: Use a flag
-cmdpara executar um único comando nGQL e, em seguida, encerrar a sessão. Ideal para scripts. - Execução de Arquivo de Script: Forneça um arquivo contendo múltiplos comandos nGQL através da flag
-f. O cliente executará cada comando sequencialmente.
# Modo interativo
./nebluna-cli -host 192.168.0.10 -user test
# Execução única
./nebluna-cli -host 192.168.0.10 -cmd "SHOW SPACES;"
# Execução de script
./nebluna-cli -host 192.168.0.10 -f schema_setup.ngql
Recursos e Comandos Úteis
Dentro do modo interativo, comandos especiais começados por dois-pontos (:) oferecem funcionalidades adicionais:
:exportar_csv <arquivo.csv>: Redireciona a saída do último comando executado para um arquivo no formato CSV.:carregar_dados_teste: Popula o banco de dados atual com um conjunto de dados de demonstração pré-configurado (ex.: dados de jogadores de basquete), facilitando o aprendizado.:plano_execucao_dot <arquivo.dot>: Gera um arquivo DOT representando o plano de execução de uma consulta complexa, útil para análise de desempenho.
Conexão Segura e Ajustes de Desempenho
Para ambientes que exigem comunicação criptografada, a ferramenta suporta conexões SSL/TLS. É necessário fornecer o caminho para o certificado da autoridade certificadora (CA) raiz.
./nebluna-cli -host srv-grafos.corp.local -enable_ssl -ca_path /caminho/para/ca.pem
Ajustes finos podem ser feitos para otimizar a experiência:
- Timeout Dinâmico: Aumente o valor do
-timeoutpara consultas que operam em grandes volumes de dados ou em redes com maior latência. - Lote de Comandos: Utilizar o modo de arquivo (
-f) para operações em lote reduz o overhead de conexão comparado a múltiplas invocações do cliente.
Solução de Problemas Comuns
Erro de conexão timeout: Verifique a conectividade de rede com o servidor e a correta configuração do endereço e porta. Considere aumentar o parâmetro -timeout.
Comandos disponíveis: Execute o cliente com a flag -help para visualizar todas as opções de linha de comando e os comandos internos disponíveis.
Encerramento seguro da sessão: Use o comando SAIR ou a combinação de teclas Ctrl+D para fechar a conexão interativa de forma limpa.