Optimização de RMS

ola galera,seguinte,antes de me banirem do forum por opinar por dividir o forum vai uma dica.

Venho recebendo em meu MSN uma duvida de varios usuários avançados em J2ME (Salve galera), que me pergunta como utilizar RMS de uma maneira mais otimizada.

Pois bem, levem em consideração:

  • 3000 produtos cadastrados
  • 500 clientes
  • a aplicação será off-line, estando on-line apenas uma ou duas vezes ao dia.

Então,por essa e mais algumas levantam a questão até dos usuários mais avaçados.

já tive contato com varios dbs como ORACLE,SQL Server,postgress e até MySQL,mas como gerenciar um “banco” baseado em TXT de memoria?

pois bem,ai vai a solução:

implementar uma classe onde você possa interagir de modo semelhante aos bancos comerciais,considerem o seguinte:

  • dividir de alguma maneira o produtos,como por exemplo GRUPO como FK, de modo provavél como utilizaria relacionamentos PK e FK,
  • criaria um RMS index e varios RMS baseados em FK,onde ficaria assim:

produto_index que guardaria o PK,FK e o id de onde o registro está na tabela FK
produto_FK_001 <- neste caso perceba que o 001 é o codigo do FK

então,isso deve ajudar a quem está passando por estas dificuldades,pois consegui otimizar pesquisas de 2 minutos para apenas 20 segundos,um tempo ótimo,considerando o hardware do smartphone.

Estou estudando uma ideia de desenvolver um banco OOP,que utiliza esta estrutura de forma transparente,até mesmo sem o programador perceber que o banco faz isso.

qualquer sujestão ou ideia para um futuro projeto estamos ai.

Artsby
100 formação
100 pós
100 certificação

Apesar de antigo o tópico, achei interessante.
Recentemene tive problemas com isso também.
Uma das soluções que achei, foi o seguinte:
tinha milhares de veículos ‘cadastrados’ no aparelho, e para otimizar a busca, gravava cada registro em um RMS referente a sua marca, por exemplo:
Corsa era gravado em “Veiculo5”, sendo 5 o código da marca Chevrolet, então na pesquisa, era obrigatório a seleção da marca, então eu saberia que o veículo a ser procurado estaria no RMS “Veiculo5”.
Aceito críticas e sugestões, pois até agora não tive problemas…

PS: Pensei em implementar algo assim como vc falou, mas ainda não sobrou tempo. Fez alguma classe específica para cuidar desses índices? Vc faz alguma busca em árvore?

Essa realmente parece ser uma boa solução.
Não vejo nada mais eficiente.
Se alguém tiver idéias melhores, mande para discutirmos.

Vlw

Acho adequada a técnica de partitioning que o j0nny portou do mundo mainframe para o móvel.

A outra seria investir em indexação do Recordstore para agilizar a busca do conteúdo.

[quote=boone]Acho adequada a técnica de partitioning que o j0nny portou do mundo mainframe para o móvel.

A outra seria investir em indexação do Recordstore para agilizar a busca do conteúdo.[/quote]

Então no seu caso, a busca seria em árvore?
Ou estou falando besteira?

Uma das alternativas.

Os dados podem estar em qualquer ordem no RecordStore e no outro você constrói o índice. Depois quando vc quiser encontrar algo tua função dada a entrada X, procura no índice que diz qual ID no RecordStore de dados você deve ler.