Instalação e uso de banco de dados NoSQL

Redis(1) Instalação e uso concluídos . Conclua a inserção, exclusão e consulta do banco de dados.

  RedisÉ um key-valuesistema de armazenamento chave-valor ( ), ou seja, um banco de dados não relacional par chave-valor, e Memcachedsimilares, que atualmente está sendo adotado por cada vez mais empresas de Internet. RedisComo um banco de dados de valor-chave de alto desempenho, ele não apenas compensa memcachedem grande parte a deficiência desse tipo de armazenamento de valor-chave, mas também pode desempenhar um papel complementar muito bom para bancos de dados relacionais em algumas ocasiões. RedisFornece Python, Ruby, Erlang, PHPclientes, que são muito convenientes de usar.

①Faça login como hadoopusuário ubuntu kylin, windowsuse o sistema para salvar a transferência do arquivo FileZillaem formato compactado no diretório e agora descompacte o pacote no .redis-5.0.5.tar.gz“/home/hadoop/下载”/usr/local
insira a descrição da imagem aqui

②Descompacte redis-5.0.5.tar.gzo arquivo e salve-o no “/usr/local/”diretório. insira a descrição da imagem aqui
③Renomeie-o redis-5.0.5para redise redisdê permissão de diretório ao hadoopusuário.
insira a descrição da imagem aqui
④Entre “/usr/local/redis”no diretório, digite compile e install Redis.
insira a descrição da imagem aqui
insira a descrição da imagem aqui
⑤A Redisinstalação foi concluída, agora inicie Rediso servidor.
insira a descrição da imagem aqui
⑥Crie um novo terminal e inicie Rediso cliente. Depois que o cliente se conectar ao servidor, “127.0.0.1:6379>”as informações do prompt de comando serão exibidas, indicando que IPo endereço do servidor é 127.0.0.1e a porta é 6379. Agora você pode executar operações simples, como definir a chave para ”hello”o valor ”world”e buscar o valor correspondente ”hello”à . Neste ponto, Redisa instalação e a operação são bem-sucedidas e, em seguida, o banco de dados pode ser operado Redis.
insira a descrição da imagem aqui
RedisO banco de dados armazena dados na forma de . Ao <key,value>armazenar os dados da tabela no banco de dados, o método de determinação da soma é o seguinte :Rediskeyvalue

* key=表名:主键值:列名
* value=列值 

⑦Inserir dados: Para Redisinserir um dado, você só precisa projetar a soma primeiro e key, valueem seguida, usar seto comando para inserir os dados. Por exemplo, Coursepara inserir um novo curso "Big Data" na tabela, 4 créditos, os comandos de operação e os resultados são mostrados na figura abaixo.
insira a descrição da imagem aqui
⑧Excluir dados: RedisExiste um comando especial para excluir dados — delcomando e o formato do comando é " delchave". Portanto, se você deseja excluir o curso "Big Data" adicionado anteriormente, basta digitar o comando “del Course:8:Cname”, conforme a figura abaixo, ao inseri-lo “del Course:8:Cname”, ele retornará “1”, indicando que um dado foi excluído com sucesso .
insira a descrição da imagem aqui
⑨Consultar dados: RedisA maneira mais fácil de consultar é usar getcomandos. Digite geta consulta de comando, se a saída estiver vazia, significa que os dados foram excluídos com sucesso.
insira a descrição da imagem aqui

(2) MongoDBInstalação e uso.

