2009-10-02 6 views
8

Estoy a punto de crear un nuevo sitio personal de blog/cartera (que se escribirá en ASP.NET), y voy a ejecutarlo en una base de datos SQLite. Hay algunas razones para esto:¿Puedo/debo ejecutar mi sitio web contra una base de datos SQLite?

  1. El sitio no va a obtener una gran cantidad de tráfico, y por lo que he leído, SQLite es capaz de soportar mucho de usuarios simultáneos para la lectura de todos modos
  2. que puede copia de seguridad de todo el contenido fácilmente, simplemente descargando el db a través de FTP
  3. no tengo que pagar mi empresa de alojamiento cada mes por una enorme base de datos SQL2008 que estoy casi usando

Entonces, ¿debería hacerlo, o es una idea loca?

Respuesta

3

No estoy tan seguro de # 2 (¿qué pasa si SQLite hace cambios en el archivo mientras el programa FTP lo está leyendo?) Pero aparte de eso, no hay ninguna razón para preferir un DB sobre el otro (a menos uno de esos DB no puede hacer lo que necesita).

[EDITAR] Use un online backup para crear el archivo para la descarga de FTP. Eso asegurará que el contenido del archivo esté intacto.

Mejor aún, agregue una página (con contraseña) a su sitio que crea el archivo con solo presionar un botón, para que su navegador pueda descargarlo.

+1

¿Podría reducir las posibilidades de eso copiando primero el archivo en el servidor? –

+0

Veo su punto: ¿qué podría hacer que SQLite realice cambios que no sean actualizaciones de datos (si acaso)? –

+1

@Mark B-¿Tu blog tiene comentarios? De lo contrario, estoy bastante seguro de que SQLite no realiza ningún cambio a menos que inserte/actualice/elimine datos. –

2

Está bien para un sitio de poco tráfico, siempre y cuando se trate principalmente de tráfico de lectura. Si fuera yo, usaría SQL Compact Edition en su lugar (los mismos beneficios que Sqlite: un solo archivo, ningún servidor), solo porque soy un LINQ-head y los proveedores de LINQ están "en la caja" para eso, pero Sqlite tiene una biblioteca LINQ decente y soporte administrado también. Asegúrese de que su empresa de hosting permita el código no administrado, o que use el puerto administrado de Sqlite (aunque desconozco su estabilidad actual).

+0

Una buena sugerencia: ciertamente examinaré SQL Compact Edition, ya que eso simplemente 'encajaría' muy bien. –

1

SQLite puede manejar esto fácilmente - ve por ello.

1

Deberías comprobarlo, pero creo que la versión Express de SQL 2008 es gratuita. De todos modos, he estado trabajando con SQLite desde entorno .NET, y funciona bastante bien (pero no he hecho ninguna prueba de carga). Y si todavía no lo ha decidido, puede usar un proveedor de LINQ que le permitirá cambiar más adelante de una base de datos a otra sin reescribir su código SQL (creo que a DbLinq, por ejemplo). Si planea hacer una copia de seguridad de su base de datos, primero debe asegurarse de que no se use en este momento.

0

Yo diría que no. En primer lugar, no sé a quién está usando para un proveedor, pero con mi proveedor (goDaddy), es bastante barato a $ 2.99 por mes más o menos. Obtengo 1 sql server db y 10 mysql dbs.
No sé cuánto más barato puede obtener esto.

En segundo lugar, ¿por qué arriesgarse? La mayoría de los planes de proveedores incluyen al menos una base de datos MySQL. Puedes conectarte con eso.

+0

Estoy con DiscountASP.NET (a través de múltiples recomendaciones), y estoy totalmente satisfecho con el servicio, por lo que no me moveré. Sin embargo, no son compatibles con MySql, y las bases de datos MS que soportan cuestan entre £ 5 y £ 10 mensuales, con la garantía de que no es mucho efectivo, pero ¿por qué pagarlo si no es necesario? –

+0

Eso es realmente caro. Sí, si solo es un sitio de hobbies con poco volumen, no hay problema en intentarlo. – AngryHacker

1

Una regla de oro es que si el sitio puede ejecutarse en un servidor entonces SQLite es suficiente.Eso es lo que el creador de SQLite, D. Richard Hipp, dijo en aproximadamente 13 minutos 30 segundos en episode 26 del podcast FLOSS Weekly .

Direct audio link (archivo MP3, 24 MB, 51 min 15 seg).

1

SQLite responder a esto para usted:

http://sqlite.org/whentouse.html

volumen de baja-media = bien, alto volumen = no lo uso

en su caso su un-ok utilizar SQLite

-2

¿Está utilizando alguna funcionalidad SQL? SUM, AVG, SORT BY, etc, si es así, usa SQLite. Si no, solo use archivos de texto simple para almacenar sus datos. También asegúrese de que la base de datos esté fuera de la carpeta httpdocs o que no sea accesible desde la web.

+1

texto sin formato? lo que sea que escriba como su funcionalidad de almacenamiento de datos, es probable que sea mucho más lento que sqlite. –

+0

No me refiero a almacenar datos en un archivo txt para su recuperación ... Digamos, por ejemplo, que tiene un contador simple para visitantes, en lugar de usar la base de datos, puede usar un archivo txt llamado visits.txt y almacenar 1 en él . Para cada visita nueva, simplemente incremente 1 en el archivo y guárdelo. Obviamente, esto es mucho más rápido si solo visitas ocasionales. – Pasta

1

En general, sí.

Pero debe tener en cuenta que SQLite no admite todo lo que pueda estar acostumbrado desde un DBMS "real". P.ej. no hay restricciones como claves externas, índices únicos y similares, y AFAIK algunos tipos de datos (más avanzados) no están disponibles.

Debe verificar las diversas limitaciones here y here. Si puede llevarse bien con eso, no hay razón para no usar SQLite.

Cuestiones relacionadas