1- Donde el archivo plano puede ser útil: El archivo plano puede ser más rápido que una base de datos, pero en aplicaciones muy específicas. Son más rápidos si los datos se leen de principio a fin sin ninguna búsqueda o escritura. Si los datos no se ajustan a la memoria y deben leerse por completo para realizar el trabajo, 'pueden' ser más rápidos que una base de datos. Además, si hay mucho más escritura que lectura, el archivo plano también brillará, la mayoría de las configuraciones de bases de datos predeterminadas necesitarán hacer que las consultas de lectura esperen a que la escritura termine para mantener los índices y las claves externas. Por lo general, las consultas de escritura son más lentas que las simples.
TD/LR vesion: Utilice archivos planos para el sistema basado en trabajos (Aka, análisis de registros simples), no para consultas de búsqueda web.
2- Archivos planos, caídas de agujeros: Si va con un archivo plano, deberá sincronizar sus secuencias de comandos cuando el archivo cambie utilizando el mecanismo de bloqueo personalizado. Lo cual puede llevar a una ralentización, corrupción hasta bloqueo muerto si tienes un error.
Base de datos basada en Ram 3? La mayoría de las bases de datos tienen memoria caché para resultados de búsqueda, índices de búsqueda, lo que hace que sea muy difícil de superar con un archivo plano. Debido a que almacenan en caché en la memoria, hacer que funcione completamente de memoria es la mayoría de las veces ineficaz y peligroso. Es mejor ajustar correctamente la configuración de la base de datos.
Si buscas optimizar el rendimiento con el uso de ram, primero vería ejecutar tus scripts php, páginas html e imágenes pequeñas desde un disco RAM. Donde es más probable que el mecanismo de caché sea crudo y golpee el disco duro sistemáticamente para no modificar los datos estáticos.
Se puede alcanzar un mejor resultado con un equilibrador de carga, agrupamiento con conexiones de un plano posterior hasta una matriz SAN basada en memoria RAM. Pero ese es un tema completamente diferente.
5- ¿Pueden varias secuencias de comandos conectarse simultáneamente a la misma base de datos?
Sí, se denomina agrupación de conexiones. En php (lado del cliente) es la función para abrir una conexión su mysql-pconnect (http://php.net/manual/en/function.mysql-pconnect.php). Puede configurar la conexión máxima abierta en php.ini, creo. La configuración similar en el lado del servidor mysql define el máximo de conexiones de cliente simultáneas en /etc/mysql/my.cnf.
Debe hacer esto para aprovechar el procesamiento en paralelo de la CPU y evitar que la secuencia de comandos php espere la consulta de cada otro acabado. Aumenta enormemente el rendimiento bajo una carga pesada.
También hay un conjunto de conexiones/grupo de subprocesos en la configuración de Apache para clientes web normales. Ver httpd.conf.
Lo siento por el muro de texto, estaba aburrido. Louis.
Encontré esta pregunta en Google porque soy uno de esos mantenedores que tiene que solucionar problemas en un híbrido php & mysql + flatfile. Es una pesadilla. Si hubo alguna ganancia en el rendimiento al usar archivos planos, se ha consumido más que el costo de tener que arreglar y mantener este sistema de archivos planos kludgy. ¡+1 por pensar en la cordura de los mantenedores! – bejonbee