MongoDBComandos básicos    completos shell. MongoDBÉ um banco de dados baseado no armazenamento distribuído de arquivos, entre bancos de dados relacionais e bancos de dados não relacionais, sendo o mais funcional entre os bancos de dados não relacionais e mais semelhante aos bancos de dados relacionais. A estrutura de dados que ele suporta é muito flexível e tem um jsonformato semelhante bson, portanto, pode armazenar tipos de dados mais complexos. MongoA maior característica é que a linguagem de consulta suportada é muito poderosa e sua sintaxe é um pouco semelhante à linguagem de consulta orientada a objetos, que pode quase realizar a maioria das funções semelhantes à consulta de tabela única de banco de dados relacional e também suporta a indexação de dados.
①O uso apt-getde comandos para instalação online MongoDBpode evitar muitos problemas inexplicáveis.
A linha de comando sudo apt-get install mongodbpode ser baixada e instalada MongoDB. A versão padrão instalada é MongoDB 2.6.10, mas MongoDBfoi atualizada para 3.2.8. Você pode instalar a versão adicionando fontes de software 3.2.8.

a. Primeiro abra o terminal, importe o público keypara o gerenciador de pacotes
insira a descrição da imagem aqui
b. Crie MongoDBuma lista de arquivos.
insira a descrição da imagem aqui
c. Atualize o gerenciador de pacotes e instale MongoDB.
insira a descrição da imagem aqui
insira a descrição da imagem aqui
d. MongoDBApós a conclusão da instalação, insira o seguinte comando no terminal para visualizar MongoDBa versão.
insira a descrição da imagem aqui
MongoDBiniciar e parar.

insira a descrição da imagem aqui
③Entre no modo MongoDBde comando shell. O banco de dados conectado por padrão é testo banco de dados. Antes disso, verifique se ele foi iniciado MongoDB, caso contrário, ocorrerá um erro. Após iniciar, a operação bem-sucedida é a seguinte.
insira a descrição da imagem aqui
④Comandos de operação comuns
relacionados ao banco de dados
show dbs: exibir lista de banco de dados
show collections: exibir coleções no banco de dados atual (semelhante a tabelas em bancos de dados relacionais table)
show users: exibir todos os usuários
use yourDB: alternar banco de dados atual para yourDB
db.help(): exibir comandos de operação de banco de dados
db.yourCollection.help(): exibir comandos de operação de coleção, que yourCollectioné o nome da coleção
insira a descrição da imagem aqui

MongoDBNão há comando para criar um banco de dados. Se você deseja criar um “School”banco de dados, execute use Schoolo comando primeiro e, em seguida, faça algumas operações (como: criar uma coleção db.createCollection('teacher')), para poder criar um “School”banco de dados chamado .
insira a descrição da imagem aqui
⑤Tomando um Schoolbanco de dados como exemplo, Schoolcrie duas coleções teachere somas no banco de dados studente studentexecute operações básicas de adição, exclusão, modificação e consulta nos dados da coleção (uma coleção Collectioné equivalente a uma tabela em um banco de dados relacional table).
a. Mudar para Schoolo banco de dados (Mudar para Schoolo banco de dados. MongoDBNão há necessidade de pré-criar Schoolo banco de dados, ele será criado automaticamente quando for usado)
insira a descrição da imagem aqui
b. Criar Collection(criar uma coleção agregada. MongoDBDe fato, ao inserir dados, o a coleção correspondente também será criada automaticamente, nenhuma coleção predefinida é necessária)
insira a descrição da imagem aqui
c. Semelhante à criação do banco de dados, MongoDBas coleções são criadas automaticamente quando os dados são inseridos. Existem duas maneiras de inserir dados: inserte save.
insira a descrição da imagem aqui
Inserir dados com sucesso
insira a descrição da imagem aqui

_idMesmo, atualize os dados
insira a descrição da imagem aqui

_idMesmo, falha na inserção, nenhuma operação.

d. A estrutura dos dados adicionados é livre, desde que jsono formato seja aceitável, os atributos da coluna não sejam fixos e os dados adicionados devem prevalecer. Defina os dados primeiro e depois insira, você pode inserir vários dados de uma só vez.
insira a descrição da imagem aqui

e.Após executar o exemplo acima, studentele foi criado automaticamente, indicando que MongoDBnão precisa ser pré-definido, e será criado automaticamente collectionapós a primeira inserção de dados .collection
insira a descrição da imagem aqui

