" Não, seus olhos não o enganaram, você leu corretamente. O Couchbase Ruby SDK está de volta por demanda popular e estamos entusiasmados em fazer este anúncio! "
Links úteis
Introdução
O Couchbase Ruby SDK permite que você se conecte a um cluster do Couchbase a partir do Ruby usando uma API simplificada e de alto desempenho que é uma extensão do Ruby nativo. Nosso SDK foi escrito pensando no futuro dos recursos do servidor, oferecendo suporte a recursos como escopos e coleções, que serão a nova maneira de gerenciar dados.
Compatibilidade
O Couchbase Ruby SDK 3.0 é
-
- Compatível com qualquer versão do MRI Ruby superior à 2.5.0, inclusive.
- Totalmente compatível com a versão do servidor Couchbase superior à 6.0.0, inclusive.
Mais informações sobre compatibilidade podem ser encontradas aqui.
Instalação
Você pode instalar o Ruby seguindo as etapas mencionadas no site oficial Site do Ruby.
Depois que o Ruby estiver instalado, a instalação da versão Beta do Ruby SDK for Couchbase é muito simples. Em uma janela de terminal, basta digitar o seguinte comando,
1 |
gema instalar --pré couchbase |
Nota : - pré é necessário para instruir gema para instalar a versão beta versão do SDK.
Também fornecemos repositórios de gem com extensões pré-compiladas. Use-as caso o compilador C/C++ não possa ser instalado na caixa para compilar a extensão durante a instalação da gem. Consulte esta página para obter mais instruções: Notas de versão e arquivos do Couchbase Ruby
Conectando-se ao cluster do Couchbase
Uma conexão com um cluster do Couchbase Server é representada por um Aglomerado objeto. A Aglomerado fornece acesso a Buckets, Scopes e Collections, bem como a vários serviços e interfaces de gerenciamento do Couchbase.
Conectar-se ao Couchbase Cluster é muito simples, tudo o que você precisa fazer é importar a biblioteca couchbase e chamar o método de conexão no objeto do cluster, passando as credenciais usando Opções de cluster como você pode ver abaixo.
1 2 3 4 5 6 |
exigir "couchbase" # importar a biblioteca couchbase incluir Couchbase opções = Aglomerado::ClusterOptions.novo opções.autenticar("Administrador", "senha") agrupamento = Aglomerado.conectar("couchbase://localhost", opções) |
Recursos
Essa nova joia vem com vários recursos novos e aprimorados que são simples e menos detalhados.
Abaixo, você encontrará destaques de alguns dos recursos ilustrados com exemplos que usam o Couchbase Server versão 6.5.1 no modo de visualização para desenvolvedores com amostra de viagem
e amostra de cerveja
baldes adicionados.
Para obter um conjunto abrangente de recursos, consulte nosso documentação.
Operação de valor-chave
A operação Key Value, também conhecida como Data Service, oferece a maneira mais simples e rápida de recuperar ou alterar dados em que a chave do documento é conhecida.
O exemplo usa a coleção padrão travel-samples para,
-
-
-
-
- Criar um novo documento (atualizar se já existir um documento) com a chave "foo" .
- Recuperar o documento.
- Remover / Excluir o documento.
-
-
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
exigir 'couchbase' incluir Couchbase opções = Aglomerado::ClusterOptions.novo opções.autenticar("Administrador", "senha") agrupamento = Aglomerado.conectar("couchbase://localhost", opções) balde = agrupamento.balde("amostra de viagem") coleção = balde.padrão_coleção res = coleção.upsert("foo", {"bar" => 42}) res = coleção.obter("foo") coloca res.conteúdo res = coleção.remover("foo") coloca res agrupamento.desconectar |
Operações de subdocumentos
Subdocumento podem ser usadas para acessar eficientemente peças de documentos usando caminhos de subdocumentos. Eles podem ser mais rápidos e mais eficientes em termos de rede do que os caminhos de subdocumentos. documento completo operações como upsert, substituir e obter porque transmitem apenas as seções acessadas do documento pela rede. Essas operações também são atômicas, permitindo modificações seguras em documentos com controle de simultaneidade integrado.
O exemplo abaixo usa caminhos de subdocumentos, fax e e-mail para alterar um documento com a chave "customer123".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
exigir 'couchbase' incluir Couchbase opções = Aglomerado::ClusterOptions.novo opções.autenticar("Administrador", "senha") agrupamento = Aglomerado.conectar("couchbase://localhost", opções) balde = agrupamento.balde("default") coleção = balde.padrão_coleção documento = { nome: "Douglas Reynholm", e-mail: "douglas@reynholmindustries.com" } coleção.upsert("customer123", documento) res = coleção.mutate_in("customer123", [ MutateInSpec.upsert("fax", "311-555-0151"), MutateInSpec.substituir("email", "dougr96@hotmail.com"), ]) |
Consulta
Você pode consultar documentos no Couchbase usando a linguagem de consulta N1QL, uma linguagem baseada em SQL, mas projetada para documentos JSON estruturados e flexíveis. A consulta pode resolver tarefas típicas de programação, como encontrar um perfil de usuário por endereço de e-mail, login do Facebook ou ID de usuário.
O exemplo abaixo usa parâmetros nomeados para recuperar 10 documentos do tipo "hotel" de amostra de viagem
balde.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
exigir 'couchbase' incluir Couchbase opções = Aglomerado::ClusterOptions.novo opções.autenticar("Administrador", "senha") agrupamento = Aglomerado.conectar("couchbase://localhost", opções) opções = Aglomerado::Opções de consulta.novo opções.named_parameters({tipo: "hotel"}) res = agrupamento.consulta("SELECT * FROM `travel-sample` WHERE type = $type LIMIT 10", opções) res.linhas.cada fazer |fila| coloca "#{row["viagens-amostra"]["país"]}. #{row["viagens-amostra"]["nome"]}" final |
Análises
O serviço de análise do Couchbase oferece a capacidade de executar consultas ad-hoc complexas para obter insights sobre dados operacionais sem impedir as cargas de trabalho operacionais. A sintaxe da consulta é essencialmente a mesma do N1QL, permitindo que você aproveite seu conhecimento de SQL para executar consultas analíticas em dados JSON.
O exemplo abaixo usa parâmetros posicionais para recuperar número de aeroportos na França, de
conjunto de dados de aeroportos
criado em amostra de viagem
balde.
1 2 3 4 5 6 7 8 9 10 11 12 |
exigir 'couchbase' incluir Couchbase opções = Aglomerado::ClusterOptions.novo opções.autenticar("Administrador", "senha") agrupamento = Aglomerado.conectar("couchbase://localhost", opções) opções = Aglomerado::AnalyticsOptions.novo opções.parâmetros_posicionais(["França"]) resultado = agrupamento.consulta_analítica('SELECT COUNT(*) AS airport_count FROM airports WHERE country = ?',opções) coloca "Aeroportos na França: #{res.rows.first["aeroporto_contagem"]}" |
Conclusão
Espero que você já esteja animado e pronto para criar seu próximo aplicativo usando essa nova joia!
Se você tiver alguma dúvida ou comentário, dê uma olhada em nossa comunidade de desenvolvedores. Gostaríamos muito de ouvir sua opinião. Você também pode conferir o SDK em GitHub.
Feliz programação !!!
Brilhante e intuitivo. Adoro a abordagem passo a passo fácil e a clareza do Ruby SDK com o Couchbase!