segunda-feira, 1 de dezembro de 2014

API criada pela empresa permite aos clientes desenvolver serviços em seus dados.

Companies House, braço de negócios do governo inglês, substituiu o seu software de banco de dados relacional com um sistema de MongoDB NoSQL, que se destina a renovar a sua presença on-line e melhorar o acesso dos clientes aos dados.

A agência executiva, que é administrado pelo Departamento de Negócios, Inovação e Habilidades, iniciou o projeto como parte dos planos para fornecer todos os seus dados para os usuários de forma gratuita, digitalizados, ampliando ainda mais a visão dos serviços do governo.

Isso significava rever seus serviços baseados na web "cansados e velhos ', consolidação de seus vários sistemas de pagamento de contas,  atualizar suas capacidades de pesquisa e adicionar APIs e tornar mais fácil para as empresas externas no desenvolvimento de software em cima de seus dados.

"Ao invés de tentar renovar os serviços existentes, decidimos aproveitar a oportunidade para criar um serviço de baixo para cima, que consolidou o que já fazemos, e ao longo do tempo, vamos adicionar uma nova funcionalidade", disse Mark Fairhurst, chefe de arquitetura na Companies House .

"O principal benefício é uma interface melhorada. Estamos melhorando a o sistema de busca de dados da empresa, estamos melhorando a forma como é mostrado na tela ".

Ele acrescentou: "A outra mudança é a tecnologia em camadas: estamos desenvolvendo uma API baseada em REST sobre o qual nossa própria interface de usuário irá interagir. Isso significa que nós podemos oferecer essa API  para clientes externos e fazendo com que eles possam desenvolver o seu próprio software, quer seja para consumir ou modificar os dados da empresa ".

A decisão tomada foi substituir o banco de dados relacional Oracle com a tecnologia open source NoSQL do MongoDB.

"Embora [o sistema anterior] tenha funcionado, não foi tão simples como as outras ofertas que tínhamos sobre a mesa. Olhando a forma como utilizamos os dados através de nossos serviços baseados na web, eles não precisam ser armazenados de forma relacional, é simplesmente apresentar uma bolha de dados para os consumidores ", disse ele.

"Sentimos que com o MongoDB seria mais simples de interagir a partir de um ponto de vista do desenvolvimento. Então, quando os desenvolvedores estão desenvolvendo para ele, em vez de tentar escrever uma peça de SQL que consulta três ou quatro tabelas, os dados podem apenas ser acessado a partir de um Mongo local. O objetivo era simplificar a interface entre os nossos sistemas baseados na web, nossa própria API e os conjuntos de dados por baixo".

Fairhurst disse que a Companies House vai continuar a adicionar mais funcionalidades para o sistema baseado em Perl, no futuro, bem como permitindo que as informações cadastro de empresas sejam interligados a dados de outros departamentos de Whitehall para ajudar desenvolvedores externos a criarem novos serviços.

"Avançando, nós estamos olhando para coisas como tentar vincular os dados com outros conjuntos de dados do governo e quase como deixar o mercado assumir nesse momento", disse ele.

"Então, em vez de fornecer o valor adicional aos serviços, podemos fornecer os dados de maneiras mais atuais, e o mercado vai assumir."


terça-feira, 14 de outubro de 2014

MongoDBPumper para MongoDB e Oracle é um produto inovador, poderoso e conveniente, que é uma parte da nossa coleção migração bigdata. Ele fornece a funcionalidade de migração de dados de alto desempenho entre bancos de dados Oracle e MongoDB em duas direções. Com assistente GUI MongoDBPumper você pode facilmente executar a migração de dados entre a tabela Oracle e coleções MongoDB. Você pode criar suas transformações de dados personalizados em tempo real e de importação de diversas fontes de dados baseadas em Oracle (com base em suas SQLs costume complexos) para coleções de banco de dados MongoDB em paralelo. Todos os principais tipos de dados Oracle (incluindo XML, CLOB e BLOB) são suportados para a migração de dados para MongoDB e para trás. Você pode também visualizar e gerenciar dados de coleções MongoDB e exportá-lo para um formato de arquivo JSON legível. O processo de migração de dados podem ser paralelizadas até 20 graus proporcionar um desempenho muito elevado migração de grandes quantidades de dados.

