<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: GUDS</title>
    <description>The latest articles on DEV Community by GUDS (somosguds).</description>
    <link>https://dev.to/somosguds</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15263%2Fedf2fee0-c33b-45ac-a321-6d51ebf60b70.png</url>
      <title>DEV Community: GUDS</title>
      <link>https://dev.to/somosguds</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/somosguds"/>
    <language>en</language>
    <item>
      <title>Qual a melhor arquitetura de dados para a sua aplicação de IA?</title>
      <dc:creator>Álan Gularte</dc:creator>
      <pubDate>Mon, 02 Nov 2026 21:25:05 +0000</pubDate>
      <link>https://dev.to/somosguds/qual-a-melhor-arquitetura-de-dados-para-a-sua-aplicacao-de-ia-3hb2</link>
      <guid>https://dev.to/somosguds/qual-a-melhor-arquitetura-de-dados-para-a-sua-aplicacao-de-ia-3hb2</guid>
      <description>&lt;p&gt;Escolher arquitetura de dados pela tendência é um padrão fácil de reconhecer. A empresa decide migrar tudo para a arquitetura que está em alta e descobre, no meio do caminho, três coisas. Os relatórios regulatórios funcionavam bem onde estavam. Os cientistas de dados precisavam dos dados brutos que a migração deixou para trás. E o problema era, na verdade, um time central sobrecarregado, não o formato das tabelas.&lt;/p&gt;

&lt;p&gt;A pergunta correta não é qual arquitetura é a mais recente, e sim quais requisitos os dados e seus consumidores impõem. Três deles explicam a maior parte das decisões:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;O tipo de dado:&lt;/strong&gt; tabelas, JSON, logs, imagem, áudio, PDF.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quem consome:&lt;/strong&gt; dashboard, analista, cientista de dados, modelo em produção, LLM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A escala:&lt;/strong&gt; volume e frequência de chegada.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A estrutura da organização:&lt;/strong&gt; um time central de dados ou vários domínios com autonomia.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aplicações de IA costumam tocar vários desses requisitos ao mesmo tempo, o que torna a escolha menos óbvia do que parece.&lt;/p&gt;

&lt;h2&gt;
  
  
  Três formas de guardar dado analítico
&lt;/h2&gt;

