Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

desisto

sql x xml

Recommended Posts

opa

tenho umas aplicacoes no sql e outras estarei fazendo em XML

 

queria saber se a consulta ao XML é muito mais lenta que o sql e a variacao de performance em relacao às chamadas

Compartilhar este post


Link para o post
Compartilhar em outros sites

XML é mais lento no caso de trabalhar com grande quantidade de registros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente sempre vai ser lenta, mais você pode usar camadas no XML, aumentar a quantidade de nós dele, assim as linhas seriam mais dinâmicas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

fui fazer um teste, alterei a exibicao da noticia...

joguei tudo numa tabela em forma de xml (titulo, conteudo, data...) e rodei

 

usei um starttime = Timer pra 'medir' o tempo e usando xml foi relativamente mais rapido

testei em outros sites que medem o desempenho e tb deu o xml mais rapido

 

 

será pq eu diminui a consulta no bd?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode fazer testes assim. XML é um arquivo texto organizado.

 

Imagina um XML de 5 mb x um banco de dados de 5 mb. Faça uma pesquisa no banco e no XML. XML vai ser mais rápido?

 

Agora se você for trabalhar com poucos registros, pode usar XML. Utilizo XML apenas para intermediar aplicação (Javascript/Flash) e banco de dados.

 

Obs. a dica do Ted k' é boa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas meu exemplo teste passa longe de chegar em 1mb

foram apenas informacoes normais de uma pagina de noticias

 

no inicio abri o topico pq to calculando a melhor forma de fazer o sistema de estatistica, esse sim sao muitas informacoes

 

depois que fiz esse teste com a pagina de noticias queria saber como o 'sistema' iria se comportar com grande fluxo de usuarios, pois eu ate poderia implementar na parte multimidia das noticias

 

 

eu nao entendi muito bem a OBS do Ted

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um sistema de estatísticas eu acho que seria melhor fazer um usando banco de dados. Até mesmo pq você pode usar o banco para retornar resultados mais precisos, atrabés de funções do mesmo. Já no XML você vai ficar dependente da linguagem que estiver usando, lembrando que terá que carregar todo o arquivo para separar depois o que precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas no banco as estatisticas vao ficar monstruosas

imagina 100 anuncios com 500 acesos/dia... mais de 1 milhao de registros por mes

 

por isso pensei em jogar pra um xml a cada mes

o mes corrente fica no bd, os outros meses no xml

 

 

vale a pena jogar as noticias em forma de xml?

Compartilhar este post


Link para o post
Compartilhar em outros sites

rs... se no banco vai ficar monstruosa, imagina no XML.

 

Notícias em XML não acho que vale apena, pois o conteúdo de notícia pode ser extenso, muitos caracteres, o que vai resultar em muitos kbs...

 

Eu faria tudo isso usando MySQL.

 

No XML, se você precisa-se calcular a média diária em um único mês como faria?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A grande vantagem do Xml é a velocidade comparada com a utilização de banco de dados, mas eu não aconselharia a utilizar o Xml como repositório de dados. É interssante utilizar o Xml para armazenar dados temporários ou para comunicação entre diferentes sistemas,os dois tem as suas vantagens. O SQL tem maior capacidade de armazenamento, e o XML é um formato suportado por diversas plataformas e é mais leve,Um banco de dados é interessante por manter uma grande quantidade de informação, e trafegar como resposta apenas a quantidade de informação necessária. Um XML tem a vantajem de ser suportado em diversas aplicações, pois não é nada mais que um arquivo texto comum, sendo ótimo para comunicação entre aplicações (vide SOA, por exemplo) porém, imagine que sua aplicação precise trafegar um conjunto de dados volumoso para só então fazer uma busca, por exemplo. Seria inviável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A grande vantagem do Xml é a velocidade comparada com a utilização de banco de dados, mas eu não aconselharia a utilizar o Xml como repositório de dados. É interssante utilizar o Xml para armazenar dados temporários ou para comunicação entre diferentes sistemas,os dois tem as suas vantagens. O SQL tem maior capacidade de armazenamento, e o XML é um formato suportado por diversas plataformas e é mais leve,Um banco de dados é interessante por manter uma grande quantidade de informação, e trafegar como resposta apenas a quantidade de informação necessária. Um XML tem a vantajem de ser suportado em diversas aplicações, pois não é nada mais que um arquivo texto comum, sendo ótimo para comunicação entre aplicações (vide SOA, por exemplo) porém, imagine que sua aplicação precise trafegar um conjunto de dados volumoso para só então fazer uma busca, por exemplo. Seria inviável.

mesmo criando e 'setando' os obj. do xml nao corre risco de dar pau com muitas requisições?

 

 

 

rs... se no banco vai ficar monstruosa, imagina no XML.

juro que eu nao tinha pensado no tamanho do XML hehehhehe

