Conjuntos de dados de amostra do MongoDB Atlas
Avalie esse Artigo
Você sabia que o MongoDB Atlas fornece um conjunto completo de dados de exemplo para ajudar você a aprender mais rápido? O recurso Carregar dados de amostra permite carregar oito conjuntos de dados em seu banco de dados para explorar. Você pode usar isso com a camada gratuita do MongoDB Atlas M0 para testar o MongoDB Atlas e os recursos do MongoDB. Os dados de amostra ajudam você a testar recursos como indexação, consultas (incluindo geoespacial) e agregações, além de usar ferramentas do MongoDB como MongoDB Charts e MongoDB Compass.
No restante desta publicação, veremos por que ele foi criado, como primeiro carregar os dados de amostra e, em seguida, descreveremos o que os conjuntos de dados contêm. Também abordaremos como baixar esses conjuntos de dados para usá-los em sua própria máquina local.
Antes de aprendermos a carregar os dados de amostra, vale a pena primeiro destacar por que criamos o recurso. Construímos esse recurso porque, muitas vezes, as pessoas criavam um novo cluster do Atlas vazio e, depois, tinham que esperar até que escrevessem seu aplicativo ou importassem dados para ele antes de poderem aprender e explorar a plataforma. Os dados de amostra do Atlas foram a solução. Eles removem esse bloqueio e permitem que você tenha uma noção de como o MongoDB funciona com diferentes tipos de dados.
- No painel de navegação esquerdo no Atlas, clique em Clusters e escolha em qual cluster você deseja carregar os dados.
- Para esse cluster, clique no botão Reticências (...).
- Em seguida, clique no botão "Carregar conjunto de dados de amostra".
- Clique no botão com o nome correspondente, "Carregar conjunto de dados de amostra".
Esse processo levará alguns minutos para ser concluído, então, vamos ver exatamente que tipo de dados vamos carregar. Depois que o processo terminar, você verá um banner em seu cluster do Atlas semelhante a esta imagem abaixo.
Os conjuntos de dados de amostra do Atlas são compostos por oito bancos de dados e suas coleções associadas. Cada conjunto de dados individual é documentado para ilustrar o esquema, as coleções, os índices e um documento de cada coleção.
Esse conjunto de dados consiste em uma única coleção de avaliações e listagens do AirBnB. Há índices nos campos
property type
, room type
, bed
, name
e location
, bem como no _id
dos documentos.Os dados são um subconjunto aleatório do conjunto de dados AirBnB original disponível publicamente. Abrange várias cidades diferentes ao redor do mundo. Este conjunto de dados é utilizado extensivamente nos cursos da MongoDB University.
Esse conjunto de dados consiste em três coleções de dados de serviços financeiros gerados aleatoriamente. Não há índices adicionais além do índice
_id
em cada coleção. As coleções representam contas, transações e clientes.A coleção de transações usa o padrão bucket para manter um conjunto de transações por um período. Ela foi criada para o treinamento particular do MongoDB, especificamente para o curso do MongoDB para análise de dados.
As vantagens de usar esse padrão são a redução do tamanho do índice em comparação com o armazenamento de cada transação em um único documento. Isso pode simplificar as queries e permite o uso de dados pré-agregados em nossos documentos.
1 // transaction collection document example 2 { 3 "account_id": 794875, 4 "transaction_count": 6, 5 "bucket_start_date": {"$date": 693792000000}, 6 "bucket_end_date": {"$date": 1473120000000}, 7 "transactions": [ 8 { 9 "date": {"$date": 1325030400000}, 10 "amount": 1197, 11 "transaction_code": "buy", 12 "symbol": "nvda", 13 "price": "12.7330024299341033611199236474931240081787109375", 14 "total": "15241.40390863112172326054861" 15 }, 16 { 17 "date": {"$date": 1465776000000}, 18 "amount": 8797, 19 "transaction_code": "buy", 20 "symbol": "nvda", 21 "price": "46.53873172406391489630550495348870754241943359375", 22 "total": "409401.2229765902593427995271" 23 }, 24 { 25 "date": {"$date": 1472601600000}, 26 "amount": 6146, 27 "transaction_code": "sell", 28 "symbol": "ebay", 29 "price": "32.11600884852845894101847079582512378692626953125", 30 "total": "197384.9903830559086514995215" 31 }, 32 { 33 "date": {"$date": 1101081600000}, 34 "amount": 253, 35 "transaction_code": "buy", 36 "symbol": "amzn", 37 "price": "37.77441226157566944721111212857067584991455078125", 38 "total": "9556.926302178644370144411369" 39 }, 40 { 41 "date": {"$date": 1022112000000}, 42 "amount": 4521, 43 "transaction_code": "buy", 44 "symbol": "nvda", 45 "price": "10.763069758141103449133879621513187885284423828125", 46 "total": "48659.83837655592869353426977" 47 }, 48 { 49 "date": {"$date": 936144000000}, 50 "amount": 955, 51 "transaction_code": "buy", 52 "symbol": "csco", 53 "price": "27.992136535152877030441231909207999706268310546875", 54 "total": "26732.49039107099756407137647" 55 } 56 ] 57 }
Esse conjunto de dados consiste em uma única coleção com informações sobre naufrágios. Ele tem um índice adicional no campo (GeoJSON)
coordinates
. Esse índice é um índice Geospatial 2dsphere. Esse conjunto de dados foi criado para ajudar a explorar a possibilidade de queries geoespaciais no MongoDB.A imagem abaixo foi criada no MongoDB Charts e mostra todos os naufrágios na costa leste da América do Norte.
Esse conjunto de dados consiste em cinco coleções com informações sobre filmes, cinemas, metadados de filmes e avaliações de filmes de usuários e suas classificações para filmes específicos. Os dados são um subconjunto do conjunto de dados IMDB. Existem três índices adicionais além de
_id
: na coleção de sessões no campo user_id
, na coleção de cinemas no campo location.geo
e na coleção de usuários no campo email
. Você pode ver esse conjunto de dados usado neste tutorial do MongoDB Charts.O site Atlas Search Movies usa esses dados e o Atlas Search do MongoDB para fornecer um catálogo de filmes pesquisável.
Esse conjunto de dados consiste em duas coleções com informações sobre restaurantes e bairros de Nova York. Não há índices adicionais. Esse conjunto de dados é a base do nosso tutorial geoespacial. O documento do restaurante contém apenas o local e o nome de um determinado restaurante.
1 // restaurants collection document example 2 { 3 location: { 4 type: "Point", 5 coordinates: [-73.856077, 40.848447] 6 }, 7 name: "Morris Park Bake Shop" 8 }
Para usar as coleções para busca geográfica, precisamos adicionar um índice, especificamente um índice 2dsphere. Podemos adicionar esse índice e, em seguida, pesquisar todos os restaurantes em um raio de um quilômetro de um determinado local, com os resultados sendo classificados dos mais próximos aos mais distantes. O código abaixo cria o índice e, em seguida, adiciona uma variável auxiliar para representar 1 km, que nossa consulta usa com os critérios $nearSphere para retornar a lista de restaurantes a menos de 1km desse local.
1 db.restaurants.createIndex({ location: "2dsphere" }) 2 var ONE_KILOMETER = 1000 3 db.restaurants.find({ location: { $nearSphere: { $geometry: { type: "Point", coordinates: [ -73.93414657, 40.82302903 ] }, $maxDistance: ONE_KILOMETER } } })
Este conjunto de dados consiste em uma única coleção com informações sobre dados simulados de vendas de uma hipotética empresa de materiais de escritório. Não há índices adicionais. Este é o segundo conjunto de dados usado nos tutoriais do MongoDB Chart.
A coleção de vendas usa o padrão de referência estendida para conter os itens vendidos e seus detalhes, bem como informações sobre o cliente que comprou esses itens. Esse padrão inclui campos acessados com frequência no documento principal para melhorar o desempenho ao custo da duplicação adicional de dados.
1 // sales collection document example 2 { 3 "_id": { 4 "$oid": "5bd761dcae323e45a93ccfe8" 5 }, 6 "saleDate": { 7 "$date": { "$numberLong": "1427144809506" } 8 }, 9 "items": [ 10 { 11 "name": "notepad", 12 "tags": [ "office", "writing", "school" ], 13 "price": { "$numberDecimal": "35.29" }, 14 "quantity": { "$numberInt": "2" } 15 }, 16 { 17 "name": "pens", 18 "tags": [ "writing", "office", "school", "stationary" ], 19 "price": { "$numberDecimal": "56.12" }, 20 "quantity": { "$numberInt": "5" } 21 }, 22 { 23 "name": "envelopes", 24 "tags": [ "stationary", "office", "general" ], 25 "price": { "$numberDecimal": "19.95" }, 26 "quantity": { "$numberInt": "8" } 27 }, 28 { 29 "name": "binder", 30 "tags": [ "school", "general", "organization" ], 31 "price": { "$numberDecimal": "14.16" }, 32 "quantity": { "$numberInt": "3" } 33 } 34 ], 35 "storeLocation": "Denver", 36 "customer": { 37 "gender": "M", 38 "age": { "$numberInt": "42" }, 39 "email": "cauho@witwuta.sv", 40 "satisfaction": { "$numberInt": "4" } 41 }, 42 "couponUsed": true, 43 "purchaseMethod": "Online" 44 }
Este conjunto de dados consiste em nove coleções sem índices adicionais. Ele representa uma seleção de dados realistas e é usado nos cursos de treinamento privados do MongoDB.
Ele inclui várias fontes de dados públicas e conhecidas, como OpenFlights, OpenData de Nova York e Citibike Data de Nova York.
A coleção de rotas usa o padrão Extended Reference para armazenar dados de OpenFlights em rotas aéreas entre aeroportos. Ele faz referência às informações da companhia aérea no documento
airline
, que contém detalhes sobre o avião específico na rota. Esse é outro exemplo de como melhorar o desempenho ao custo de uma pequena duplicação de dados em campos que provavelmente serão acessados com frequência .1 // routes collection document example 2 { 3 "_id": { 4 "$oid": "56e9b39b732b6122f877fa5c" 5 }, 6 "airline": { 7 "alias": "2G", 8 "iata": "CRG", 9 "id": 1654, 10 "name": "Cargoitalia" 11 }, 12 "airplane": "A81", 13 "codeshare": "", 14 "dst_airport": "OVB", 15 "src_airport": "BTK", 16 "stops": 0 17 }
Esse conjunto de dados consiste em uma única coleção sem índices adicionais. Ele representa relatórios meteorológicos detalhados de locais em todo o mundo. Ele contém dados geoespaciais sobre os locais na forma de legacy coordinate pairs.
Se você tiver ideias ou sugestões para novos conjuntos de dados, estamos sempre interessados. Informe-nos no site da comunidade de desenvolvedores.
Também é possível baixar e explorar esses conjuntos de dados em seu próprio computador local. Você pode baixar o conjunto de dados de amostra completo por meio do comando wget:
1 wget https://atlas-education.s3.amazonaws.com/sampledata.archive
Observação: você também pode usar o comando curl:
1 curl https://atlas-education.s3.amazonaws.com/sampledata.archive -o sampledata.archive
Você deve verificar se está executando uma instância
mongod
local ou deve iniciar uma nova instância mongod
neste ponto. Este mongod
será utilizado em conjunto com mongorestore
para descompactar e hospedar uma cópia local do conjunto de dados de amostra. Você pode encontrar mais detalhes sobre como iniciar instâncias do mongod nesta página de documentação.Esta seção pressupõe que você esteja se conectando a uma configuração relativamente simples, com um banco de dados de autenticação padrão e alguma configuração de autenticação. (Você deve sempre criar alguns usuários para autenticação):
Se você não fornecer nenhum detalhe de conexão ao
mongorestore
, ele tentará se conectar ao MongoDB em sua máquina local, na porta 27017 (que é o padrão do MongoDB). Isso é o mesmo que fornecer --host localhost:27017
.1 mongorestore --archive=sampledata.archive
Você pode usar uma variedade de ferramentas para exibir seus documentos. Você pode usar o MongoDB Compass, o CLI ou o plug-in MongoDB Visual Studio Code (VSCode) para interagir com os documento em suas coleções. Você pode descobrir como usar o MongoDB Playground para VSCode e integrar o MongoDB a um ambiente de código do Visual Studio.
Se você achar que os dados de amostra são úteis para a criação, fale conosco nos fóruns da comunidade!
Esses conjuntos de dados oferecem uma ampla seleção de dados que você pode usar para explorar os recursos do MongoDB e criar um protótipo do seu próximo projeto sem ter que se preocupar com a localização dos dados.
Confira a documentação sobre como Carregar dados de amostra para saber mais sobre esses conjuntos de dados e carregue-os em seu cluster do Atlas hoje mesmo para começar a explorá-los!
Para saber mais sobre padrões de esquema e MongoDB, consulte nossa série de blogs Construindo com Padrões e o curso gratuito da MongoDB University Modelagem de MongoDBdo MongoDB para aumentar suas habilidades de design de esquema.
Se tiver dúvidas, acesse o site da nossa comunidade de desenvolvedores, no qual os engenheiros e a comunidade do MongoDB ajudarão você a desenvolver sua próxima grande ideia com o MongoDB.
Relacionado
Tutorial
Como usar regras de arquivamento personalizadas e o particionamento no MongoDB Atlas Online Archive
May 31, 2023 | 5 min read
Artigo
Usando o SuperDuperDB para acelerar o desenvolvimento de IA no MongoDB Atlas Vector Search
Sep 18, 2024 | 6 min read