Neste Link você pode fazer o download do Trial de nossa Cloud
BigDataPumper é um produto inovador, poderoso e conveniente, que é uma parte da suíte migração spViewer Software bigdata. Ele fornece a funcionalidade de migração de dados de alto desempenho entre qualquer um dos seguintes bancos de dados suportados: Oracle, MongoDB, Couchbase, Apache Cassandra, CouchDB, HBase. Com assistente BigDataPumper GUI você pode facilmente executar a transferência de dados entre bancos de dados suportados em qualquer direção. Você pode criar suas transformações de dados personalizados em tempo real e de importação de diversas fontes de dados personalizados (com base em suas condições de filtro personalizado complexos) para direcionar banco de dados Oracle ou NoSQL em paralelo. Todos os principais tipos de dados Oracle e NoSQL (incluindo XML, CLOB e BLOB) são suportados para transferência de dados entre bancos de dados. Você pode também visualizar e gerenciar os dados do banco de dados e exportá-lo para um formato de arquivo JSON legível. O processo de transferência de dados pode ser paralelizadas até 20 graus proporcionar um desempenho muito elevado migração de grandes quantidades de dados.

Neste Link você pode fazer o download do Trial de nossa Cloud

domingo, 10 de agosto de 2014



Um operador de comparação compara duas expressões e documentos obtidas da coleção MongoDB. Neste post, vamos discutir sobre os operadores de comparação e se uso.





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
SELECT * FROM testtable WHERE age <=19;

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().

Equivalente ao comando SQL

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

Neste tutorial, você vai aprender a implantar uma réplica MongoDB definida para VMs CentOS no Windows Azure e acessá-lo de fora. A seguir estão as tarefas de conseguir isso:

Assine recurso de visualização "máquinas virtuais e redes virtuais". Veja opções de implantação. 
1) Configurar Afinidade Grupo 
2) Criar e configurar as máquinas virtuais 
3) Instalar e executar o MongoDB 
4) Configure o conjunto de réplica

Configurar Afinidade Grupo

O grupo de afinidade precisa ser configurado a partir do portal antigo

1. No novo portal de visualização de Gerenciamento Azure, clique no seu nome de usuário no canto superior direito da tela, em seguida, "Portal Anterior" para mudar para o portal antigo.
2.Uma vez no portal antigo, clique em "Serviços Hospedados, Contas de Armazenamento e CDN"
3.Selecione "Grupos de Afinidade" e depois "Novo Grupo de Afinidade"
4.Na caixa de diálogo "Criar um novo grupo de afinidade", digite um nome de grupo de afinidade, como "mongoaffinitygroup" e escolha um local. Escolha um dos centros de dados Azure mais recentes, como “West US,” “East US” ou “West Europe.”.

Criar e configurar as máquinas virtuais 

Para criar um conjunto de réplicas MongoDB com 3 nós, você irá criar 3 Instances VMs. Para esta etapa, faça o login para o novo portal de visualização, ou a partir do portal antigo, clique em "Visite o Portal Anterior" na parte inferior da página

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" 
- Novo nome de usuário - ". Mongouser" Este usuário será adicionado ao "sudoers" arquivo de lista 
- Nova caixa de Senha - digite uma senha forte que está de acordo com as especificações do Azure 
- Digite novamente a senha para confirmar 
- Tamanho - Escolha o tamanho apropriado da lista drop-down. Para qualquer coisa, mas instâncias de 
   teste pequenos, escolha um tamanho maior do que médio 
- Deixe "Upload SSH key for Authentication" desmarcada

Clique na seta Next para continuar


4.Na página da VM, especifique valores para os parâmetros necessários


- Selecione "Standalone Virtual Machine" 
- DNS - um prefixo DNS válido por exemplo, "mongodbrs" 
- Storage Account box – escolha a opção "Use Automatically Generated Storage Account" 
- Na caixa "Region/Affinity Group/Virtual Network", selecione o grupo de afinidade criado anteriormente 
  "mongoaffinitygroup"


Clique na seta Next para continuar

5. Na página Opções da VM selecionar "None for Availability Set"
6.Clique no check box para criar a instância VM

Instance 2

Processo semelhante a criação da primeira instância.


