Preciso armazenar perguntas e respostas em um banco de dados. As perguntas serão de uma a duas frases, mas as respostas serão longas, pelo menos um parágrafo, provavelmente mais.
A única maneira que eu sei sobre fazer isso agora é um banco de dados SQL. No entanto, não acho que essa seja uma boa solução, porque, até onde eu vi, esses bancos de dados não são usados para dados desse tipo ou tamanho. É o caminho correto a seguir ou existe uma maneira melhor de armazenar esses dados? Existe uma maneira melhor do que armazenar strings não processadas?
database
database-design
gsingh2011
fonte
fonte
Respostas:
O Mongodb é ótimo, mas você conhece SQL. Não há nada errado em armazenar respostas longas nos campos. Você pode armazenar imagens ou até arquivos no SQL. Eu acho que o tamanho máximo do campo é 2GB.
Estou quase certo de que esta resposta está sendo armazenada em um campo de tabela em algum lugar.
Quanto a haver milhares deles, não há problema. Mesmo milhões não devem ser um problema. Você pode considerar a indexação de texto completo se estiver pesquisando no campo por palavras-chave ou algo assim. Mas tento não otimizar até encontrar um problema. Os computadores são baratos, o armazenamento é basicamente gratuito.
fonte
Não há problema em armazenar textos longos em bancos de dados (SQL ou outros). É assim que praticamente todas as entradas de blog (pense em Wordpress), artigo de notícias e postagens em fórum (pense em phpbb) na Internet são armazenadas. Não sei os detalhes específicos da configuração da troca de pilhas, mas tenho certeza de que sua pergunta também está armazenada em um banco de dados. A maioria dos bancos de dados SQL possui um
TEXT
tipo de campo ou o equivalente apenas para o propósito de armazenar dados textuais de qualquer tamanho. Muitos também possuem sistemas de busca de texto completo.Tomar decisões técnicas com base no conhecimento e compreensão técnicos, não nos sentimentos.
fonte
Sim, é o caminho correto a seguir. Armazenar strings em um banco de dados SQL é o que você deseja fazer. Uma das minhas tabelas no banco de dados possui mais de um show de dados em texto sem formatação e funciona bem.
Se você está preocupado com o espaço de armazenamento - lembre-se de que é barato!
Se você está preocupado com o desempenho - então não se preocupe, um bom banco de dados pode ser ampliado (ou ampliado) para a quantidade de dados que você deseja incluir nele.
A última coisa que você deseja fazer é começar a otimizar agora (para comprimir as cadeias antes de colocá-las no banco de dados ou algo louco) antes que isso se torne um problema. Você está apenas se dando mais trabalho.
fonte
Não há problema em armazenar grandes strings ou dados binários. Trabalhei com um banco de dados com mais de um terabyte de dados binários e funcionou muito bem (postgres) e a única coisa ruim foi o tempo de backup.
A grande questão é: "Você precisará fazer pesquisas constantes neste texto?"
Se você estiver procurando por seqüências de caracteres no texto, pode pensar em uma solução de índice:
fonte