2009-10-02 18 views
8

Sto per creare un nuovo blog personale/sito del portfolio (che verrà scritto in ASP.NET) e lo eseguirò su un database SQLite. Ci sono alcune ragioni per questo:Posso/devo eseguire il mio sito web su un database SQLite?

  1. Il sito non sarà sempre un sacco di traffico, e da quello che ho letto, SQLite è in grado di supportare un bel sacco di utenti simultanei per la lettura comunque
  2. si effettua il backup di tutti i contenuti facilmente, semplicemente scaricando il db tramite FTP
  3. io non devo pagare il mio hosting di azienda ogni mese per un enorme database SQL2008 che sono difficilmente usando

Quindi, dovrei farlo, o è un'idea folle?

risposta

3

Non sono così sicuro di # 2 (cosa succede se SQLite apporta modifiche al file mentre il programma FTP lo sta leggendo?) Ma a parte questo, non c'è motivo di preferire un DB all'altro (a meno che uno di quei DB non può fare ciò di cui hai bisogno).

[MODIFICA] Utilizzare un online backup per creare il file per il download FTP. Ciò assicurerà che il contenuto del file sia intatto.

Ancora meglio, aggiungi una pagina (con password) al tuo sito che crea il file con la semplice pressione di un pulsante, in modo che il tuo browser possa scaricarlo.

+1

Potresti ridurre le possibilità copiando prima il file sul server? –

+0

Vedo il tuo punto: cosa potrebbe fare in modo che SQLite apporti modifiche diverse dagli aggiornamenti dei dati (se presenti)? –

+1

@ Mark B - Il tuo blog ha commenti? Altrimenti, sono abbastanza certo che SQLite non apporta modifiche a se stesso a meno che non si inserisca/aggiorni/elimini i dati. –

2

Va bene per un sito a basso traffico, purché sia ​​in gran parte il traffico di lettura. Se fossi in me, userei SQL Compact Edition invece (stessi vantaggi di Sqlite- singolo file, nessun server), solo perché sono un capo LINQ ei provider LINQ sono "nella scatola" per questo, ma Sqlite ha una libreria LINQ decente e supporto gestito pure. Assicurati che la tua compagnia di hosting permetta il codice non gestito o che tu usi la porta gestita di Sqlite (non si conosce la sua attuale stabilità).

+0

Buon suggerimento: cercherò sicuramente in SQL Compact Edition come se fosse "interessante". –

1

SQLite è in grado di gestirli facilmente: basta.

1

È necessario verificare, ma penso che la versione Express di SQL 2008 sia gratuita. Comunque, ho lavorato con SQLite da ambiente .NET, e funziona abbastanza bene (ma non ho fatto nessun test di carico). E se non sei ancora deciso, puoi comunque utilizzare un provider LINQ che ti consentirà in un secondo momento di passare da un database all'altro senza riscrivere il codice SQL (penso a DbLinq, ad esempio). Se si intende eseguire il backup del database, è necessario assicurarsi prima di non essere utilizzato al momento.

0

Direi di no. Prima di tutto, non so chi stai usando per un provider, ma con il mio provider (goDaddy), è piuttosto economico a $ 2,99 al mese o giù di lì. Ottengo 1 sql server db e 10 mysql dbs.
Non so quanto questo possa essere più economico.

In secondo luogo, perché rischiare? La maggior parte dei piani di provider include almeno il database MySQL. Puoi collegarti con quello.

+0

Sono con DiscountASP.NET (attraverso più raccomandazioni), e sono totalmente soddisfatto del servizio, quindi non mi muoverò. Tuttavia, non supportano MySql, e i database MS che supportano costano tra £ 5 e £ 10 mensili - concesso non è un sacco di soldi, ma perché pagare se non devo? –

+0

Questo è davvero caro. Sì, se è solo un sito per hobby con un volume basso, non c'è nulla di male nel provare. – AngryHacker

1

Una regola generale è che se il sito può essere eseguito su un server , SQLite è sufficiente.Questo è ciò che il creatore di SQLite, D. Richard Hipp, ha dichiarato a circa 13 min 30 secondi in episode 26 del podcast FLOSS Weekly .

Direct audio link (file MP3, 24 MB, 51 min 15 sec).

1

SQLite rispondere a questo per voi:

http://sqlite.org/whentouse.html

del volume medio-basso = va bene, alto volume = non lo uso

nel tuo caso il suo un-ok per utilizzare SQLite

-2

Si sta utilizzando una funzionalità SQL? SUM, AVG, SORT BY, ecc., Se si, utilizzare SQLite. In caso contrario, basta usare semplici file txt per memorizzare i dati. Assicurarsi inoltre che il database si trovi all'esterno della cartella httpdocs o che non sia accessibile dal Web.

+1

testo normale? qualunque cosa tu scriva come la tua funzionalità di archiviazione dei dati, è probabile che sarà molto più lenta di sqlite. –

+0

Non intendevo archiviare i dati in un file txt per il recupero ... Supponiamo, ad esempio, di avere un contatore semplice per i visitatori, invece di usare il database, basta usare un file txt chiamato visits.txt e memorizzare 1 in esso . Per ogni nuova visita, basta incrementare 1 al file e salvarlo. Ovviamente questo è molto più veloce se si ottengono solo visitatori occasionali. – Pasta

1

In generale, sì.

Ma è necessario essere consapevoli del fatto che SQLite non supporta tutto ciò a cui si potrebbe essere abituati da un DBMS "reale". Per esempio. non ci sono vincoli come chiavi esterne, indici univoci e simili, e AFAIK alcuni (più avanzati) tipi di dati non sono disponibili.

È necessario verificare le varie limitazioni here e here. Se riesci ad andare d'accordo, non c'è motivo di non usare SQLite.

Problemi correlati