2011-02-07 2 views
8

Ho appena importare i miei Mysql banca dati (dimensioni 2,8 milioni) nel mio nuovo Mongo banca dati con molto semplice script php costruisco, l'importazione era ok senza errori ma quando guardo il mio Mongo banca dati (con RockMongo) posso vedere questo: Dimensione dei dati 8,01 m, Dimensioni di archiviazione 13,7 m.È la dimensione normale per MongoDB?

MongoDB è più grande di Mysql per la stessa quantità di dati, è normale?

Grazie per il vostro aiuto e mi dispiace per il mio inglese.

+2

8,01/2,8 = 2,86x non 10x –

risposta

13

Sì, è normale che gli "stessi" dati occupino più spazio in mongodb. Ci sono un paio di cose che dovete tenere in considerazione:

1) il _id documento archiviato per ogni documento (a meno che non si specifica il proprio valore per quella) è di 12 byte per doc
2) sei memorizzare il chiave per ogni coppia chiave-valore in ogni documento, mentre in MySql il nome della colonna non viene memorizzato per ogni singola riga in modo da avere anche quel sovraccarico extra nei documenti mongodb. Un modo per ridurre questo è di usare accorciato i nomi dei tasti ("i nomi delle colonne") nei tuoi documenti
3) MongoDB aggiunge automaticamente imbottitura per consentire i documenti di crescere

Nei test simili, il caricamento dei dati da SQL Server a MongoDB, con abbreviato i nomi delle chiavi dei documenti a 2 caratteri invece dei nomi completi come da SQL Server, vedo che circa il 25-30% di spazio in più viene utilizzato in MongoDB.

+0

Oh ok, ho già pensato al "1" (_id) ma non al "2", felice di sentire che tutto va bene, grazie mille :) – Tahola