1. No portal, clique em  click New->Virtual Machine->From Gallery
2. Na página Seleção de OS para a VM, escolha "OpenLogic CentOS 6.2" e clique em NEXT para continuar 
3. Na página de configuração da VM, especifique valores para os parâmetros 

- Virtual Machine Name - "mongodbrs2" 
- Novo nome de usuário - ". Mongouser" Este usuário será adicionado ao "sudoers" arquivo de lista 
- Nova caixa de Senha - digite uma senha forte que está de acordo com as especificações do Azure 
- Digite novamente a senha para confirmar 
- Tamanho - Escolha o mesmo tamanho de uma instância 
- Deixe "cUpload SSH key for Authentication" desmarcada 

Clique em NEXT para continuar 

4. Na página Modo de VM, especifique valores para os parâmetros necessários 

- Selecione "Connect to Existing Virtual Machine" 
- No menu suspenso escolher o host criado no exemplo 1, neste caso, "mongodbrs1" 
- Conta caixa de armazenamento - escolha a opção "Use Automatically Generated Storage Account" 
- Em "Region/Affinity Group/Virtual Network" deve estar automaticamente ajustado para 
  "mongoaffinitygroup"

Clique em NEXT para continuar 



5.Na página Opções da VM selecionar "None for Availability Set"
6.Marque o box para criar a VM Instance

Instance 3

Processo semelhante para a criação de instância 2., apenas escolha "mongodbrs3" para ser o nome de máquina virtual no passo 3.

Configurando Endpoints
 
Uma vez que as máquinas virtuais estão conectadas você precisa configurar os parâmetros para: 

- Permitir conexão remota 
- Permitir tráfego MongoDB

Instance 1

1. No portal de gerenciamento, clique em máquinas virtuais e clique no nome da instância 1, "mongodbrs1" 2. Agora clique em endpoints 
3.O endpoint ssh deve ser criado automaticamente. Certifique-se que este endpoint esteja definido da seguinte forma:  

- Protocolo - tcp 
- Public Port - 22 
- Porto privado - 22 
- Balanceamento de carga - No

4.Criar um novo Endpoint para MongoDB, clicando em "Add Endpoint" na parte inferior da tela
5.Certifique-se que a opção  "Add Endpoint" está selecionado e clique na seta para ir para a próxima tela


6. Especifique os delathes para o endpoint como abaixo:

- Name : MongoDB-Port
- Protocol : TCP
- Public Port : 27018
- Private Port : 27018

Clique no check box para criar endpoint

A instância deve ter agora endpointss, 1 para SSH e 1 para MongoDB


Precisamos configurar os Endpoints, por exemplo 2 semelhante ao exemplo 1: 

1.No portal de gerenciamento, clique em "virtual machines" e clique no nome da instância 2 
2.Agora clique em "endpoints" 
3.O endpoint ssh deve ser criado automaticamente. Certifique-se de que: 

- Name – SSH
- Protocol – TCP
- Private Port – 22
-  Load Balanced – No

4.Agora clique em Edit Endpoint na parte inferior da tela e defina "Public Port" a 23. Clique no botão "check mark" para atualizar 
5.Criar um novo Endpoint para MongoDB, clicando em "Add Endpoint" na parte inferior da tela 
6.Certifique-se que "Add Endpoint" está selecionado e clique na seta para a direita para ir para a próxima tela
7.Especifique os detalhes do Endpoint como a seguir:

-Name : MongoDB-Port
-Protocol : TCP
-Public Port : 27019
-Private Port : 27019
-Clique em "check mark" para criar o endpoint

A instância deve ter agora dois Endpoints, 1 para SSH e 1 para MongoDB

Instance 3

Criar endpoints para o exemplo 3 semelhante ao exemplo 2, com as seguintes alterações: 

- Na etapa 4, definir a porta pública para 24 
- No passo 7, estabelecer as portas públicas e privadas para ser 27020

A instância deve ter agora dois Endpoints, 1 para SSH e 1 para MongoDB


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

Uma vez que as instâncias são atualizadas, então você pode anexar um disco de dados para cada uma das instâncias. Os discos de dados irá armazenar os dados reais MongoDB como parte de - dbpath. Mais informações sobre discos de dados Azure pode ser encontrada em Conceitos disco de dados.

