Eh, ± um cache.
Mas na verdade, vc poderia definir q um objeto é obrigado a ficar na RAM. Quer esteja em uso, qr não.
Mas, pode-se pensar num cache sim.
VELO
PS: Alguem sabe? :oops:
Eh, ± um cache.
Mas na verdade, vc poderia definir q um objeto é obrigado a ficar na RAM. Quer esteja em uso, qr não.
Mas, pode-se pensar num cache sim.
VELO
PS: Alguem sabe? :oops:
ué, mas se ele não for ser usado, não tem pq deixar ele na ram
Sinceramente eu não vejo isso com bons olhos…
Deixar uma tabela que é muito utilizada na memória…será
que nenhum fabricante de banco de dados pensou nisso antes?
Claro que sim!
O Oracle faz isso já de maneira otimizada, é só configurar o
espaço de memória pra isso.
Além disso é possível vc colocar rotinas (procedure,packages)
fixas na memória. Os dbas usam o verbo “pinar” pra isso…
“vamos pinar a procedure logon”.
Só imagino esse framework sendo usado com bases de dados
pequenas… esquemas de cluster,partição de tabelas,
flashback recovery nem pensar…
Aff, presistência de objetos não é banco de dados, num tem tabela.
Eu também tenho um pé atrás sobre deixar dados na RAM, mas eu tenho os 2 pés atrás em ficar desmontando os objetos pra guardar no banco, e depois, precisando “remontar” para poder usar. Mesmo usando hibernate é isso, vc mata o objeto e depois dah um new denovo…
Eu acredito nos bancos de objetos, chau pra camada intermediaria, mas eh preciso evoluir.
VELO
Sim, mas haveriam objetos em uso tbém em memória!
É aih que estaria o ganho…
Talvez o fato de ser randômico abra muito mais possibilidade de carregar objetos úteis do que se eu tentasse definir regras de escolha para seleção dos objetos que ficarao carregados…
É esse o ponto!
[quote=Diogenes]Talvez o fato de ser randômico abra muito mais possibilidade de carregar objetos úteis do que se eu tentasse definir regras de escolha para seleção dos objetos que ficarao carregados…
É esse o ponto![/quote]
Se for pra fazer randomico, tente um algoritmo genetico. :mrgreen:
Marcio Kuchma
Sei lah, ainda tem o risco de tudo que estiver na memoria seja inutil
Concordo contigo, mais FACIL, mas, necessariamente num é melhor. Eu acho q o esquema é deixar mais transparente pro programador final…
Tipo, uma interface, com um boolean e um Date, mais nada.
O date a camada intermediaria* muda toda vez que o objeto for acessado. O boolean vem pronto da aplicação. Esse boolean vai ser um lock. Alias, talvez um int.
0 - Fixo na RAM;
1 - Fixo no HD;
2 - Carrega na RAM ou descarrega de acordo com o uso.
VELO
Bem que eu tentaria, mas matei essa aula no jardim de infância! :mrgreen:
Interessante, serah que tem sabor framboeza ?!
Bem como tem o risco de tudo que vc tiver na memória ser útil naquele momento!
Acho q tenho passado poucas horas de minha vida vendo jornal nacional! :lol:
[quote=velo]
Tem algum jeito de eu iniciar o prevayler ou o Space4J simples assim?
public void inserir(Object o){
ObjectContainer db = Db4o.openFile("src/bancoObjetos/db4o/te.yap");
db.set(o);
db.close();}
Eu não consigo iniciar ele simples assim, sou taum burro assim?[/quote]
Tem como implementar simples assim?
VELO
Gente, se fosse tao facil desse jeito ja tinha vindo um treco desse na JDK desde a versao 1.2. Como voces vao saber quais objetos estao sendo usados e quais devem ser passivados? Como voces vao fazer queries? Como voces vao fazer replicacao? Como voces vao fazer a consistencia dos dados ser mantida aconteca o que acontecer?
Facil naum eh, mas o JDBC eh facil? Naum existe o hibernate? Alias pq o hibernate naum vem desde o SDK 1.2?..
E eu ainda naum tive retorno, tem como usar o Space4J do jeito q eu falei, bem simples, em 3 linhas?
VELO
[quote=Diogenes][quote=velo]
Sei lah, ainda tem o risco de tudo que estiver na memoria seja inutil
[/quote]
Bem como tem o risco de tudo que vc tiver na memória ser útil naquele momento!
Acho q tenho passado poucas horas de minha vida vendo jornal nacional! :lol:
[/quote]
hum… isso ferra com a funcionalidade né?
acho que não da pra fazer as coisas na sorte…
[quote=microfilo]
hum… isso ferra com a funcionalidade né?
acho que não da pra fazer as coisas na sorte…[/quote]
Esse eh o ponto!
Pode ser que o randomico carregue os dados 100% aptos para a condição de trabalho atual.
Pode ser que o randomico carregue os dados 100% aptos para a condição de trabalho futura.
Mas, pode ser que o randomico carregue os dados 100% INUTEIS.
Mas eu vou me tornar repetitivo. Tem como carregar o Space4J de uma maneira bem simples como o db4o?
VELO
Jah vi, mas se viu o tamanho?!
Tah, não é enorme, mas nem se compara, 3 linhas pra adicionar algo no db4o, no Space4J eh mais complexo, no prevayler, nossa, nem se compara.
o meu galho tá aqui:
[code] public void addNumber(String user, String number) throws CommandException,
LoggerException {
space4j.executeCommand(new MapPutCmd("phonenumbers", user, number));
}[/code]
Eu queria fazer ± isso:
space4j.add(Object object);
Enfim, facilitar ao maximo o ADD…
Toh tentando fazer isso (ontem eu tava hoje naum fiz), mas soh consegui exceptions…
VELO
vc quer coisas realmente simples hein???
Pegar objetos de uma área de armazenamento secundária * e trazer para memória principal é facil, até o cv consegue fazer isso. O problema, o ENORME problema, é como tirar da memoria ou saber quais objetos tirar/atualizar.
Pensando bem, se usar como tamanho mínimo de um objeto 4kb fica até fácil.
Eu vou fazer um exemplo com 2 db4o, vou postar daih…
VELO