Pergunta

Estou pensando em solução open source ideal para armazenar documentos XML com mais consultas sobre eles de forma eficaz. Quantidade de dados será pequeno. Tanto quanto eu entendo bancos de dados XML nativos pode formar uma solução adequada para o meu caso. Eles, obviamente, armazenar documentos XML de forma altamente eficiente. Seria ótimo para aprender a sua experiência. Todas as sugestões sobre solução adequada? Você tem alguma experiência empregando mecanismos de armazenamento XML em seus aplicativos?

Foi útil?

Solução

Temos benn trabalhar com servidores XML nativos em nosso trabalho. Eles são muito bem se os seus dados estão abaixo como alguns 100-200MB-s, mas depois que eu não poderia encontrar um servidor apropriado que poderia lidar com os dados. Eu tentei o seguinte:

  • eXist: baseado em Java servidor XML nativo (open source): com arquivos grandes que normalmente come memória da JVM e, em seguida, lança uma exceção de memória
  • sedna: C baseado em servidor XML nativo (open source): Pode lidar com bancos de dados reais grandes, mas segfaults se você tentar consultar uma base de dados não-indexados a partir do banco de dados
  • banco de dados Tamino XML (proprietário): Uma das primeiras bases de dados XML, maduro, mas tem apoio xquery de baixa qualidade (pelo menos a quase última versão que estamos usando tem muito ruim suport para XQuery), e como temos visto até mesmo um profissional treinado não poderia configurá-lo corretamente para ser rápido o suficiente.

Aqui estão as minhas sugestões:

  • Para dados pequenas e para sistemas baseados em Java tentar existir. Ele ainda tem um semelhante SQlite suporte de banco de dados de arquivo com base que pode ser útil.
  • Para pequenas e médias de dados, onde o desempenho é importante usar sedna. De acordo com o meu teste é o mais rápido dos três.
  • Se você precisar de suporte, em seguida, usar Tamino. Ele tem pelo menos apoio.

Para grandes bancos de dados (1 GB e acima) eu não recomendo qualquer um deles (ainda). existe costuma caiu com um banco de dados de tamanho de 200MB. sedna colidiu com um 1GB de tamanho do banco de dados ao consultar algo que não está indexado, e Tamino não poderia mesmo carregar 500MB de dados em uma corrida antes de cair todo o sistema. É claro que todos esses sistemas estão evoluindo, então talvez um pouco mais tarde eles estarão seguros de usar, mas bancos de dados XML nativos ainda existem, infelizmente, imaturo.

Outras dicas

Você já olhou nos principais soluções de fornecedores fornecido como o Oracle XML DB . Eu não tentei isso, mas certamente valeria a pena avaliar fornecendo você tem um orçamento para essas coisas!

Além disso Wikipedia Tem uma boa lista de XML Dbs , que você pode querer avaliar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top