mas no caso eu teria um xml pra cada mes de cada cliente e no banco seria todo numa tb so...

nao correria risco de dar um pau?

 

 

Notícias em XML não acho que vale apena, pois o conteúdo de notícia pode ser extenso, muitos caracteres, o que vai resultar em muitos kbs...

mas estou efetuando testes com o codigo xml em uma tabela e nao em uma pagina separada... o xml vem do banco tb

essa sua colocação foi pro caso de ser uma pagina xml pra cada noticia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa hein... ótimas dicas pessoal, estava com algumas dúvidas semelhante e me abriu muito a mente ler este tópico.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma diferença principal é a segurança sobre os dados. Um banco de dados já possui diversos mecanismos próprios de segurança. Um XML terá que contar com os mecanismos fornecidos pelo servidor da aplicação.

 

juro que eu nao tinha pensado no tamanho do XML hehehhehe

mas no caso eu teria um xml pra cada mes de cada cliente e no banco seria todo numa tb so...

nao correria risco de dar um pau?

um banco de dados bem elaborado, com seus relacionamentos bem distintos, como mencionei em outro post, lembrando que a importância de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, é como sempre falo, um relacionamento bem definido é a alma de um aplicativo, pois daí saem todas as consultas e operações com o bd, influenciando diretamente na otimização e performance de sua página, entao verifique tb como estao seus relacionamentos.

 

 

As estruturas XML e relacional são bem diferentes:

Relacional – tabelas bidimensionais onde não é possível definir hierarquia ou ordem entre elas

XML – baseado em árvores (hierarquia) onde a ordem é significante e pode ser definida no esquema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa hein... ótimas dicas pessoal, estava com algumas dúvidas semelhante e me abriu muito a mente ler este tópico.

duvida que nem a minha?

resolveu? hehehehe

 

 

um banco de dados bem elaborado, com seus relacionamentos bem distintos, como mencionei em outro post, lembrando que a importância de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, é como sempre falo, um relacionamento bem definido é a alma de um aplicativo, pois daí saem todas as consultas e operações com o bd, influenciando diretamente na otimização e performance de sua página, entao verifique tb como estao seus relacionamentos.

 

As estruturas XML e relacional são bem diferentes:

Relacional – tabelas bidimensionais onde não é possível definir hierarquia ou ordem entre elas

XML – baseado em árvores (hierarquia) onde a ordem é significante e pode ser definida no esquema

eu fiz o possivel no meu bd, mas minha area é asp, ainda estou longe de ser 'bom' em sql

meu banco tem muita tabela e acaba sendo uma consulta muito grande quando vou listar alguma noticia, por isso joguei essa duvida de aplicar com xml... passaria a ser uma consulta apenas com seus 'modulos' respectivos

 

 

pra ser sincero ainda to em duvida se seria viavel fazer essa aplicação :)

entendi mas nao compreendi os pros X contras

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas estou efetuando testes com o codigo xml em uma tabela e nao em uma pagina separada... o xml vem do banco tb

essa sua colocação foi pro caso de ser uma pagina xml pra cada noticia?

A minha colocação foi para o caso de você armazenar sem registros de notícias (titulo + conteúdo) em um único XML.

 

A questão da segurança levantada pelo xan, é válida também. Um arquivo XML será mais vulnerável.

 

pra ser sincero ainda to em duvida se seria viavel fazer essa aplicação smile.gif

entendi mas nao compreendi os pros X contras

Nos fale o motivo que leva você a escolher o XML, que tentaremos lhe mostrar os pros x contras.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desisto no meu caso eu estou fazendo um guia comercial, aonde resultados das categorias tem que ser expostos, e eu estou fazendo em xml desta forma pois estou pensando no futuro, a minha pretenção é cadastrar os estabelecimentos aqui da minha cidade um por um... ou seja... serão mais ou menos uns 10.000 mil registros, cada estabelecimento ira entrar em uma categoria, esta categorias serão também separadas por bairros aonde estão os estabelecimentos... aqui na minha cidade são cerca de 50 bairros, agora imagina toda vez que o usuário entrar o sistema ter que varrer o BD para pegar os resultados que neste caso na page index será exibido a quantidade de anuncios que estão em cada bairro... agora imagina.... ficaria meio sinistro percorrer toda hora este banco de dados com 10.000 mil registros... por isso eu monto um xml aonde eu coloco dados referentes ao bairro e ao número de anuncios em cada bairro, este xml é criada no sistema administrativo, com isso sempre quando eu inserir um novo estabelecimento o sistema ira criar um xml atualizado, caso contrario o xml será apresentado o mesmo para o usuário, com isso eu diminuo a pesquisa simples no BD.

 

Mais neste caso vai ser simples, vou criar um xml da seguinte forma.

 

