Pregunta

Estoy creando una aplicación que dependerá de una base de datos, y tengo toda la intención de usar un archivo plano db, ¿hay alguna razón seria para evitar esto?

Estoy usando mimesis ( http://mimesis.110mb.com ) es más simple que usar mySQL, con lo que debo admitir que tengo poca experiencia. Me pregunto acerca de la seguridad de la base de datos. pero los archivos se almacenan como php y parece ser una solución de base de datos sólida.

Realmente me gusta la facilidad de hacer copias de seguridad y transportar las bases de datos, lo que he encontrado más difícil con mySQL. Veo que todo el mundo parece preferir la forma mySQL, y es probable que sea más rápido cuando se trata de consultas, pero aparte de eso, ¿hay alguna razón para mantenerse alejado de los archivos de base plana y (finalmente) aprender correctamente mysql?


editar Solo para que la gente sepa, Terminé yendo con mySQL, y estoy usando el marco CodeIgniter. Todavía me gusta el archivo plano db, pero ahora me he dado cuenta de que es mucho más complejo para este proyecto de lo necesario.

¿Fue útil?

Solución

La respuesta es "Bien" si solo NECESITA una estructura de archivo plano. Una prueba: ¿una sola hoja de cálculo simple manejaría todas las necesidades? Si no, necesita una estructura relacional, no un archivo plano.

Si no está seguro, quizás pueda iniciar el archivo plano. SQLite es una gran aplicación para comenzar.

No es bueno saber que tomaste la decisión equivocada, si lo descubres demasiado lejos en el proceso. Pero si comprende la importancia de una estructura relacional y aumenta el tamaño desde el principio si es necesario, está bien.

Otros consejos

Utilice SQLite , obtendrá una base de datos con muchas características de SQL y, sin embargo, es solo un archivo.

Saludos, soy el creador de Mimesis. Las bases de datos relacionales y SQL son importantes en situaciones en las que tiene grandes cantidades de datos que deben manejarse. ¿Los archivos planos son superiores a las bases de datos de relaciones? Bueno, podrías preguntarle a Google, ya que todo su sistema de archivo funciona con archivos planos, y es el motor de búsqueda más popular en la Tierra. ¿Mimesis se compara con su sistema? Probablemente no.

Mimesis fue creado para resolver un problema de nicho particular. Solo uso sitios web gratuitos para mis esfuerzos en línea. Muchos sitios gratuitos ofrecen la posibilidad de usar PHP. Sin embargo, no proporcionan acceso gratuito a la base de datos SQL. Por lo tanto, necesitaba crear una base de datos que almacenara datos, implementara el bloqueo y evitara los permisos de archivos. Estos fueron los principales parámetros de diseño de Mimesis, y tiene éxito en todos ellos.

Si necesita una idea de la velocidad de Mimesis, si navega a la primera página, le dirá desde qué país está viendo el sitio. Esta base de datos gratuita se toma del sitio ip2nation.com y se transfiere a un Mimesis ffdb. Tiene cientos, si no miles de entradas.

Además, el contador de visitas en la página principal ya ha rastreado a más de 7000 visitantes. Estas son visitas ÚNICAS, lo que significa que el script tiene que buscar en la base de datos para ver si la dirección IP que está visitando ya existe, y también realiza un recuento de las IP totales.

Si ha notado que la página principal se carga bastante rápido y tiene dos scripts de base de datos Mimesis bastante intensivos que se ejecutan en el back-end. La forma en que Mimesis almacena datos se realiza para acelerar los procedimientos de lectura y escritura y también los procedimientos de traducción. La mayoría de los scripts de ejemplo de ffdb u otros scripts de ffdb utilizan un simple archivo CVS u otra estructura similar para almacenar datos. Mimesis en realidad interpreta datos binarios en algunos niveles para aumentar su funcionalidad. Mimesis es algo así como un híbrido entre una base de datos de archivos planos y una base de datos relacional.

La mayoría de los otros scripts de ffdb implican reescribir el archivo COMPLETO cada vez que se realiza una actualización. Mimesis no hace esto, solo reescribe el archivo estructural y actualiza el contenido real de la fila. De modo que, incluso si se produce un error, solo pierde los datos nuevos que se agregan, no ninguno de los datos anteriores. Mimesis también mantiene su historia. A menos que se actualice la tabla, los datos que las filas tenían anteriormente todavía están contenidos.

Podría seguir hablando de todas las características, pero esto no pretende ser "Mimesis es la mejor base de datos". despotricar. Moreso, tiene la intención de abrir los ojos de las personas al hecho de que SQL no es la ÚNICA tecnología disponible, y que los archivos planos, cuando se les dan los paradigmas de desarrollo adecuados, son superiores a una base de datos relacional, teniendo en cuenta que son más especializados.

Larga vida a los archivos planos y a los programadores que desafían los dolores de cabeza que siguen.

  

Realmente me gusta la facilidad de retroceder   y el transporte de las bases de datos, que   He encontrado más difícil con mySQL.

Use SQLite como se menciona en otra respuesta. Solo hay un archivo para respaldar o configurar volcados periódicos de las bases de datos MySQL en archivos SQL. Esto es algo relativamente simple de hacer.

  

Veo que todos parecen preferir   a la manera de mySQL, y probablemente sea   más rápido cuando se trata de consultas

La velocidad es definitivamente una consideración. Las bases de datos tienden a ser mucho más rápidas, porque los datos están mejor organizados.

  

aparte de eso, ¿hay alguna razón para   manténgase alejado de archivos dbs planos y   (finalmente) aprender correctamente mysql?

Seguramente hay muchas razones para usar una solución de base de datos, pero hay argumentos para los archivos planos. Siempre es bueno aprender cosas distintas a las que usualmente '' utilizar. La mayoría de las decisiones dependen de la aplicación. ¿Cuántos usuarios concurrentes vas a tener? ¿Necesitas soporte de transacciones?

Quería informar que Mimesis se mudó de la URL original a http://mimesis.site11.com/

Además, estoy cambiando el enfoque de Mimesis de un ffdb a un almacén de valores clave. Es más sensato Dados los tipos de información que estoy almacenando y los métodos que uso para recuperarla. También hubo un grave error presente en la codificación de Mimesis (que desde entonces he solucionado). Sin embargo, todavía estoy en la fase de prueba del nuevo tipo de almacén de clave-valor. También me han desviado otras cosas. El bloqueo también se ha cambiado del uso de la creación de archivos a la creación de directorios como mecanismo mutex.

Interoperabilidad. MySQL puede interactuar básicamente con cualquier lenguaje que cuente. Es poco probable que Mimesis sea utilizable fuera de PHP.

Esto se vuelve significativo en el momento en que intentas usar perfiladores o modificar datos desde el exterior.

También puede consultar http://lukeplant.me.uk/resources/flatfile/ para el paquete de archivos planos de PHP.

El problema con ir flatfile es que para ajustar la situación para un mayor desarrollo, tiene que alterar una cantidad significativa de código para mejorar la base del sistema. Mientras que si fuera un sistema SQL puro, requeriría poca o ninguna modificación para proceder en el futuro.

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