&lt;p&gt;Um &lt;strong&gt;data warehouse&lt;/strong&gt; atende ao requisito de dados estruturados consumidos por SQL e BI. Ele consolida dados de sistemas como vendas, financeiro, RH e CRM em um modelo único, com dados limpos e definições acordadas. Funciona com &lt;em&gt;schema-on-write&lt;/em&gt;: o schema é definido antes da carga, e o que não se encaixa é transformado ou rejeitado. O caminho clássico é o ETL (&lt;em&gt;Extract, Transform, Load&lt;/em&gt;), em que a transformação acontece antes de o dado chegar ao destino. O ganho é consistência para relatórios e decisões e o custo é a rigidez, em que mudar o schema exige retrabalho nos pipelines. Warehouses em cloud aceitam semiestruturado, como JSON, mas imagem, áudio e vídeo seguem fora do escopo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2lm58xprtyz4b4b6wjhn.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2lm58xprtyz4b4b6wjhn.jpeg" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Um &lt;strong&gt;data lake&lt;/strong&gt; atende os requisitos de variedade e volume a custo baixo. Ele guarda o dado no formato original, em object storage (S3, ADLS, GCS) ou HDFS: JSON, Parquet, logs, vídeo, PDF. Funciona com &lt;em&gt;schema-on-read&lt;/em&gt;: a estrutura é interpretada no momento da leitura. Por isso, o caminho costuma ser ELT (&lt;em&gt;Extract, Load, Transform&lt;/em&gt;), com carga primeiro e transformação depois. Isso dá liberdade a quem explora o dado e aceita fontes que um warehouse não aceitaria. O risco é o &lt;em&gt;data swamp&lt;/em&gt;: o lake acumula tudo, ninguém acha nada, e quem acha não confia na qualidade. Esse risco vem da falta de catálogo, dono e controle de qualidade, não da arquitetura em si.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxgm3vphi383eftak5lmq.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxgm3vphi383eftak5lmq.jpeg" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Um &lt;strong&gt;data lakehouse&lt;/strong&gt; atende ao requisito de ter garantias de warehouse sobre o storage barato e flexível do lake. A peça central são formatos de tabela abertos, como Delta Lake e Apache Iceberg, que adicionam uma camada de metadados sobre arquivos Parquet em object storage. Essa camada traz três recursos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Transações ACID:&lt;/strong&gt; escritas atômicas, consistentes, isoladas e duráveis, que impedem um leitor de ver uma carga pela metade.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evolução de schema.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time travel:&lt;/strong&gt; consulta da tabela como ela estava em uma versão ou data anterior.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A organização mais comum é a arquitetura &lt;em&gt;medallion&lt;/em&gt;, em três camadas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bronze:&lt;/strong&gt; o dado bruto como chegou.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Silver:&lt;/strong&gt; o dado limpo e conformado.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gold:&lt;/strong&gt; tabelas modeladas para o negócio.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O termo lakehouse ganhou força por volta de 2020, mas os formatos que o sustentam são anteriores. O caso da Netflix mostra como lake e lakehouse se sobrepõem na prática. A empresa mantém em S3 os dados de eventos de reprodução e navegação e os snapshots usados para gerar features do seu sistema de recomendação (&lt;a href="https://wayback.archive.org/web/20180413124347/http:/www.sysml.cc/doc/108.pdf" rel="noopener noreferrer"&gt;Netflix, SysML 2018&lt;/a&gt;). Foi sobre esse mesmo storage que ela criou o Apache Iceberg, para contornar as limitações das tabelas Hive (&lt;a href="https://www.theregister.com/2023/01/03/apache_iceberg/" rel="noopener noreferrer"&gt;The Register&lt;/a&gt;; &lt;a href="https://www.dataengineeringpodcast.com/episodepage/improving-the-performance-of-cloud-native-big-data-at-netflix-using-the-iceberg-table-format-with-ryan-blue--episode-52" rel="noopener noreferrer"&gt;Data Engineering Podcast&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frlt8973i7uxdhixkbep5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frlt8973i7uxdhixkbep5.jpeg" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  O que cada carga de IA exige
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Machine Learning supervisionado tradicional
&lt;/h3&gt;

&lt;p&gt;Churn, credit scoring, forecast e detecção de fraude têm requisitos parecidos: dados tabulares, histórico confiável, rótulos derivados de eventos de negócio e joins entre entidades como cliente, contrato e transação. E é exatamente isso que um warehouse já organiza para BI. Por isso ele costuma ser a primeira parada: as tabelas estão limpas, conformadas e com significado acordado.&lt;/p&gt;

&lt;p&gt;Os trade-offs aparecem quando o uso deixa de ser exploratório.&lt;/p&gt;

&lt;p&gt;O primeiro é custo. Feature engineering pesado, com janelas e agregações sobre anos de transações, consome compute do warehouse. Esse compute é cobrado por consulta ou por crédito e compete com as cargas de BI.&lt;/p&gt;

&lt;p&gt;O segundo é a correção &lt;em&gt;point-in-time&lt;/em&gt;. No treino, cada exemplo precisa das features como estavam no momento em que a predição teria sido feita, não como estão hoje. Tabelas que sobrescrevem o estado atual produzem vazamento de dados (&lt;em&gt;data leakage&lt;/em&gt;) silencioso: o modelo vai bem na validação e mal em produção.&lt;/p&gt;

&lt;p&gt;O terceiro é o atrito de ferramenta. Cientistas de dados trabalham em Python, e extrair grandes volumes do warehouse para um notebook é lento e caro.&lt;/p&gt;

&lt;p&gt;O lakehouse atende à mesma carga com algumas diferenças. As tabelas gold servem tanto ao dashboard quanto ao treino. Engines como Spark leem os mesmos arquivos sem exportação. E o time travel permite recriar o dataset exato de um treino anterior, desde que a política de retenção de versões cubra o período, já que rotinas de limpeza como &lt;code&gt;VACUUM&lt;/code&gt; ou a expiração de snapshots apagam versões antigas. Feature store e ferramentas de MLOps, quando existem, vêm da plataforma (como Databricks) ou de ferramentas separadas, não do formato de tabela. O iFood usa Delta Lake sobre a plataforma Databricks, com dados organizados em camadas medallion. A mesma base alimenta dashboards de BI usados em toda a empresa e o trabalho dos cientistas de dados, que vai de simulações de logística ao treino de modelos sobre a jornada dos usuários no app (&lt;a href="https://www.databricks.com/customers/ifood" rel="noopener noreferrer"&gt;Databricks, 2022&lt;/a&gt;; &lt;a href="https://www.databricks.com/customers/ifood/spark-declarative-pipelines" rel="noopener noreferrer"&gt;Databricks, 2025&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;O data lake sozinho também atende, mas a qualidade e a semântica ficam por conta de cada time, o que tende a gerar features duplicadas com definições diferentes.&lt;/p&gt;

&lt;p&gt;Para analistas, o ponto que mais pesa é a consistência de definições. Se "cliente ativo" significa uma coisa no dashboard e outra no modelo de churn, a discussão sobre o resultado vira discussão sobre a métrica. Para engenheiros de ML, o que mais importa é point-in-time e reprodutibilidade.&lt;/p&gt;

&lt;h3&gt;
  
  
  Treino de deep learning e modelos com dados não estruturados
&lt;/h3&gt;

&lt;p&gt;Aqui os requisitos mudam de natureza. Visão computacional, áudio e NLP exigem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;volume grande de arquivos binários;&lt;/li&gt;
&lt;li&gt;throughput de leitura suficiente para manter as GPUs ocupadas;&lt;/li&gt;
&lt;li&gt;controle sobre qual versão do dataset e dos rótulos gerou cada modelo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O warehouse não se enquadra nesse cenário porque não foi feito para armazenar imagem ou áudio. O data lake é o lugar mais natural, pois oferece object storage barato, aceita qualquer formato e escala sem planejamento de schema. Não é coincidência que deep learning e data lakes tenham ganhado escala na mesma época.&lt;/p&gt;

&lt;p&gt;A escala varia muito conforme o objetivo. Pré-treino de LLM opera na ordem de trilhões de tokens, mas poucas organizações fazem isso. A maioria dos times faz fine-tuning ou treina modelos de visão e áudio menores, com datasets de gigabytes a poucos terabytes. Mesmo nessa faixa, alguns custos aparecem rápido:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Arquivos pequenos.&lt;/strong&gt; Milhões de JPEGs de poucos kilobytes geram sobrecarga de listagem e de requisições. Formatos em shards, como WebDataset, TFRecord ou Parquet com colunas binárias, reduzem esse custo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Localidade.&lt;/strong&gt; Treinar em uma região ou cloud com o dado em outra gera custo de transferência (egress) e latência.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;I/O.&lt;/strong&gt; Ler diretamente do object storage durante o treino pode se transformar num gargalo. Cache local e prefetch fazem diferença.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Versionamento.&lt;/strong&gt; Sem controle, ninguém consegue dizer com quais imagens e quais rótulos um modelo foi treinado.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O lakehouse entra como complemento, não como substituto. Os binários continuam como objetos no storage, mas os metadados vão para uma tabela Delta ou Iceberg, com ACID e time travel: caminho do arquivo, rótulo, split de treino e validação, origem, licença e versão. Isso dá auditoria e reprodutibilidade sem mover os binários.&lt;/p&gt;

&lt;p&gt;Para engenheiros de ML, os requisitos dominantes são throughput e reprodutibilidade. Para engenheiros de dados, são catálogo e ciclo de vida: retenção, classes de storage e custo de manter versões antigas.&lt;/p&gt;

&lt;h3&gt;
  
  
  RAG e aplicações com LLM
&lt;/h3&gt;

&lt;p&gt;RAG (&lt;em&gt;retrieval-augmented generation&lt;/em&gt;) recupera trechos relevantes de uma base de documentos e os entrega ao LLM como contexto para a resposta. Os requisitos são:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;um corpus de documentos (PDFs, manuais, transcrições, tickets);&lt;/li&gt;
&lt;li&gt;um pipeline de extração de texto, divisão em trechos (&lt;em&gt;chunking&lt;/em&gt;) e geração de embeddings;&lt;/li&gt;
&lt;li&gt;um índice vetorial para busca por similaridade;&lt;/li&gt;
&lt;li&gt;controle de acesso;&lt;/li&gt;
&lt;li&gt;atualidade dos dados.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os documentos originais costumam viver no data lake. O lakehouse acrescenta governança ao pipeline, e a medallion se aplica bem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bronze:&lt;/strong&gt; o documento original.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Silver:&lt;/strong&gt; o texto extraído e limpo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gold:&lt;/strong&gt; os trechos com seus embeddings e metadados.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Com isso, cada trecho tem linhagem até a versão do documento de onde saiu.&lt;/p&gt;

&lt;p&gt;Uma distinção precisa ficar clara: Delta Lake e Iceberg não fazem busca vetorial. O índice vetorial é recurso de plataforma, como o Vector Search do Databricks, que sincroniza com uma tabela Delta. Ou então é um banco vetorial separado. Em ambos os casos, o índice é uma cópia derivada do dado. O ganho do lakehouse não é evitar duplicação, e sim manter a origem e a governança em um só lugar. O lakehouse é uma base possível para RAG, não a única. Muitas arquiteturas usam banco vetorial dedicado com o lake como fonte.&lt;/p&gt;

&lt;p&gt;O warehouse não guarda o corpus, mas tem papel em aplicações com LLM. Perguntas como "quanto vendemos no Sul no último trimestre" são respondidas com mais precisão por text-to-SQL sobre tabelas modeladas do que por busca vetorial em documentos. Alguns warehouses em cloud já oferecem funções vetoriais.&lt;/p&gt;

&lt;p&gt;Os trade-offs dessa carga são menos visíveis do que os das outras:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Permissões.&lt;/strong&gt; Se um usuário não pode abrir um documento na fonte, também não pode receber um trecho dele na resposta do assistente. As regras de acesso precisam ser levadas até o índice, e esse costuma ser o ponto mais negligenciado do pipeline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data freshness (atualidade dos dados).&lt;/strong&gt; Um documento atualizado na fonte continua respondendo com o texto antigo até o pipeline rodar de novo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reindexação.&lt;/strong&gt; Trocar o modelo de embedding obriga a reprocessar o corpus inteiro, e o custo cresce com o tamanho dele.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para engenheiros de IA, o foco tende a ser qualidade de recuperação. Já para os engenheiros de dados, o foco está em permissões, data freshness e linhagem, que são justamente o que decide se o sistema pode ir para produção.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resumo por carga
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Carga&lt;/th&gt;
&lt;th&gt;Warehouse&lt;/th&gt;
&lt;th&gt;Data Lake&lt;/th&gt;
&lt;th&gt;Lakehouse&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ML supervisionado tradicional&lt;/td&gt;
&lt;td&gt;Alta. Ressalva: custo de compute e correção point-in-time&lt;/td&gt;
&lt;td&gt;Média. Qualidade e definições ficam por conta de cada time&lt;/td&gt;
&lt;td&gt;Alta. Feature store depende da plataforma, não do formato&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deep learning e dado não estruturado&lt;/td&gt;
&lt;td&gt;Baixa. Não armazena binários&lt;/td&gt;
&lt;td&gt;Alta. Ressalva: arquivos pequenos, I/O e versionamento&lt;/td&gt;
&lt;td&gt;Alta para metadados e versões. Binários seguem no object storage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RAG e aplicações com LLM&lt;/td&gt;
&lt;td&gt;Média, como contexto estruturado via text-to-SQL. Não guarda o corpus&lt;/td&gt;
&lt;td&gt;Média. Guarda o corpus, mas sem linhagem nem governança por padrão&lt;/td&gt;
&lt;td&gt;Alta. Índice vetorial vem da plataforma ou de banco separado&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Nenhuma delas foi aposentada
&lt;/h2&gt;

&lt;p&gt;Warehouses legados continuam no centro da operação de grandes empresas. No Bradesco, o warehouse Teradata segue em produção, agora em um ambiente híbrido entre on-premise e Azure (&lt;a href="https://www.teradata.com/events/possible/sessions/banco-bradesco" rel="noopener noreferrer"&gt;Teradata&lt;/a&gt;), enquanto a iniciativa de open finance roda sobre Delta Lake na plataforma Databricks (&lt;a href="https://www.databricks.com/customers/banco-bradesco" rel="noopener noreferrer"&gt;Databricks&lt;/a&gt;). O warehouse continua lá porque o requisito que atende continua existindo, não por inércia. O mesmo vale para os data lakes que ganharam uma camada de lakehouse: a Netflix não descartou o storage em S3 para criar o Iceberg, construiu sobre ele.&lt;/p&gt;

&lt;p&gt;Por isso, a pergunta do título tem uma resposta menos direta do que parece. Não existe uma arquitetura que seja a melhor para aplicações de IA, porque "aplicação de IA" não é um requisito só. Um modelo de churn, um classificador de imagens e um assistente com RAG pedem coisas diferentes, e é comum que convivam na mesma empresa, às vezes no mesmo produto.&lt;/p&gt;

&lt;p&gt;Na prática, três combinações aparecem com frequência:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Warehouse e data lake lado a lado.&lt;/strong&gt; O warehouse serve BI, relatórios regulatórios e o contexto estruturado para LLMs. O lake guarda logs, documentos e binários para ciência de dados e treino.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data lake com uma camada de lakehouse por cima.&lt;/strong&gt; Quem tem um lake maduro não o descarta. Adiciona Delta ou Iceberg e converte tabela por tabela, com as duas formas coexistindo por meses ou anos. Os binários continuam como objetos, e os metadados ganham ACID, versionamento e linhagem.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lakehouse com um índice vetorial ao lado.&lt;/strong&gt; As camadas medallion governam o pipeline de documentos, e a busca vetorial fica com a plataforma ou com um banco dedicado.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A pergunta que orienta a decisão, então, não é qual arquitetura escolher, e sim quais requisitos cada carga impõe e como combinar as arquiteturas que atendem a eles. Uma escolha feita assim continua fazendo sentido quando a próxima arquitetura em alta aparecer.&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>machinelearning</category>
      <category>ai</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