Para configurar o disco de dados siga os passos descritos abaixo para cada uma das instâncias que você criou:
1.Anexar um disco vazio de pelo menos 10 GB para a instância, conforme descrito em Como: Anexar um disco vazio <http://www.windowsazure.com/en-us/manage/windows/how-to-guides/attach-a disco / # attachempty>.
2.Inicializar o disco de dados, seguindo os passos descritos em Como inicializar um novo disco de dados em Linux.
3.Após montado o disco, criar um diretório de dados por:
   - 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

Como parte desta etapa, você irá usar o MongoDB oficial, Inc. que fornece pacotes para instalar, configurar e executar MongoDB como um serviço usando YUM. Você deseja instalar como um serviço uma vez que este seria garantir que mongod é iniciado na reinicialização da máquina também. Para mais informações consulte: manual: Instalar MongoDB no RedHat Enterprise, CentOS, Fedora ou </ tutorial / install-mongodb-on-redhat-centos-ou-fedora-linux />.

Instalar o MongoDB

Configurar o MongoDB

Os pacotes instalados no passo anterior configuraram o MongoDB usando o arquivo /etc/mongod.conf em conjunto com o script de controle. Você pode encontrar o script de inicialização em /etc/rc.d /init.d / mongod. Como parte deste passo, você irá editar o arquivo mongod.conf para definir os parâmetros apropriados. Se os parâmetros são comentados, certifique-se de descimentá-los.

Instance 1

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 = mongors
3.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 = mongors
3.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 = mongors
3.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.conf
Isto 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
A mensagem "waiting for connectionss" no arquivo de log indica que o mongod está instalado e funcionando e esperando por conexões de client. Isso pode demorar um pouco como mongod pré-aloca seus arquivos de diário (Journal)

Configure o conjunto de réplica

Neste momento, você deve ter o mongod executando em todos os 3 nós de suas instâncias. Agora você pode configurar as 3 instâncias como um conjunto de réplicas através da ligação a um dos 3 de dentro ou de fora Azure.

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)

4.Isto irá iniciar a inicialização da réplica MongoDB
5.Digite o comando rs.status () para verificar o status do conjunto de réplicas. Após a inicialização bem-sucedida, você deve ver uma das três instances, sendo o "principal" do conjunto e os outros 2 sendo as "Secundárias"

Você já iniciou com sucesso o conjunto de réplicas

Resumo

Neste tutorial você aprendeu como criar um conjunto de máquinas virtuais CentOS em Windows Azure, implantar MongoDB para elas e criar um conjunto de réplicas delas. Você pode acessar este conjunto de qualquer lugar usando a string de conexão
mongodb://mongodbrs.cloudapp.net:27018, .cloudapp.net:27019, .cloudapp.net:27020/?replicaSet=mongors"
Fonte MongoDB


Bancos de dados relacionais tendem a não escalarem muito bem, dentro ou fora da nuvem. Os desenvolvedores não tem certeza de quão grande essas aplicações vão crescer, ou quantas pessoas vão acabar acessando. 

Muitos desenvolvedores de aplicativo em nuvem vão acabar realizando um ato não natural conhecido como "sharding" que seja para dimensionar o banco de dados ou implantar mais de um bancos de dados. Em ambos os casos, o custo para gerenciar os aumentos globais do ambiente em proporção direta com a complexidade do ambiente.

Para contornar esse problema, os desenvolvedores de nuvem têm cada vez mais que se voltar para bancos de dados não baseados em arquiteturas relacionais. Algumas dessas arquiteturas de banco de dados SQL apoiam, mas assim como muitos promovem uma agenda NoSQL utilizando plataformas como Hadoop, CouchDB, MongoDB ou bancos de dados orientados a objetos de propriedade. Por causa da falta de experiência com essas plataformas, muitas organizações optam por chamar esses bancos de dados como um serviço na nuvem, em vez de implantar e gerenciar bancos de dados por conta própria.

Existem várias instâncias de serviços de banco de dados, com quatro das outras mais conhecidas oferecidos pela Amazon, Xeround, IBM e Database.com, uma unidade da Salesforce.com. Xeround, por exemplo, acaba de anunciar que uma versão gratuita de seu banco de dados para aplicações MySQL já está disponível na plataforma de computação em nuvem Rackspace, além do suporte existente para a Amazônia, Joyent, Heroku e Hewlett-Packard, entre outros.

