Domanda

Sto creando e un'app che farà affidamento su un database e ho tutte le intenzioni di utilizzare un file flat db, ci sono delle serie ragioni per starne alla larga?

Sto usando la mimesi ( http://mimesis.110mb.com ) è più semplice dell'uso di mySQL, di cui devo ammettere che ho poca esperienza. Mi sto chiedendo della sicurezza del db. ma i file sono archiviati come php e sembra essere una solida soluzione di database.

Mi piace molto la facilità di backup e trasporto dei database, che ho trovato più difficile con mySQL. Vedo che tutti sembrano preferire il modo mySQL - e probabilmente è più veloce quando si tratta di query, ma a parte questo c'è qualche motivo per stare lontano da dbs flat-file e (finalmente) correttamente imparare mysql?


modifica Solo per far sapere alla gente, Ho finito con mySQL e sto usando il framework CodeIgniter. Mi piace ancora il file flat db, ma ora ho capito che per questo progetto è molto più complesso del necessario.

È stato utile?

Soluzione

La risposta è " Fine " se hai solo bisogno di una struttura di file flat. Un test: un singolo foglio di calcolo semplice gestirà tutte le esigenze? In caso contrario, è necessaria una struttura relazionale, non un file flat.

Se non sei sicuro, forse puoi avviare file flat. SQLite è un'ottima app per iniziare.

Non è bello apprendere che hai fatto la scelta sbagliata, se la capisci troppo nel processo. Ma se capisci l'importanza di una struttura relazionale e, se necessario, ingrandisci presto, allora stai bene.

Altri suggerimenti

Usa SQLite , ottieni un database con molte funzionalità SQL e tuttavia è solo un singolo file.

Saluti, sono il creatore di Mimesis. I database relazionali e SQL sono importanti in situazioni in cui si dispone di enormi quantità di dati che devono essere gestiti. I file flat sono superiori ai database delle relazioni? Bene, potresti chiedere a Google, poiché il loro intero sistema di archiviazione funziona con file flat ed è il motore di ricerca più popolare sulla Terra. La mimesi è paragonabile al loro sistema? Probabilmente no.

La mimesi è stata creata per risolvere un particolare problema di nicchia. Uso i siti Web gratuiti solo per le mie attività online. Molti siti gratuiti offrono la possibilità di utilizzare PHP. Tuttavia, non forniscono accesso gratuito al database SQL. Pertanto, avevo bisogno di creare un database che memorizzasse i dati, implementasse il blocco e aggirasse le autorizzazioni dei file. Questi erano i parametri di progettazione principali di Mimesis, e riesce su tutti quelli.

Se hai bisogno di un'idea della velocità di Mimesis, se vai alla prima pagina ti dirà da quale paese stai visualizzando il sito. Questo database gratuito è preso dal sito ip2nation.com e portato in un ffdb di Mimesis. Ha centinaia se non migliaia di voci.

Inoltre, il hit counter nella pagina principale ha già tracciato oltre 7000 visitatori. Si tratta di visite UNICHE, il che significa che lo script deve cercare nel database per vedere se l'indirizzo IP che sta visitando esiste già ed esegue anche un conteggio degli IP totali.

Se hai notato che la pagina principale si carica abbastanza rapidamente e ha due script di database Mimesis abbastanza intensivi in ??esecuzione sul back-end. Il modo in cui Mimesis memorizza i dati viene fatto per velocizzare le procedure di lettura e scrittura e anche le procedure di traduzione. La maggior parte degli script di esempio ffdb o altri script ffdb disponibili usano un semplice file CVS o altre strutture simili per l'archiviazione dei dati. La mimesi in realtà interpreta i dati binari ad alcuni livelli per aumentarne la funzionalità. La mimesi è in qualche modo un ibrido tra un database di file flat e un database relazionale.

La maggior parte degli altri script ffdb prevede la riscrittura del file COMPLETE ogni volta che viene effettuato un aggiornamento. La mimesi non lo fa, riscrive solo il file strutturale e aggiorna il contenuto della riga effettiva. In modo che, anche se si verifica un errore, perdi solo i nuovi dati aggiunti, non quelli precedenti. Anche la mimesi mantiene la sua storia. A meno che la tabella non venga aggiornata, i dati contenuti in precedenza nelle righe sono ancora contenuti.

Potrei continuare su tutte le funzionalità, ma questo non è inteso come "Mimesis è il più grande database di sempre" sproloquio. Moreso, ha lo scopo di aprire gli occhi alla gente sul fatto che SQL non è l'UNICA tecnologia disponibile e che i file flat, quando forniti i paradigmi di sviluppo corretti sono superiori a un database relazionale, tenendo conto che sono più specializzati.

Lunga vita ai file flat e ai programmatori che sfidano i mal di testa che seguono.

  

Mi piace molto la facilità di backup   e il trasporto dei database, che   Ho trovato più difficile con mySQL.

Usa SQLite come indicato in un'altra risposta. Esiste un solo file per il backup o impostare dump periodici dei database MySQL su file SQL. Questa è una cosa relativamente semplice da fare.

  

Vedo che tutti sembrano preferire   il modo mySQL - e probabilmente lo è   più veloce quando si tratta di query

La velocità è sicuramente una considerazione. I database tendono ad essere molto più veloci, perché i dati sono organizzati meglio.

  

a parte questo, c'è qualche motivo per farlo   stare lontano da dbs e file flat   (finalmente) impari correttamente mysql?

Ci sono sicuramente molti motivi per usare una soluzione di database, ma ci sono argomenti da fare per i file flat. È sempre utile imparare cose diverse da quelle che di solito " uso. La maggior parte delle decisioni dipende dall'applicazione. Quanti utenti simultanei avrai? Hai bisogno di supporto per le transazioni?

Volevo informare che Mimesis è passato dall'URL originale a http://mimesis.site11.com/

Inoltre, sto spostando l'attenzione di Mimesis da un ffdb a un archivio di valori-chiave. È più sensato Dati i tipi di informazioni che sto memorizzando e i metodi che utilizzo per recuperarle. C'era anche un grave errore nella codifica di Mimesis (che da allora ho corretto). Tuttavia, sono ancora nella fase di test del nuovo tipo di archivio di valori-chiave. Sono stato anche seguito da altre cose. Anche il blocco è stato modificato dall'uso della creazione di file alla creazione di directory come meccanismo mutex.

L'interoperabilità. MySQL può essere interfacciato praticamente da qualsiasi linguaggio che conta. È improbabile che la mimesi sia utilizzabile al di fuori di PHP.

Ciò diventa significativo nel momento in cui si tenta di utilizzare i profiler o di modificare i dati dall'esterno.

Puoi anche guardare http://lukeplant.me.uk/resources/flatfile/ per il pacchetto file flat PHP.

Il problema di andare a flatfile è che, al fine di adattare la situazione per un ulteriore sviluppo, è necessario modificare una quantità significativa di codice per migliorare le basi del sistema. Considerando che se si trattasse di un sistema SQL puro, per procedere in futuro richiederebbe poca o nessuna modifica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top