<?xml version="1.0" encoding="utf-8"?>
	<bairros>
		<estabelecimento nome="jardim primavera" URLx="/locais/bairro/jardim-primavera" total="140"></estabelecimento>
	</bairros>

E por ae vai mano, será mais ou menos assim.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desisto no meu caso eu estou fazendo um guia comercial, aonde resultados das categorias tem que ser expostos, e eu estou fazendo em xml desta forma pois estou pensando no futuro, a minha pretenção é cadastrar os estabelecimentos aqui da minha cidade um por um... ou seja... serão mais ou menos uns 10.000 mil registros, cada estabelecimento ira entrar em uma categoria, esta categorias serão também separadas por bairros aonde estão os estabelecimentos... aqui na minha cidade são cerca de 50 bairros, agora imagina toda vez que o usuário entrar o sistema ter que varrer o BD para pegar os resultados que neste caso na page index será exibido a quantidade de anuncios que estão em cada bairro... agora imagina.... ficaria meio sinistro percorrer toda hora este banco de dados com 10.000 mil registros... por isso eu monto um xml aonde eu coloco dados referentes ao bairro e ao número de anuncios em cada bairro, este xml é criada no sistema administrativo, com isso sempre quando eu inserir um novo estabelecimento o sistema ira criar um xml atualizado, caso contrario o xml será apresentado o mesmo para o usuário, com isso eu diminuo a pesquisa simples no BD.

 

Mais neste caso vai ser simples, vou criar um xml da seguinte forma.

 

<?xml version="1.0" encoding="utf-8"?>
	<bairros>
		<estabelecimento nome="jardim primavera" URLx="/locais/bairro/jardim-primavera" total="140"></estabelecimento>
	</bairros>

E por ae vai mano, será mais ou menos assim.

 

[]'s

 

vou trabalhar nesse exemplo que você falou pra montar umas consultas na pagina inicial

meu caso eu farei alterando por dia, vai ser mais facil pra esse caso

 

 

 

 

 

mas estou efetuando testes com o codigo xml em uma tabela e nao em uma pagina separada... o xml vem do banco tb

essa sua colocação foi pro caso de ser uma pagina xml pra cada noticia?

A minha colocação foi para o caso de você armazenar sem registros de notícias (titulo + conteúdo) em um único XML.

 

A questão da segurança levantada pelo xan, é válida também. Um arquivo XML será mais vulnerável.

 

pra ser sincero ainda to em duvida se seria viavel fazer essa aplicação smile.gif

entendi mas nao compreendi os pros X contras

Nos fale o motivo que leva você a escolher o XML, que tentaremos lhe mostrar os pros x contras.

 

vamos la http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

- nao haveria um arquivo fisico .xml; eles estariam no bd normal so que com uma estrutura de xml

<noticia>...

<titulo>...

- dessa forma nao haveria arquivo pesado e manteria a seguranca da consulta ao bd

 

ainda nao escolhi essa forma, por isso estou aqui :)

os motivos seriam que eu tenho um monte de tabela que monta a estrurura da pagina de cada noticia e com isso eu reduzo as consultas

 

por exemplom tenho dividido em colunas:

titulo

subtitulo

texto

banner

tag... e por ai vai

 

se eu montasse um xml eu nao precisaria consultar todas essas tabelas

 

valeu

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi. Como seria isso? Acho que nunca vi XML dessa forma. Caso seja realmente uma forma diferente de utilizar, deve ser analisado mesmo, pois meus posts acima se referem ao XML arquivo fisico ou earquivo gerado dinamicamente (nesse caso intermediando aplicações ao pegar as informações do banco de dados)

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao seria nada d+

vou dar um exemplo

 

exibicao da noticia id=30

conecta a tabela do banco = estrutura que tem o xml abaixo

 

<?xml version="1.0"?>
<noticia>
	<data>13/06/2018</data>
	<titulo>titulo da noticia</titulo>
	<subtitulo>subtitulo da noticia</subtitulo>
	<conteudo>
		<p>texto texto texto texto texto texto texto texto</p>
		<p>texto texto texto texto texto texto texto texto</p>
		<p>texto texto texto texto texto texto texto texto</p>
		<p>texto texto texto texto texto texto texto texto</p>
	</conteudo>
</noticia>

 

ai na hora de exibir o conteudo, implementa um loop pra verificar a existencia dos 'modulos'

depois é so dar um response em cada modulo

 

esse foi o exemplo que disse usei, exatamente dessa forma

nao ha pagina fisica .xml, ha apenas 1 consulta à uma tabela

 

nunca viu isso?

descobri a polvora? hehehehehhehe

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é o que o Patrique e eu dissemos.

 

Nesse caso você acessa o banco de qualquer jeito, então é impossível ser mais rápido que o acesso direto ao banco, uma vez que o XML é gerado dinamicamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.