Outros players menos conhecidos que se movimentam neste mesmo espaço é a Cloudant, que oferece um serviço de banco de dados com base em uma plataforma NoSQL CouchDB, que suporta atualmente mais de 7.000 usuários em todo o mundo. De acordo com o fundador e cientista-chefe Cloudant Mike Miller, o que torna a abordagem Cloudant diferente é a sua implementação de uma arquitetura distribuída CouchDB que agora se estende por vários centros de dados em todo o mundo. "Isso nos permite distribuir os dados o mais próximo da borda possível, a fim de certificar-se de latência permanece baixo", disse ele.

Um dos clientes da Cloudant é a Meteor Solutions, um prestador de um serviço de análise online que ajuda as empresas a identificar qual o conteúdo em seus sites dirige com mais sucesso de vendas adicionais e novas aquisições de clientes. De acordo com o CEO Ben Straley da Meteor Solutions , o serviço foi originalmente construído em cima de um banco de dados PostgreSQL de código aberto que ao fornecer os benefícios de uma plataforma de baixo custo em que o lançamento do serviço, não escala muito bem. "Agora podemos lidar com conjuntos de dados maiores", disse ele, "e a transição para o Cloudant foi relativamente indolor."

O fenômeno database-as-a-service não se limita aos bancos de dados NoSQL. A Clustrix, por exemplo, desenvolveu um banco de dados SQL que funciona em um mecanismo de processamento paralelo. Esse banco de dados está agora disponível como um serviço na nuvem Rackspace. De acordo com o CTO da Clustrix, Sergei Tsarev, engines paralelos de processamento da empresa permite a Clustrix abordar petabytes de dados sem ter que reescrever completamente seus aplicativos SQL.

Mas, como o interesse em abordagens NoSQL continua a crescer, a maneira mais fácil de ganhar experiência com a tecnologia é acessar os bancos de dados através de uma plataforma de computação em nuvem, que elimina a necessidade de adquirir uma grande quantidade de infra-estrutura dedicada.

Nem todo mundo vê a necessidade de contar com bases de dados entregues como serviço ao implantar um banco de dados NoSQL na nuvem. Por exemplo, na Alteryx, fornecedora de software de análise, é a construção de um serviço de nuvem com base em seu software e em vez de contar com um serviço de banco de dados, o presidente da Alteryx e COO George Mathew disse que era para usar o banco de dados Open Source de baixo custo NoSQL MongoDB e implantá-lo em uma plataforma de nuvem da Amazon.
"Foi apenas algo que poderíamos claramente apenas fazer a nós mesmos", disse ele. "Além disso, nós queríamos ter certeza de que tinha o controle dos dados."

Mas também há uma escassez de talentos quando se trata de qualquer tipo de banco de dados NoSQL. Segurar profissionais de TI com as habilidades certas é muitas vezes um desafio. Como resultado, muitas organizações precisam contar com um banco de dados como serviço, pelo menos, até que a quantidade de especialização em bancos de dados NoSQL aumente.

Isso não quer dizer que a gestão de um banco de dados NoSQL seja nem de perto tão complexo como
bancos de dados relacionais tradicionais que necessitam de administradores de banco de dados caros. Mas isso não significa que na ausência de qualquer experiência NoSQL um provedor de serviços de banco de dados seja provavelmente o mais seguro, é uma aposta para a empresa média organização de TI.

segunda-feira, 4 de agosto de 2014

Apresentação de Slides mostrando em detalhes e em profundidade tudo sobre MongoDB e NoSQL. 

  • Introdução ao NoSQL e MongoDB 
  • Instalação 
  • Consultas 
  • indexação 
  • Modelagem 
  • Agregação

quinta-feira, 24 de julho de 2014

SQL Server Vs MongoDB


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-hadoop-connector


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 :

mongo_mem-monthPrimeiro 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ê.

Knee Curve_2NoSQL,  nos últimos anos passou de um simples zum zum zum para uma realidade atual.


Portanto, como, onde e quando devemos utiliza-lo é a grande questão para muitos gestores que ainda não conseguiram assimilar a nova tendência.


Como profundo conhecedor de ambos (NoSQL e RDBMS) irei listar abaixo um resumo de melhores práticas onde cada tipo será melhor utilizado.





