O documento propõe uma arquitetura para um aplicativo de relacionamento com fornecedores utilizando plataformas Java EE no back-end, Apache Cordova, Ionic e Angular.JS no front-end mobile e o banco de dados MongoDB para armazenamento de dados não estruturados como arquivos multimídia. O MongoDB é descrito como uma opção escalável e de alto desempenho capaz de suportar mais de 100 mil operações por segundo e armazenar bilhões de documentos em clusters distribuídos.
1. Arquitetura DB (App + Web)
Aplicativo de Relacionamento com Fornecedores - BRF
2. Recursos Necessários
Ambiente mobile (Android e IOS) + Web (Browser)
Funcionamento de Recursos Offline
Persistência de Arquivos Multimedia (Imagens e Vídeos)
Geolocalização
Realtime (chat)
3. Ambiente Sugerido
Back-End
Plataforma Java EE (Segurança e padronização - Rest)
Servidor de Aplicação JBoss (8.1 Wildfly)
Banco de dados NoSQL (Armazenamento de arquivos, histórico de conversas, etc.)
Front-End (Mobile)
Apache Cordova + Ionic + Angular.JS
5. MongoDB - Escalabilidade e Perfomance
Suporta mais de 100 nós distribuidos em multiplos data center
100.000+ operações de escrita/leitura por segundo
(mantendo a latência)
1 bilhão+ de documentos no Banco de Dados
6. Cases
EA Sports FIFA - Atendendo milhões de jogadores, guarda dados do usuário e
estado do jogo. O recurso de Auto-sharding permite escalar o MongoDB através de
mais de 250 servidores da EA;
Ebay - Armazena todos os arquivos de imagens e vídeos de seus anúncios; com
arquitetura em cluster garante 99.999% de disponibilidade;
Foursquare - MongoDB é banco de dados principal. +50 milhões de pessoas em
todo o mundo, suportando centenas de milhares de operações por segundo e
armazenamento de todos os check-ins e histórico, usuário, e dados de local, além dos
comentários.