1 pontos por GN⁺ 2025-09-23 | 1 comentários | Compartilhar no WhatsApp
  • A atualização da infraestrutura do servidor de downloads neste mês proporciona uma experiência de download mais rápida
  • O método de solicitação de arquivos “...latest” foi alterado para redirecionamento HTTP
  • Há um esforço para que todos os usuários possam acessar com praticidade os dados mais recentes do OSM
  • Casos anormais de uso com downloads excessivos e repetidos de arquivos grandes acabam degradando o desempenho de todo o serviço
  • São apresentadas três recomendações concretas para downloads eficientes e responsáveis

Atualização do servidor de downloads e recomendação de uso responsável

Neste mês, foi realizado um trabalho de reforço da infraestrutura do servidor de downloads.
Com isso, tornou-se possível oferecer downloads mais rápidos e mais cedo.
Como mudança técnica, ao solicitar arquivos “...latest”, em vez da entrega direta usada anteriormente, agora o sistema direciona para o arquivo da versão mais recente por meio de redirecionamento HTTP

A necessidade de downloads responsáveis

O servidor é operado para que todos os usuários possam acessar com facilidade os dados mais recentes do OSM (OpenStreetMap).
No entanto, há casos em que alguns usuários baixam repetidamente o mesmo arquivo grande (por exemplo, 20 GB) centenas ou milhares de vezes por dia

  • Como exemplo, houve um caso em que um usuário baixou o arquivo italy-latest.osm.pbf quase 10.000 vezes em 24 horas
  • Outros repetem a prática de baixar todos os arquivos do servidor todos os dias

Esse tipo de comportamento causa lentidão para todos os usuários devido aos limites de largura de banda do servidor
Se o bloqueio de faixas de IP se tornar inevitável, até usuários sem relação com o problema podem ser prejudicados

Três recomendações concretas para os usuários do servidor

  1. Se você precisa de dados do mundo inteiro, recomenda-se baixar o arquivo planet de uma só vez em planet.openstreetmap.org, em vez de dividi-lo em várias partes no servidor
  2. Se quiser atualizar diariamente dados de um continente ou de uma região ampla (por exemplo, Europe, North America), use o programa pyosmium-up-to-date para baixar apenas as mudanças; isso reduz 98% do tráfego total e também é mais rápido
  3. Ao usar scripts automatizados, é necessário monitorar o que está sendo baixado ou incluir tratamento de erros adequado para evitar enganos como baixar o mesmo arquivo infinitamente em repetição

Conclusão

Pede-se a colaboração de todos para criar um ambiente em que seja possível usar dados atualizados com conforto por meio de hábitos de download mais responsáveis