python-logoPython é uma linguagem de programação de alto nível, interpretada, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation. Apesar de várias partes da linguagem possuírem padrões e especificações formais, a linguagem como um todo não é formalmente especificada. O padrão de fato é a implementação CPython.


A seguir você vai aprender como instalar o Python e ativar o suporte para idioma no MongoDB .

Hoje existem muitas ferramentas que permitem gerenciar o MongoDB. Pessoalmente  ainda faço parte da velha guarda que prefere administrar via linha de comando. Uma delas é o MongoVUE que é na primeira análise é uma aplicação de desktop para windows muito fácil de usar. Há uma versão paga que custa algo em torno de US$ 35 e uma versão gratuita. Como não poderia ser diferente, a versão gratuita é limitada em matéria de recursos, porem para o nosso propósito é mais do que suficiente. Vamos em frente e faça o download aqui Observação: Durante o processo de instalação certifique-se de permitir a exceção no Firewall do Windows. Após instalar, ao executar você verá o painel de conexões disponíveis mongodb5

quinta-feira, 22 de maio de 2014

Sharding


Sharding é o processo de armazenamento de registros de dados em várias máquinas e é a abordagem do MongoDB para atender as demandas de crescimento de dados. À medida que o tamanho dos dados aumenta, uma única máquina pode não ser suficiente para armazenar os dados, nem fornecer uma leitura e gravação com rendimento aceitável. O Sharding resolve o problema com escala horizontal. Com sharding, você adiciona mais máquinas para suportar o crescimento de dados e as demandas de operações de leitura e escrita.

Por que Sharding?



  • Na replicação todas as gravações são feitas no nó principal (Master)

  • Consultas sensíveis à latência continuam sendo feitas no nó principal

  • Conjunto de réplicas possuem limitações de 12 nós

  • A memória pode não ser suficiente quando o dataset ativo for muito grande

  • Disco local não possui espaço suficiente

  • A escala vertical é muito cara


Sharding no MongoDB


sharding

No diagrama acima, existem três componentes principais que são descritos abaixo:

  • Shards: Shards (fragmentos) são usados ​​para armazenar dados. Eles fornecem alta disponibilidade e consistência dos dados. Em um ambiente de produção cada fragmento é um conjunto de réplicas separado.

  • Config Servers: Config Servers armazenam os metadados do cluster. Estes dados contém um mapeamento dos dados do conjunto de cluster para os shards. O roteador consulta e usa os metadados para direcionar operações de shards específicos. Em um ambiente de produção,  Sharded Clusters possuem exatamente 3 servidores de configuração.

  • Query Routers: Query Routers são basicamente mongos instances que fazem a interface com os aplicativos clients e operações diretas com o shard apropriado. Os processos de consulta e de roteamento visa operações para os shards e retornar resultados para os clients. Um  Sharded Cluster pode conter mais do que um roteador de consulta ( Query Router) para dividir a carga de solicitações do client. Um client envia as solicitações para um roteador consulta. Geralmente um Sharded Cluster possue muitos roteadores consulta.


 

quarta-feira, 21 de maio de 2014

MongoDB Overview


MongoDB é um banco de dados multi-plataforma orientado ao documento que fornece alta performance, alta disponibilidade e fácil escalabilidade. MongoDB funciona no conceito de coleções de documentos.



Banco de Dados


Banco de dados é um recipiente físico para coleções. Cada banco de dados tem o seu próprio conjunto de arquivos no sistema de arquivos. Um único servidor MongoDB normalmente tem vários bancos de dados.



Coleções (Collection)


Collection é um grupo de documentos MongoDB. É o equivalente de uma tabela de RDBMS. Uma coleção existe dentro de um único banco de dados. Coleções não impõem um esquema. Documentos dentro de uma coleção pode ter diferentes campos. Normalmente, todos os documentos em uma coleção são propositalmente  semelhantes ou afins.



Documento


Um documento é um conjunto de pares de valores-chave. Documentos têm esquema dinâmico. Esquema dinâmico significa que os documentos na mesma coleção não precisam ter o mesmo conjunto de campos ou estrutura e campos comuns em documentos de uma coleção podem conter diferentes tipos de dados.


Exemplo:


O exemplo abaixo mostra a estrutura do documento de um blog onde uma simples vírgula separa o par valor da chave.



