Este articulo tambien se podria titular cuando usar SQLite y Cuando usar MySQL ya que a continuación hago un esquema de las peculiaridades y caracteristicas de SQLite y MySQL, para que de este modo tengais claro cual de ellas elegir según la envergadura de vuestro proyecto.
SQLite:
- Puede funcionar perfectamente para sitios de tráfico bajo-medio, lo cual se traduce en el 99,9% de los sitios web actuales.
- Es mono-usuario, lo que significa que no permite concurrencia de conexiones, aunque hay disparidad de opiniones sobre esta cuestión en internet la realidad es que si un usuario está modificando datos y otro lo intenta al mismo tiempo, este ultimo no podrá hacerlo hasta que el anterior termine, pudiendo suceder que se pierda la modificacion de uno de ambos si coincidieran en el tiempo de lectura del fichero.
- No es una base de datos, sino un fichero con datos debidamente organizados (parecido a la estructura del Access de Microsoft). Para hacer una copia o migrar la aplicación basta con mover el fichero de sitio y listo.
- No tiene tipos de datos, osea que puedes meter una cadena de texto en un campo que estás utilizando como numérico. Esto me lleva a pensar en la cantidad de problemas que pueden ocurrir.
- No hay gestión de usuarios. La seguridad se basa en el sistema de permisos de ficheros establecido por el sistema Operativo.
MySQL:
- Funciona con sitios de gran envergadura. Hay que tener en cuenta que es utilizada en proyectos como la Wikipedia, phpBB, WordPress, Drupal, Joomla, Owncloud, etc, etc.
- Es un gestor de base de datos, y cada tabla, vistas, objetos están en un fichero diferente.
- Permite múltiples (cientos de miles) consultas y modificaciones de forma simultanea.
- Tiene varios tipos de datos para según qué tipo de información necesitemos manejar.
- Ofrece la posibilidad de gestionar usuarios con diferentes niveles de acceso.
Pues bien, con lo dicho creo que ya se puede elegir que opcion de SQL usar según la envergadura de tu proyecto. Espero que os sirva.