2012-04-14 15 views
13

Attualmente sto lavorando a un sito Web che deve esistere su una VM con disponibilità di memoria molto bassa (al momento mi viene detto di aspettarsi 512mb). Sfortunatamente, almeno nell'immediato futuro, il database e l'applicazione web devono essere lo stesso server.Database leggero (SQL o NoSQL)

Ora ho letto alcune domande qui e ho cercato di fare le mie ricerche ma ci sono solo tante opzioni tra cui scegliere. Essenzialmente, quale sarà un server di database abbastanza leggero che posso installare? SQL o NoSQL non contano davvero; non sarà un database intensivo, ma non vorrei essere vincolato da ciò che scelgo ora. Significa, se possibile, un percorso verso il ridimensionamento multi-server sarebbe grande ma ovviamente non è un requisito in questa fase.

I miei pensieri correnti sono MongoDB o MySQL ma non sono sicuro che quelle siano le scelte migliori.

La mia applicazione web è in esecuzione su nginx con PHP, che ritengo sia la scelta migliore per ora, quindi la mia preoccupazione principale è il lato database.

+0

PHP e MySQL sono una coppia spesso vista e sembra adatta anche a te. –

+0

Quasi tutti i database decenti funzioneranno bene con quella quantità di memoria (anche se ovviamente sono più veloci quando hanno più memoria con cui lavorare). –

risposta

11

se è necessario il più leggero database, direi sqlite 3. è stato progettato per questa attività, is small and fast, e nella mia esperienza è affidabile e facile da usare.

io non uso php da solo, ma sembra che sia support here.

sqlite supporta praticamente sql "standard", tranne che non impone i tipi: è possibile definire una colonna come testo, ma memorizzare e recuperare un valore intero, se necessario. in pratica, non è un grosso problema e finché non usi questa "funzione" puoi passare a un database più grande in futuro con pochi problemi.

ma, in pratica, vorrei iniziare con mysql poiché è probabile che sia già installato e disponibile. se ti dà problemi con l'uso della memoria, passa a sqlite. ma per un semplice, senza fronzoli di database, si potrebbe anche iniziare con mysql.

3

Quando si sceglie tra un database relazionale o un database orientato ai documenti, è meglio concentrarsi sulle esigenze di archiviazione dei dati dell'applicazione specifica. Se un'applicazione più adatta per un database relazionale è scritta su un database orientato ai documenti come MongoDB, sarà meno efficiente e consumerà più risorse.

3

hai visto OrientDB?

OrientDB offre la flessibilità dei database Documento e la potenza dei database Graph Graph per gestire le relazioni. Può funzionare in modalità senza schema, full-schema o un mix di entrambi. Supporta funzionalità avanzate come le transazioni ACID , indici rapidi, query native e SQL. Importa ed esporta documenti in JSON.

+0

Grazie, lo controllerò! – Kris

+0

OrientDB è leggero? –

+0

@ParrisVarney LOL no. È lontano dal peso leggero. Consiglio vivamente di NON usare OrientDB. –