{
_id
:ObjectId(7df78ad8902c)
title
:'MongoDB - Guia Rapido',
description
:'MongoDB - Guia Rapido',by:'MongoDBWise',
url
:'http://www.mongodbwise.worpress.com',
tags
:['mongodb','database','NoSQL'],
likes
:100,
comments
:[{
user
:'user1',
message
:'My first comment',
dateCreated
:newDate(2014,5,21,2,15),
like
:0},{
user
:'user2',
message
:'My second comments',
dateCreated
:newDate(2014,5,21,7,45),
like
:5}]}


terça-feira, 20 de maio de 2014

mongolink-256Instalação


Antes de começar a usar o MongoDB com nossos programas em Java, precisamos ter certeza de que temos informações MongoDB Java Driver JDBC e configurar sua máquina.


Você pode verificar no Java tutorial como instalar o Java em sua máquina. Agora, vamos verificar como configurar o MongoDB JDBC driver.




  1. Você precisa baixar o arquivo  mongo.jar. Certifique-se de baixar a ultima versão do mesmo.

  2. Você precisa incluir o mongo.jar em seu classpath.


Conecte-se ao banco de dados


Para conectar banco de dados, você precisa especificar o nome do banco de dados, se não existir, então será criado automaticamente pelo MongoDB.

Trechos do código para se conectar ao banco de dados seria a seguinte:
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;
import java.util.Arrays;

public class MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println("Authentication: "+auth);
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}


1

 

O que há de novo no MongoDB 2.6.1?


 

 

 

A nova release liberada no ultimo dia 5 de Maio de 2014 traz as seguintes alterações que afetam tanto as versões Standart Enterprise Edition, são elas:

Outras Correções:

Estabilidade



  • Falha de banco de dados de reparação pode apagar arquivos de banco de dados - SERVER-13739


Aggregation Enhancements


O aggregation pipeline adiciona a capacidade de retornar conjuntos de resultados de qualquer tamanho, ou retornando um cursor ou escrever a saída para uma coleção. Além disso, o  aggregation pipeline suporta variáveis ​​e adiciona novas operações para lidar com conjuntos de dados e redigir dados.

  • O db.collection.aggregate () agora retorna um cursor, que permite que o aggregation pipeline retornae conjuntos de resultados de qualquer tamanho.

  • Aggregation pipelines agora suportam uma operação explain para auxiliar a análise de operações de agregação.

  • Aggregation agora pode usar um processo de classificação baseado em discos externos mais eficientes.



sábado, 17 de maio de 2014

3-nodereplicaset

 

 

Neste artigo vamos ver como implementar uma replicação MongoDB em 3 passos de maneira bem simples.



Para começar, vamos seguir os passos a seguir:

  1. Criar os diretórios de dados

  2. Criar o conjunto de replicação e as instâncias

  3. Configure os nós primário, secundario e um árbitro


Passo 1) Crie os diretórios de dados


Comece criando um diretório de dados para cada membro do conjunto de réplica, um para o primário,outro para o secundário e também adicionar um árbitro. O árbitro não replica os dados, mas escolhe um novo primário, caso haja uma interrupção do primário existente.
mkdir /mongodb/0/node1
mkdir /mongodb/0/node2
mkdir /mongodb/0/arbiter

Passo 2) Criar o conjunto de replicação e as instâncias


Em seguida, comece  cada membro como um mongod separado. Desde que você esteja rodando cada processo na mesma máquina, é provavelmente mais fácil de começar cada mongod em uma janela de terminal separado:
mongod --replSet cadastro --dbpath /mongodb/0/node1 --port 40001 --smallfiles
mongod --replSet cadastro --dbpath /mongodb/0/node2 --port 40002 --smallfiles
mongod --replSet cadastro --dbpath /mongodb/0/arbiter --port 40003 --smallfiles


sexta-feira, 16 de maio de 2014

Hoje veremos o que as vezes ocorre quando enfrentamos um desligamento ou  até mesmo um reboot em um servidor MongoDB.

Ao tentar subir os serviços do MongoDB surge o seguinte erro
old lock file: /data/db/mongod.lock.  probably means unclean shutdown recommend removing file and running --repair see: http://dochub.mongodb.org/core/repair for more information