⑥ Encontrar dados
a. db.student.find()Consultar todos os registros. Equivalente a:select * from student
insira a descrição da imagem aqui

b. db.student.find({sname: 'zhangsan'})Consultar sname='zhangsan'registros. Equivalente a:select * from student where sname='zhangsan'
insira a descrição da imagem aqui

c. db.student.find({},{sname:1, sage:1})Consulte a coluna snamee sageos dados especificados. Equivale a: select sname,sage from student.

sname:1 significa retornar snamea coluna e o _idcampo padrão também é retornado. Pode ser adicionado _id:0(significa não retornar _id) para escrever {sname: 1, sage: 1,_id:0}e o _idcampo padrão não será retornado
insira a descrição da imagem aqui

d. db.student.find({sname: 'zhangsan', sage: 22})
andConsulta com condições. Equivalente a:select * from student where sname = 'zhangsan' and sage = 22
insira a descrição da imagem aqui

e. db.student.find({$or: [{sage: 22}, {sage: 25}]})
orConsulta condicional. Equivalente a:select * from student where sage = 22 or sage = 25
insira a descrição da imagem aqui

f.: db.youCollection.find(criteria, filterDisplay) criteriacondição
de consulta, opcional filterDisplay: filtrar e exibir parte dos dados, como exibir dados de coluna especificados, opcional (quando selecionado, o primeiro parâmetro não pode ser omitido, se a condição de consulta estiver vazia, pode ser usada como um espaço reservado {})
insira a descrição da imagem aqui

⑦ As condições de consulta db.youCollection.update(criteria, objNew, upsert, multi )

criteria: updatepara , semelhantes aos objetos por trás sql updateda consulta : e alguns operadores de atualização (como ), também podem ser entendidos como o seguinte na consulta . : Se o registro não existir, seja para inseri-lo ou não, o padrão é não inseri-lo. : Por padrão , apenas o primeiro registro encontrado será atualizado.Se este parâmetro for verdadeiro, todos os registros múltiplos detectados de acordo com a condição serão atualizados. Por padrão , apenas os primeiros dados correspondentes são modificados. Onde e são parâmetros obrigatórios e parâmetros opcionais. , que equivale a: ;whereobjNewupdate$setsql updateset

upsertupdateobjNewtruefalse
multimongodbfalsefalse

criteriaobjNewupsertmultidb.student.update({sname: 'lisi'}{$set: {sage: 30}}, false, true)
update student set sage =30 where sname = 'lisi'
insira a descrição da imagem aqui

⑧Excluir dados db.student.remove({sname: 'chenliu'})Equivalente a :delete from student where sname='chenliu'
insira a descrição da imagem aqui

⑨Excluir coleção
insira a descrição da imagem aqui

⑩Sair shelldo modo de comando
Entrar exitou Ctrl+Csair shelldo modo de comando
insira a descrição da imagem aqui
insira a descrição da imagem aqui

(3) Use Java APIo par MongoDBpara acessar.

①O pacote Java MongoDB Driverdo driver jarfoi baixado e salvo no ’/home/hadoop/下载/’diretório.
insira a descrição da imagem aqui
② Abra Eclipsee crie um novo Java Project.
insira a descrição da imagem aqui
Importe o pacote do driver mongodb-driver-3.8.0.jar.
insira a descrição da imagem aqui
Criar novo Class Average_grade
insira a descrição da imagem aqui
insira a descrição da imagem aqui
Limpe Average_grade.javao código interno e insira o studentcódigo completo para executar as operações de adição, exclusão, modificação e consulta da coleção neste arquivo.
insira a descrição da imagem aqui
Após a execução do programa, Consoleas informações do resultado da execução serão exibidas no painel " " na parte inferior.
insira a descrição da imagem aqui
Cada vez que o programa é executado, você pode retornar ao shellmodo para visualizar os resultados. Por exemplo: Após eclipserealizar a operação de atualização, shellentre no modo db.student.find(), você poderá visualizar studenttodos os dados da coleção.
insira a descrição da imagem aqui

