Login Registre-se
Armazenar XML no banco de dados  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
robertop

JavaC Membro

Membro desde: 10/07/2013 20:08:36
Mensagens: 328
Online

Bom dia!
GGarcia, Samuk, vou abrir este tópico para não ficarmos atrapalhando o tópico da Mariana.

Eu estou utilizando este código para compactar o arquivo XML.
Eu tinha um banco com 3,7GB ao incluir os XML de 88102 notas na base ele foi para 4,2GB.
Deu uma média de 5,35KB por nota.



estes são os imports


Eu tambem tentei retornando um byte[]


Estou utilizando o MYSQL e criei um campo mediumblob

Esta mensagem foi editada 2 vezes. Última atualização foi em 01/11/2018 09:51:48

GGarcia

JavaC Membro
[Avatar]

Membro desde: 28/05/2013 17:12:21
Mensagens: 265
Offline

Faço exatamente dessa forma, robertop.

No meu caso o banco que utilizo é o PostgreSQL, e o tipo de campo nele seria o text.

Mas se você considerar o tamanho normal de um XML, que beira seus 10-11KB quando possui poucos itens, o ganho é considerável.

Já em XML maiores, a taxa de compactação é maior ainda.

If you're here, who's running hell?
GGarcia

JavaC Membro
[Avatar]

Membro desde: 28/05/2013 17:12:21
Mensagens: 265
Offline

Outra grande vantagem disso é a questão do armazenamento em si. Nosso sistema roda em Windows, Linux e OSX. Muito mais do que eventualmente, ocorrem problemas de permissão para gravação em Linux e OSX. É um saco.

Gravando em disco, elimina-se esse tipo de problema.

Eu gravo XML de envio e de eventos, bem como as importações de notas de terceiros.

Ao final de cada mês pode-se gerar um ZIP que contenha todos os XML descriptografados para guardar na nuvem, se for o caso.


As vantagens surgem pelo simples fato de, tudo que você puder imaginar fazer com os XML, está a sua disposição sem se preocupar se o arquivo existe, se está acessível ou se tem permissão para ler.

Eu gostei tanto da flexibilidade do XML em banco que na atualização do sistema que passou a implementar isso, coloquei uma rotina para ler todos os XML em que estavam gravados em arquivo e converti todos para gravar em banco com seus respectivos documentos. Foi mágico xD xD

Esta mensagem foi editada 1 vez. Última atualização foi em 02/11/2018 17:14:44


If you're here, who's running hell?
robertop

JavaC Membro

Membro desde: 10/07/2013 20:08:36
Mensagens: 328
Online

Blz,
Estou efetuando alguns ajustes no sistema e esta é uma das coisas que esta pendente.
Hoje é salvo em disco e fica mais uma coisa para salvar nos backups.

Mas vou analisar com carinho e ver como resolver esta situação.

Valeu!

Abraço!
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team