Necesito almacenar preguntas y respuestas en una base de datos. Las preguntas serán de una a dos oraciones, pero las respuestas serán largas, al menos un párrafo, probablemente más.
La única forma en que sé hacer esto ahora es una base de datos SQL. Sin embargo, no creo que esta sea una buena solución porque, por lo que he visto, estas bases de datos no se utilizan para datos de este tipo o tamaño. ¿Es esta la forma correcta de hacerlo o hay una mejor manera de almacenar estos datos? ¿Hay una mejor manera que almacenar cadenas crudas?
database
database-design
gsingh2011
fuente
fuente
Respuestas:
Mongodb es genial, pero sabes SQL. No hay nada de malo en almacenar respuestas largas en los campos. Puede almacenar imágenes o incluso archivos en SQL. Creo que el tamaño máximo del campo es de 2 gb.
Estoy casi seguro de que esta respuesta se está almacenando en un campo de tabla en alguna parte.
En cuanto a que hay miles de ellos, no hay problema. Incluso millones no deberían ser un problema. Puede considerar la utilización de la indexación de texto completo si está buscando palabras clave en el campo o algo así. Pero trato de no optimizar hasta que veo un problema. Las computadoras son baratas, el almacenamiento es básicamente gratuito.
fuente
No hay problema para almacenar texto largo en bases de datos (SQL o de otro tipo). Así es como se almacena virtualmente cada entrada de blog (piense en Wordpress), artículo de noticias y publicación en el foro (piense en phpbb) en Internet. No conozco los detalles específicos de la configuración del intercambio de pila, pero estoy seguro de que su pregunta también se almacena en una base de datos. La mayoría de las bases de datos SQL tienen un
TEXT
tipo de campo o el equivalente solo con el fin de almacenar datos textuales de cualquier longitud. Muchos también tienen sistemas de búsqueda de texto completo en su lugar.Tome decisiones técnicas basadas en el conocimiento técnico y la comprensión, no en los sentimientos.
fuente
Sí, es el camino correcto. Almacenar cadenas en una base de datos SQL es lo que desea hacer. Una de mis tablas en el DB tiene más de un concierto de datos de texto sin formato y funciona bien.
Si le preocupa el espacio de almacenamiento, recuerde que es barato.
Si le preocupa el rendimiento, no se preocupe, una buena base de datos puede escalar (o reducirse) a la cantidad de datos que desee incluir.
Lo último que desea hacer es comenzar a optimizar ahora por el bien (comprimir cadenas antes de ponerlas en el DB o algo loco) antes de que realmente se convierta en un problema. Solo te estás dando más trabajo.
fuente
No hay problema para almacenar cadenas grandes o datos binarios. Trabajé con una base de datos con más de un terabyte de datos binarios y funcioné muy bien (postgres) y lo único malo fue el tiempo de respaldo.
La gran pregunta es: "¿Necesitarás hacer búsquedas constantes en este texto?"
Si va a buscar cadenas en el texto, puede pensar en una solución de índice:
fuente