Este erro ocorre também quando encerramos o MongoDB de maneira errada, como por exemplo, um Kill no processo mongod, quando a maneira correta seria executar o comando db.shutdownServer() no console.

Como resolver este problema:

Você deve ir ao diretório /data/db caso tenha efetuado uma inicialização default e localizar o arquivo mongod.lock. 
-rwxr-xr-x. 1 mongod mongod 5 May 16 13:26 mongod.lock

Caso o diretório não exista, calma, execute um find
[root@Mongo01 /]# find / -name mongod.lock
/var/lib/mongo/mongod.lock

Pronto, agora verifique o tamanho do arquivo
-rwxr-xr-x.  1 mongod mongod        5 May 16 13:26 mongod.lock

Se o arquivo mongod.lock  no diretório especificado pelo dbpath,  seja /data/db por padrão ou outro de sua preferêrncia, não for um arquivo de zero bytes, então o mongod irá se recusas a iniciar.

Como você pode ver acima, o arquivo não está com 0 Bytes, portanto, podemos proceder de duas maneiras :

  1. Deletar o arquivo mongod.lock


Para limpar seus arquivos de dados sem preservar os arquivos originais, não utilize a opção-repairpath


a.Remova o arquivo de bloqueio obsoleto



rm /data/db/mongod.lock

Substitua /data/db com seu dbpath onde estão os arquivos de dados do MongoDB.


Atenção: Depois de remover o arquivo mongod.lock você deve executar o processo de reparação (-repair) de antes de usar o banco de dados.


b. Inicie o MongoDB utilizando o comando -repair para ler os arquivos de dados já existentes


mongod --dbpath /data/db --repair

Quando isso for concluído, os arquivos de dados reparados irão substituir os arquivos de dados originais no diretório /data/db.

c.Inicie o mongod usando a seguinte a seguinte linha de comando para apontar o dbpath para /data/db:
mongod --dbpath /data/db



2. Restaurando o MongoDB através do -repair

a. Crie um novo diretório para o dbpath
mongod –dbpath /data/db –repair –repairpath /data/db0

Com isso o Mongo irá  criar um novo diretório e mover o arquivo de bloqueio antigo / reparado para o novo diretório. Para evitar problemas com permissões. você pode criar manualmente o novo diretório:
sudo mkdir /data/db/db0

Após executar o repair, você pode acompanhar o feedback na linha de comando
[root@Mongo01 mongo] sudo mongod –dbpath /data/db –repair –repairpath /data/db0
Sun Jan  6 22:33:30 Mongo DB : starting : pid = 16652 port = 27017 dbpath = /data/db master = 0 slave = 0  32-bit

Sun Jan  6 22:33:30 finished checking dbs
Sun Jan  6 22:33:30  dbexit:
Sun Jan  6 22:33:30      shutdown: going to close listening sockets…
Sun Jan  6 22:33:30      shutdown: going to flush oplog…
Sun Jan  6 22:33:30      shutdown: going to close sockets…
Sun Jan  6 22:33:30      shutdown: waiting for fs preallocator…
Sun Jan  6 22:33:30      shutdown: closing all files…
Sun Jan  6 22:33:30      closeAllFiles() finished
Sun Jan  6 22:33:30      shutdown: removing fs lock…
Sun Jan  6 22:33:30  dbexit: really exiting now

 

Pronto, seu ambiente está novamente operacional.

quinta-feira, 15 de maio de 2014

Como sabemos MongoDB usa javascript interface para os comandos de shell. Assim, podemos usar este recurso de uma ótima maneira escrevendo comandos de um MongoDB (shell)  em um javascript (js arquivo.) e por fim, executar em um único lugar.
Vamos ver  um exemplo bem simples.
print('===== Script =====');
print(db.getCollectionNames()); // prints all collection names in respective database
print(db.myCollection.count()); // prints the count of myCollection collection.

 

Comando para executar o Shell no script
mongo 127.0.0.1/my-profile-db --username='username' --password='pwd' mongodb-script.js

mongodb-script.js é o script shell.
Basicamente, este é apenas um comando normal de conexão mongodb para executar o script após conectar.

Blog Archive

SmarttNet Solution Provider. Tecnologia do Blogger.

Postagens populares

Twitter MongoDBBrazil

Total de visualizações de página