segunda-feira, 1 de dezembro de 2014
- 12:21
- Paulo Fagundes
- MongoDB, news
- No comments
terça-feira, 14 de outubro de 2014
- 14:01
- Paulo Fagundes
- Tools, Trial
- No comments
- 13:47
- Paulo Fagundes
- Tools, Trial
- No comments
Neste Link você pode fazer o download do Trial de nossa Cloud
domingo, 10 de agosto de 2014
No MongoDB os operadores condicionais são:
(>) Maior que -> $gt
(<) Menor que -> lt$
(> =) Maior ou igual a -> $gte
(<=) Menor ou igual a -> $lte
O nome de nosso banco de dados é "myinfo 'e o nome da coleção é" testtable'. Abaixo segue nossa coleção (Collection):
{ "_id" : ObjectId("528f34950fe5e6467e58ae77"), "user_id" : "user1", "password" : "1a2b3c", "sex" : "Male", "age" : 17, "date_of_join" : "16/10/2010", "education" : "M.C.A.", "profession" : "CONSULTANT", "interest" : "MUSIC", "extra" : { "community_name" : [ "MODERN MUSIC", "CLASSICAL MUSIC", "WESTERN MUSIC" ], "community_moder_id" : [ "MR. Alex", "MR. Dang", "MR Haris" ], "community_members" : [ 700, 200, 1500 ], "friends" : { "valued_friends_id" : [ "kumar", "harry", "anand" ], "ban_friends_id" : [ "Amir", "Raja", "mont" ] } } } { "_id" : ObjectId("528f34fa0fe5e6467e58ae78"), "user_id" : "user2", "password" : "11aa1a", "sex" : "Male", "age" : 24, "date_of_join" : "17/10/2009", "education" : "M.B.A.", "profession" : "MARKETING", "interest" : " MUSIC", "extra" : { "community_name" : [ "MODERN MUSIC", "CLASSICAL MUSIC", "WESTERN MUSIC" ], "co mmunity_moder_id" : [ "MR. Roy", "MR. Das", "MR Doglus" ], "community_members" : [ 500, 300, 1400 ], "friends" : { "valued_friends_id" : [ "pal", "viki", "john" ], "ban_friends_id" : [ "jalan", "mono j", "evan" ] } } } { "_id" : ObjectId("528f35450fe5e6467e58ae79"), "user_id" : "user3", "password" : "b1c1d1", "sex" : "Female", "age" : 19, "date_of_join" : "16/10/2010", "education" : "M.C.A.", "profession" : "IT COR.", "interest" : "AR T", "extra" : { "community_name" : [ "MODERN ART", "CLASSICAL ART", "WESTERN ART" ], "community_mo der_id" : [ "MR. Rifel", "MR. Sarma", "MR Bhatia" ], "community_members" : [ 5000, 2000, 1500 ], "friends" : { "valued_friends_id" : [ "philip", "anant", "alan" ], "ban_friends_id" : [ "Amir", "Raja", "mont" ] } } } { "_id" : ObjectId("528f35860fe5e6467e58ae7a"), "user_id" : "user4", "password" : "abczyx", "sex" : "Female", "age" : 22, "date_of_join" : "17/8/2009", "education" : "M.B.B.S.", "profession" : "DOCTOR", "interest" : "SPORTS", "extra" : { "community_name" : [ "ATHELATIC", "GAMES FAN GYES", "FAVOURIT GAMES" ], "community_moder_id" : [ "MR. Paul", "MR. Das", "MR Doglus" ], "community_members" : [ 2500, 2200, 3500 ], "friends" : { "valued_friends_id" : [ "vinod", "viki", "john" ], "ban_friends_id" : [ "jalan", "monoj", "evan" ] } } }
MongoDB (>) maior que - Operador - $gt
Se quisermos buscar documentos da coleção "testtable", que contém o valor de "age" é maior do que 22, o seguinte comando MongoDB pode ser usado:
>db.testtable.find({age : {$gt : 22}}).pretty();
db.find () é compando que exibe os documentos em um formato não estruturado, mas para exibir os resultados de uma forma formatado, basta adicionar o comando pretty().
Equivalente ao comando SQL
SELECT * FROM testtable WHERE age >22;
Resultado
{
"_id" : ObjectId("528f34fa0fe5e6467e58ae78"),
"user_id" : "user2",
"password" : "11aa1a",
"sex" : "Male",
"age" : 24,
"date_of_join" : "17/10/2009",
"education" : "M.B.A.",
"profession" : "MARKETING",
"interest" : " MUSIC",
"extra" : {
"community_name" : [
"MODERN MUSIC",
"CLASSICAL MUSIC",
"WESTERN MUSIC"
],
"co mmunity_moder_id" : [
"MR. Roy",
"MR. Das",
"MR Doglus"
],
"community_members" : [
500,
300,
1400
],
"friends" : {
"valued_friends_id" : [
"pal",
"viki",
"john"
],
"ban_friends_id" : [
"jalan",
"mono j",
"evan"
]
}
}
}
MongoDB (> =) maior ou igual - Operador - $gte
Se quisermos buscar documentos da coleção "testtable", que contém o valor de "age" maior ou igual a 22, o seguinte comando MongoDB pode ser usado:
>db.testtable.find({age : {$gte : 22}}).pretty();
db.find () é o comando que exibe os documentos em um formato não estruturado, mas para exibir os resultados de uma forma formatado, basta adicionar o comando pretty().
Equivalente ao comando SQL
SELECT * FROM testtable WHERE age >=22;
Resultado
{ "_id" : ObjectId("528f34fa0fe5e6467e58ae78"), "user_id" : "user2", "password" : "11aa1a", "sex" : "Male", "age" : 24, "date_of_join" : "17/10/2009", "education" : "M.B.A.", "profession" : "MARKETING", "interest" : " MUSIC", "extra" : { "community_name" : [ "MODERN MUSIC", "CLASSICAL MUSIC", "WESTERN MUSIC" ], "co mmunity_moder_id" : [ "MR. Roy", "MR. Das", "MR Doglus" ], "community_members" : [ 500, 300, 1400 ], "friends" : { "valued_friends_id" : [ "pal", "viki", "john" ], "ban_friends_id" : [ "jalan", "mono j", "evan" ] } } } { "_id" : ObjectId("528f35860fe5e6467e58ae7a"), "user_id" : "user4", "password" : "abczyx", "sex" : "Female", "age" : 22, "date_of_join" : "17/8/2009", "education" : "M.B.B.S.", "profession" : "DOCTOR", "interest" : "SPORTS", "extra" : { "community_name" : [ "ATHELATIC", "GAMES FAN GYES", "FAVOURIT GAMES" ], "community_moder_id" : [ "MR. Paul", "MR. Das", "MR Doglus" ], "community_members" : [ 2500, 2200, 3500 ], "friends" : { "valued_friends_id" : [ "vinod", "viki", "john" ], "ban_friends_id" : [ "jalan", "monoj", "evan" ] } } }
MongoDB (<) menor que - Operador - $lt
Se quisermos buscar documentos da coleção "testtable", que contém o valor de "age" inferior a 19, o seguinte comando MongoDB pode ser usado:
>db.testtable.find({age : {$lt : 19}}).pretty();
Resultado
{ "_id" : ObjectId("528f34950fe5e6467e58ae77"), "user_id" : "user1", "password" : "1a2b3c", "sex" : "Male", "age" : 17, "date_of_join" : "16/10/2010", "education" : "M.C.A.", "profession" : "CONSULTANT", "interest" : "MUSIC", "extra" : { "community_name" : [ "MODERN MUSIC", "CLASSICAL MUSIC", "WESTERN MUSIC" ], "community_moder_id" : [ "MR. Alex", "MR. Dang", "MR Haris" ], "community_members" : [ 700, 200, 1500 ], "friends" : { "valued_friends_id" : [ "kumar", "harry", "anand" ], "ban_friends_id" : [ "Amir", "Raja", "mont" ] } } }
MongoDB (<=) menor ou igual ao operador - $lte
Se quisermos buscar documentos na coleção "testtable" os quais contém o valor de "age" é menor ou igual a 19, o comando seguinte mongodb pode ser usado:
>db.testtable.find({age : {$lte : 19}}).pretty();
db.find () é o comando que exibe os documentos em um formato não estruturado, mas para exibir os resultados de uma forma formatado, basta adicionar o comando pretty().
Equivalente ao comando SQL
Resultado
{ "_id" : ObjectId("528f34950fe5e6467e58ae77"), "user_id" : "user1", "password" : "1a2b3c", "sex" : "Male", "age" : 17, "date_of_join" : "16/10/2010", "education" : "M.C.A.", "profession" : "CONSULTANT", "interest" : "MUSIC", "extra" : { "community_name" : [ "MODERN MUSIC", "CLASSICAL MUSIC", "WESTERN MUSIC" ], "community_moder_id" : [ "MR. Alex", "MR. Dang", "MR Haris" ], "community_members" : [ 700, 200, 1500 ], "friends" : { "valued_friends_id" : [ "kumar", "harry", "anand" ], "ban_friends_id" : [ "Amir", "Raja", "mont" ] } } } { "_id" : ObjectId("528f35450fe5e6467e58ae79"), "user_id" : "user3", "password" : "b1c1d1", "sex" : "Female", "age" : 19, "date_of_join" : "16/10/2010", "education" : "M.C.A.", "profession" : "IT COR.", "interest" : "AR T", "extra" : { "community_name" : [ "MODERN ART", "CLASSICAL ART", "WESTERN ART" ], "community_mo der_id" : [ "MR. Rifel", "MR. Sarma", "MR Bhatia" ], "community_members" : [ 5000, 2000, 1500 ], "friends" : { "valued_friends_id" : [ "philip", "anant", "alan" ], "ban_friends_id" : [ "Amir", "Raja", "mont" ] } } }
Consulta MongoDB utilizando (<) e (>) operator - $lt e $gt
Se quisermos buscar documentos do coleção "testtable", que contém o valor de "age" é maior que 17 e menor que 24, o seguinte comando MongoDB pode ser usado:
>db.testtable.find({age : {$lt :24, $gt : 17}}).pretty();
db.find () é o comando que exibe os documentos em um formato não estruturado, mas para exibir os resultados de uma forma formatado, basta adicionar o comando pretty().
SELECT * FROM testtable WHERE age <24 and age>17;
Resultado
{ "_id" : ObjectId("528f35450fe5e6467e58ae79"), "user_id" : "user3", "password" : "b1c1d1", "sex" : "Female", "age" : 19, "date_of_join" : "16/10/2010", "education" : "M.C.A.", "profession" : "IT COR.", "interest" : "AR T", "extra" : { "community_name" : [ "MODERN ART", "CLASSICAL ART", "WESTERN ART" ], "community_mo der_id" : [ "MR. Rifel", "MR. Sarma", "MR Bhatia" ], "community_members" : [ 5000, 2000, 1500 ], "friends" : { "valued_friends_id" : [ "philip", "anant", "alan" ], "ban_friends_id" : [ "Amir", "Raja", "mont" ] } } } { "_id" : ObjectId("528f35860fe5e6467e58ae7a"), "user_id" : "user4", "password" : "abczyx", "sex" : "Female", "age" : 22, "date_of_join" : "17/8/2009", "education" : "M.B.B.S.", "profession" : "DOCTOR", "interest" : "SPORTS", "extra" : { "community_name" : [ "ATHELATIC", "GAMES FAN GYES", "FAVOURIT GAMES" ], "community_moder_id" : [ "MR. Paul", "MR. Das", "MR Doglus" ], "community_members" : [ 2500, 2200, 3500 ], "friends" : { "valued_friends_id" : [ "vinod", "viki", "john" ], "ban_friends_id" : [ "jalan", "monoj", "evan" ] } } }
terça-feira, 5 de agosto de 2014
Configurar Afinidade Grupo
Criando as Instances
Instance 1
1.No portal, clique em New->Virtual Machine->From Gallery
2.Na página Seleção de OS das VMs, escolha "OpenLogic CentOS 6.2" e clique na próxima seta para continuar
3.Na página de configuração da VM, especifique valores para os parâmetros
- Virtual Machine Name - "mongodbrs1"
Update de SO
Utilize este passo opcional para atualizar o sistema operacional em cada uma de suas instâncias VM. Uma vez que os parâmetros da máquina ter sido configurada acima, você precisa se logar em máquinas para atualizá-los. Mais informações sobre este podem ser encontradas em Como Fazer logon em uma máquina virtual rodando Linux.
Use o nome de usuário e senha que você usou ao criar as instâncias de máquinas virtuais.
Uma vez que você estiver conectado à máquina, atualize o sistema operacional executando: sudo yum update e seguir as instruções. Isso pode levar algum tempo.
Ao conectar a instâncias 2 e 3, lembre-se de usar as portas 23 e 24, e não a porta ssh padrão de 22.
Set Up Disks
- Faça logon na instância
- Em seguida, execute sudo chown `id-u`/mnt/datadrive / para fazer a mongouser o proprietário do
diretório de dados
- Execute o seguinte comando: mkdir -p /mnt/datadrive/data
Instalar e executar o MongoDB
Instalar o MongoDB
Configurar o MongoDB
1.Conecte-se à instância usando ssh ou PuTTY
2.Como sudo, edite o /etc/mongod.conf para definir os seguintes parâmetros:
port = 27018 dbpath = /mnt/datadrive/data logpath = /mnt/datadrive/mongod.log replSet = mongors3.Salve o arquivo de configuração
Instance 2
1.Conecte-se à instância usando ssh ou PuTTY, lembrando a porta SSH para este nó foi alterada a partir do padrão de 22
2.Como sudo, edite o /etc/mongod.conf para definir os seguintes parâmetros:
port = 27019 dbpath = /mnt/datadrive/data logpath = /mnt/datadrive/mongod.log replSet = mongors3.Salve o arquivo de configuração
Instance 3
1.Conecte-se à instância usando ssh ou PuTTY, lembrando a porta SSH para este nó foi alterada a partir do padrão de 22
2.Como sudo, edite o /etc/mongod.conf para definir os seguintes parâmetros:
port = 27020 dbpath = /mnt/datadrive/data logpath = /mnt/datadrive/mongod.log replSet = mongors3.Salve o arquivo de configuração
Inicie o MongoDB
Depois que os arquivos de configuração foram editados, iniciar o processo de banco de dado "mongod" em cada instância por:
1.Faça logon na instância
2.Execute o seguinte comando para iniciar o processo:
mongod --config /etc/mongod.confIsto deve iniciar o processo de mongod
Verifique se o mongod iníciou, pelo arquivo de log usando o comando:
tail --f /mnt/datadrive/mongod.log
Configure o conjunto de réplica
Conecte-se ao processo de execução mongod usando o mongo shell:
1.Se estiver conectado à instância VM digite o seguinte comando, onde a porta é 27018, para instance 1, 27019, para a instance 2 e 27020, para a instance 3:
mongo --port <port number>2.Se a conexão com o processo de mongod em Azure é a partir de sua máquina local use o seguinte comando:
mongo --host mongodbrs.cloudapp.net --port <port number>3.No shell mongo digite o seguinte:
> conf = { _id : “mongors”, members : [ {_id:0, host:”mongodbrs.cloudapp.net:27018"}, {_id:1, host:”mongodbrs.cloudapp.net:27019"}, {_id:2, host:”mongodbrs.cloudapp.net:27020"}]} > rs.initiate(conf)
Você já iniciou com sucesso o conjunto de réplicas
Resumo
mongodb://mongodbrs.cloudapp.net:27018, .cloudapp.net:27019, .cloudapp.net:27020/?replicaSet=mongors"Fonte MongoDB
- 05:18
- Paulo Fagundes
- Cloud, MongoDB, Nuvem
- No comments
segunda-feira, 4 de agosto de 2014
- 20:45
- Paulo Fagundes
- MongoDB, Slides
- No comments
- Introdução ao NoSQL e MongoDB
- Instalação
- Consultas
- indexação
- Modelagem
- Agregação
quinta-feira, 24 de julho de 2014
Este estudo apresenta a comparação entre dois bancos de dados, o SQL Server e o MongoDB. Para que houvesse uma justa comparação entre os bancos a mesma estrutura de código foi utilizada. Foram feitos testes com as operações básicas: inserção, exclusão, consulta e alteração, e utilizando a mesma quantidade de registros para ambos os bancos. Os testes demonstraram que o banco de dados MongoDB apresenta velocidade superior ao banco de dados SQL Server.
quinta-feira, 29 de maio de 2014
MongoDB e Hadoop são uma combinação poderosa e pode ser usado em conjunto para fornecer análises complexas e processamento de dados armazenados no MongoDB. O guia a seguir mostra como você pode começar a trabalhar com o MongoDB Conector para Hadoop. Uma vez que você se familiarizar com o conector, você pode usá-lo para puxar seus dados MongoDB nos Jobs do Hadoop Map-Reduce, processar os dados e retornar resultados para uma coleção MongoDB.
Para iniciar, precisamos ver alguns prerequisitos básicos :
- 10:40
- Paulo Fagundes
- Memória, MongoDB, MongoMem, Tutoriais
- No comments
Primeiro uma pergunta simples a todos usuários de MongoDB: "Vocês conseguem me dizer o quanto de memória cada coleção (Collection) está consumindo?" Como já era esperado, a maioria das respostas será "Não" e foi por isso que a equipe de engenharia da Wish, desenvolveu o MongoMem que permite aos desenvolvedores do MongoDB localizar com precisão as coleções que necessitam uma otimização de memória em caráter de urgência em vez de ficar procurando os problemas baseados apenas na intuição. De acordo com a visão da equipe da Wish, a necessidade do MongoMem era clara.
"Antigamente usávamos muito mais memoria do que realmente deveria usar, estávamos correndo as cegas para decidir onde deveria ser otimizado. Depois de várias otimizações frustradas, as quais não fizeram diferença alguma, nós decidimos que realmente necessitávamos de melhores informações e assim o MongoMem nasceu."
Uma visão geral da equipe da Wish entra em detalhes sobre como funciona o MongoMem onde chamadas mincore e o comando collStats fazem a maioria do trabalho, o que você pode fazer com ele e até mesmo detalhes de alguns dos planos para o futuro da MongoMem. No geral, porém, é uma pequena ferramenta bastante simples:
Para cada coleção, temos:
- Número de MB na memória
- Número de MB no total
- Percentagem da coleção que está na memória
Você pode encontrar MongoMem no GitHub (com as instruções de uso), então se você está procurando algumas dica sobre como evitar que MongoDB exagere na memória, isso pode ser uma ferramenta muito útil para você.