Pregunta

Me preguntaba cuáles eran las ventajas y desventajas del uso de bases de datos y cuáles eran las otras opciones.Además, ¿qué problemas no son adecuados para las bases de datos?

Me preocupan las bases de datos relacionales.

¿Fue útil?

Solución

El concepto de base de datos es muy amplio.Haré algunas simplificaciones en lo que presento aquí.

Para algunas tareas, la base de datos más común es la base de datos relacional.Es una base de datos basada en el modelo relacional.El modelo relacional supone que usted describe sus datos en filas, pertenecientes a tablas donde cada tabla tiene un número determinado y fijo de columnas.Usted envía datos "por fila", lo que significa que debe proporcionar una fila de una sola vez que contenga los datos relativos a todas las columnas de su tabla.Cada fila enviada normalmente obtiene un identificador que es único a nivel de tabla, a veces a nivel de base de datos.Puede crear relaciones entre entidades en la base de datos relacional, por ejemplo, diciendo que una celda determinada en su tabla debe hacer referencia a la fila de otra tabla, para preservar la llamada "integridad referencial".

Este modelo funciona bien, pero no es el único que existe.En algunos casos, los datos están mejor organizados en forma de árbol.El sistema de archivos es una base de datos jerárquica.comienza en una raíz, y todo va debajo de esta raíz, en una estructura similar a un árbol.Otro modelo es el par clave/valor.Sleepycat BDB es básicamente un almacén de entidades clave/valor.

LDAP es otra base de datos que tiene dos ventajas:almacena datos bastante genéricos, se distribuye por diseño y está optimizado para su lectura.

Las bases de datos de gráficos y los almacenes triples le permiten almacenar un gráfico y realizar una búsqueda de isomorfismo.Por lo general, esto es necesario si tiene un conjunto de datos muy genérico que puede abarcar un nivel amplio de descripción de sus entidades, tan amplio que es básicamente desconocido.Esto está en clara oposición al modelo relacional, donde creas tus tablas con un conjunto de columnas muy preciso y sabes qué contendrá cada columna.

También existen algunas bases de datos relacionales basadas en columnas.En lugar de enviar datos por fila, los envía por columna completa.

Entonces, para responder a tu pregunta:una base de datos es un método para almacenar datos.Técnicamente, incluso un archivo de texto es una base de datos, aunque no es particularmente agradable.La elección del modelo detrás de su base de datos depende principalmente de las necesidades típicas de su aplicación.

Establecer la respuesta como CW porque probablemente estoy diciendo algo estrictamente incorrecto.Siéntete libre de editar.

Otros consejos

Esta es una pregunta bastante amplia, pero las bases de datos son muy adecuadas para la gestión de de datos relacional . Las alternativas serían casi siempre implica diseñar su propio almacenamiento de datos y motor de recuperación, lo que para la mayoría estándar / aplicaciones pequeñas no vale la pena el esfuerzo.

Un escenario típico que no es muy adecuado para una base de datos es el almacenamiento de grandes cantidades de datos que se organizan como una cantidad relativamente pequeña de archivos lógicos, en este caso un simple sistema de sistema de archivos como puede ser suficiente.

No se olvide de echar un vistazo a las bases de datos NoSQL. Es bastante nueva tecnología y muy adecuado para la materia que no se ajusta / escala en una base de datos relacional.

Utiliza una base de datos si tiene datos para almacenar y consulta.

Técnicamente, la mayoría de las cosas son adecuados para las bases de datos. Las computadoras están hechas para procesar datos y bases de datos se hacen para almacenarlos.

La única cosa a considerar es el costo. Costo de la implementación, el costo de mantenimiento, inversión de tiempo, pero por lo general valdrá la pena.

Si sólo necesita almacenar datos muy simples, archivos planos sería una alternativa (archivos de texto).

Nota: se utilizó el término genérico 'base de datos', pero hay muchos tipos y muchas implementaciones de estos diferentes

.
  • buscar aplicaciones , motores de búsqueda de texto completo (algunos de los cuales están integrados a DBMSes tradicionales, pero algunos de los cuales no lo son), puede ser una buena alternativa, que permite tanto más características (varios conciencia lingüística, tienen capacidad de datos semi-estructurados, ocupando ...), así como un mejor rendimiento.

  • Las solicitudes también, he visto que los datos de configuración se almacena en la base de datos, y si bien esto tiene sentido en algunos casos, el uso de archivos de texto sin formato (o YAML, XML y tal) y la carga de los objetos subyacentes durante la inicialización, puede ser preferible, debido a la naturaleza auto-contenido de dicha alternativa, y para la facilidad de modificar y replicar dichos archivos.

  • archivo de registro plana , puede ser una buena alternativa a la tala de DBMS, dependiendo del uso, por supuesto.

Una vez dicho esto, en los últimos 10 años más o menos, los sistemas DBMS, en general, se han añadido muchas características, para ayudar a manejar las diferentes formas de datos y diferentes capacidades de búsqueda (por ejemplo: Búsqueda de texto un primer plano mencionado, XML, inteligente almacenamiento / manejo de BLOB, potentes funciones definidas por el usuario, etc.) que hace de ellos , y por lo tanto un servicio bastante ubicua más versátil. Su fuerza se mantienen principalmente con datos relacionales sin embargo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top