(4) Como ele é diferente Redisdos bancos de dados tradicionais Mysql?

①É mysqlum banco de dados relacional, usado principalmente para armazenar dados persistentes. Os dados são armazenados no disco rígido e a velocidade de leitura é relativamente lenta. redisSim NOSQL, ou seja, um banco de dados não relacional também é um banco de dados cache, ou seja, os dados são armazenados no cache. O cache lê rápido e pode melhorar muito a eficiência operacional, mas o tempo de armazenamento é limitado.
mysqlComo um banco de dados relacional para armazenamento persistente, o ponto relativamente fraco é que toda vez que uma solicitação é feita para acessar o banco de dados, há I/Ooperações, se o banco de dados for acessado repetidamente.
Primeiro: Muito tempo será gasto em conexões repetidas ao banco de dados, resultando em eficiência de operação muito lenta;
Segundo: O acesso repetido ao banco de dados também levará a uma carga excessiva no banco de dados, portanto, o conceito de cache é derivado neste momento .
③O cache é o buffer ( ) para troca de dados cache, quando o navegador executar a requisição, ele primeiro irá buscar no cache, e se ele existir irá buscá-lo, caso contrário, ele irá acessar o banco de dados. A vantagem do cache é que a velocidade de leitura é rápida.
④O redisbanco de dados é um banco de dados de cache, usado para armazenar dados usados ​​com frequência, de modo a reduzir o número de acessos ao banco de dados e melhorar a eficiência operacional.

(5) MongoDBQuais são as características e Mysqlonde está a diferença em relação ao banco de dados?

Características:
Mongodb É um banco de dados não relacional ( nosql), que pertence ao banco de dados de documentos. Um documento é mongoDBa unidade básica de dados em um banco de dados. É semelhante a uma linha em um banco de dados relacional. Vários pares chave-valor são colocados juntos de maneira ordenada para formar um documento. A sintaxe é um pouco semelhante a um documento orientado a objetos javascriptlinguagem de consulta.É um banco de dados de tipo de documento de modo livre e orientado a conjuntos.
Método de armazenamento: memória virtual + persistência. Instrução de consulta: É um Mongodbmétodo de consulta exclusivo. Cenários adequados: gravação de eventos, gerenciamento de conteúdo ou plataforma de blog, etc.
Recursos de arquitetura: Alta disponibilidade pode ser obtida por meio de conjuntos de réplicas e fragmentação.
Processamento de dados: Os dados são armazenados no disco rígido, mas os dados que precisam ser lidos com frequência serão carregados na memória e os dados serão armazenados na memória física para obter leitura e gravação em alta velocidade.
Maturidade e amplitude: Bancos de dados emergentes têm baixa maturidade. NosqlEntre os bancos de dados, eles estão mais próximos dos bancos de dados relacionais e são relativamente completos DB. A população aplicável está em constante crescimento.

Diferença:
MongoDB Outra grande desvantagem é que ocupa muito espaço. Ao adicionar, MongoDBexcluir e modificar dados com frequência no banco de dados, se o registro mudar, como mudanças no tamanho dos dados, é provável que alguns fragmentos de dados ocorram neste momento , e a fragmentação causará Como resultado, uma delas é que o índice terá problemas de desempenho.
MySQLAmbos MongoDBsão bancos de dados de código aberto comuns, mas MySQLsão bancos de dados relacionais tradicionais, MongoDBenquanto bancos de dados não relacionais, também chamados de bancos de dados de documentos, são um tipo NoSQLde banco de dados. Cada um deles tem suas próprias vantagens, a chave é ver onde eles são usados. SQLPortanto, as instruções (nome completo ) com as quais estamos familiarizados Structured Query Languagenão são aplicáveis MongoDB, porque SQLas instruções são a linguagem padrão dos bancos de dados relacionais.

Acho que você gosta

Origin blog.csdn.net/weixin_51571728/article/details/125275880
Recomendado
Clasificación