1 comentários

 
GN⁺ 2025-09-23
Comentários do Hacker News
  • Sempre me pergunto por que o BitTorrent não é usado mais vezes quando vejo problemas parecidos; acho que seria ótimo se virasse um protocolo padrão em mais lugares, como registros de contêineres ou repositórios de pacotes
    • O BitTorrent tem uma imagem pública ruim; a maioria simplesmente o associa a downloads ilegais<br>Configurar firewall para ele é mais complicado do que para HTTP, e pedir esse tipo de ajuste a um administrador de rede pode soar estranho, especialmente por causa da resistência ao próprio BitTorrent<br>Clientes de BitTorrent são muito mais complexos do que clientes HTTP e normalmente não estão instalados em computadores corporativos ou pipelines de CI; muita gente só quer resolver tudo com um único comando curl<br>Há muito equívoco sobre a ideia de que é obrigatório fazer seed, e isso assusta as pessoas<br>No fim, é uma pena que o BitTorrent acabe subvalorizado por causa da imagem que tem e do fato de que com curl já se resolve tudo<br>Há casos como clientes de videogame que usam BT para atualizações ou o PeerTube usando webtorrent, mas ainda assim é uma pena que não seja mais adotado
    • Dezenas de empresas como Amazon, Esri, Grab, Hyundai, Meta, Microsoft, Precisely, Tripadvisor e TomTom oferecem gratuitamente dados do OpenStreetMap em formato Parquet no S3, o que permite consultar e analisar apenas as informações desejadas usando apenas MB de largura de banda mesmo em datasets de vários TB<br>Veja mais detalhes<br>Usuários do ArcGIS Pro também podem usar este plugin
    • Lembro de ter visto, anos atrás, o conceito de “torrents com conteúdo dinâmico”, mas isso acabou não pegando na prática<br>Eu esperava que isso se tornasse realidade e fico curioso se havia algum problema fatal, como questões de segurança Link de referência
    • Em comparação com HTTP, acho que o BitTorrent nunca teve um “cliente universal” que funcionasse em todo lugar; também não é algo familiar como SSH ou SCP, e ainda exige instalação, configuração e setup de tracker<br>Em geral, essa estrutura só faz sentido quando há demanda frequente por downloads de arquivos grandes; se considerar confiabilidade e volume de seed, tudo acaba se resumindo a quanto benefício isso traz em relação ao custo de desenvolver e manter as ferramentas<br>Talvez algo como Git LFS ajudasse, mas isso é tudo que eu sei sobre o assunto
    • Na empresa onde trabalhei antes, toda semana era preciso distribuir arquivos grandes para todos os desenvolvedores; no começo era uma avalanche simultânea via rsync, mas depois que mudamos para BitTorrent o ganho de velocidade foi enorme
  • Sempre sou grato por existirem empresas como a Geofabrik, que às vezes nos proporcionam experiências excelentes<br>Quando se opera uma API diretamente, é impressionante quantas vezes o descuido ou a falta de noção dos desenvolvedores aparece; pedidos estranhos acontecem com muita frequência<br>Se alguém me contasse isso sem eu já ter vivido, eu acharia exagero<br>Mas, por outro lado, muitos desenvolvedores de API também não pensam em operações em lote; a maioria só oferece manipulação de uma única entidade, então em casos de uso reais que exigem ações múltiplas não resta alternativa além de disparar 700 requisições
    • Em qualquer profissão pode haver irresponsabilidade e ignorância entre pessoas com pouca experiência em desenvolvimento<br>Tenho certeza de que nem todo desenvolvedor fica martelando APIs sem critério<br>A programação foi aberta para todos e, mais recentemente, também existe a tendência do “vibe-coding”, então em termos amplos isso parece inevitável<br>Se a resposta retornar 429 (Too Many Requests) ou se um algoritmo de leaky bucket for aplicado, até desenvolvedores júnior ou iniciantes perceberão rapidamente o problema por conta própria
    • É difícil entender por que o recurso “downloader pays” do S3 não é adotado de forma mais ampla; se existisse esse modelo também fora da AWS, usuários ineficientes poderiam arcar apenas com o próprio custo de uso<br>A desvantagem é que quem não tem sistema de pagamento poderia ter mais dificuldade de acesso, mas talvez ainda desse para manter uma opção gratuita com velocidade limitada
    • Se existe usuário baixando um arquivo de 20GB milhares de vezes por dia, fico me perguntando por que simplesmente não controlam isso com rate limit
    • Acho que ambos os lados precisam de mais empatia: clientes devem respeitar a infraestrutura, e desenvolvedores de API deveriam pensar de forma mais ampla do ponto de vista do usuário
  • O caso de “um usuário baixou o arquivo italy-latest.osm.pbf quase dez mil vezes em 24 horas” provavelmente tem grande chance de ser problema no código; bastaria impor limites por IP, mesmo para usuários de VPN
  • Parece que as pessoas provavelmente estão baixando arquivos de dados de mapa em pipelines de CI, muitas vezes sem nem perceber que estão fazendo um download involuntário<br>Por isso muitos serviços passaram a proibir downloads automáticos para usuários não autenticados<br>Na minha opinião, se alguém quiser baixar um arquivo com cURL, seria melhor exigir cadastro primeiro, e usuários que baixam demais deveriam ser bloqueados ou cobrados
    • Acho que CI é uma das piores invenções em termos de desperdício de recursos computacionais, embora eu não entenda bem por que arquivos de dados de mapa acabam sofrendo downloads em massa como se fossem bibliotecas de código
    • Suspeito que um app web esteja “consultando” arquivos GPKG dessa forma; o formato Parquet permite consultar eficientemente só as partes desejadas, mas não sei se dá para fazer o mesmo com GPKG
    • Fico curioso se dá para identificar de forma confiável requisições vindas de servidores de CI
    • Até uma autenticação simples, como chave de API ou e-mail, já pareceria um bom meio-termo
  • O caso de “há usuários que baixam o mesmo arquivo de 20GB centenas de vezes por dia durante vários dias (e houve até um que baixou dez mil vezes em 24 horas), e também há gente que baixa todos os arquivos do servidor todos os dias” parece algo fácil de bloquear só com rate limiting<br>Se já estão contando quantas vezes os arquivos são baixados em 24 horas, fico me perguntando por que não impõem um limite<br>Não espero que essas pessoas (a) leiam o aviso do operador do servidor e (b) mudem de comportamento
  • Alguns anos atrás eu pensava: “não é possível que alguém vá baixar mais de 100MB toda vez num script de build”, mas depois de conhecer Docker percebi que esse tipo de caso é muito comum
    • Às vezes vejo casos em que, ao entrar num contêiner, a pessoa age como se fosse mágica e tudo passasse a ser de graça
    • O Docker suporta cache de camadas, então não seria desnecessário baixar tudo do zero toda vez?
    • Por isso eu deixo uma imagem específica do projeto pronta antecipadamente para o CI e uso apenas essa no CI; configurar tudo com apt-get toda vez consome tempo demais
  • Fico curioso se enviam e-mails separados para usuários que fazem downloads excessivos; quando usei a API gratuita do Nominatim em 2012, o e-mail era obrigatório, e eu realmente recebi mensagens orientando a reduzir o volume de requisições com cache e coisas do tipo
    • Sem login, não há como obter um endereço de e-mail, então não dá para mandar mensagem
  • Eu não sou o usuário que baixa o arquivo italy-latest a cada 8 segundos, mas a startup italiana da qual faço parte usa bastante a GeoFabrik, e é possível que alguém da equipe tenha baixado demais enquanto fazia experimentos com contêineres<br>Já fomos bloqueados pela geofabrik no passado, mas até hoje não sei o motivo, então espero evitar que isso se repita no futuro<br>Tentei telefonar e enviar e-mail para os contatos da geofabrik.de, mas não tive resposta; se alguém souber como resolver esse problema ou entrar em contato com eles, eu gostaria de saber
  • Tenho a impressão de que as pessoas que fazem esse tipo de download excessivo provavelmente nem vão ler um post de blog como esse
  • Parece mesmo um caso de uso ideal para bittorrent
    • Fico curioso sobre como um cliente de torrent conseguiria baixar automaticamente só as mudanças quando os dados forem alterados