Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> PHP /MySQL Προγραμματισμός

Μπορούν τα αρχεία LOB στη βάση δεδομένων MySQL;

Η MySQL υποστηρίζει την αποθήκευση μεγάλων αντικειμένων (LOB) χρησιμοποιώντας τους τύπους δεδομένων "Blob` και" Text ". Ωστόσο, υπάρχει μια κρίσιμη διάκριση που πρέπει να γίνει:ενώ το MySQL * μπορεί να χειριστεί μεγάλα ποσά δεδομένων μέσα σε αυτούς τους τύπους, δεν τα χειρίζεται απαραίτητα * βέλτιστα * σαν μια ειδική βάση δεδομένων σχεδιασμένη για εξαιρετικά μεγάλα αρχεία.

Εδώ είναι μια κατανομή:

* `blob`: Κατάλληλο για δυαδικά δεδομένα (εικόνες, ήχος κ.λπ.). Υπάρχουν διαφορετικά μεγέθη «blob» (tinyblob, blob, mediumblob, longblob), το καθένα με μέγιστο μέγεθος. Το "Longblob" έχει τη μεγαλύτερη χωρητικότητα.

* `text`: Κατάλληλο για δεδομένα κειμένου. Παρόμοια με το `blob`, έχει διαφορετικά μεγέθη (TinyText, Text, MedientText, LongText), με το` longtext` να έχει τη μεγαλύτερη χωρητικότητα.

Περιορισμοί και εκτιμήσεις:

* απόδοση: Η αποθήκευση πολύ μεγάλων αρχείων απευθείας στη βάση δεδομένων μπορεί να επηρεάσει την απόδοση, ειδικά για ερωτήματα που αφορούν αυτά τα αρχεία. Όσο μεγαλύτερο είναι το αρχείο, τόσο πιο αργό είναι το ερώτημα. Το MySQL δεν είναι βελτιστοποιημένο για τη διαχείριση και την εξυπηρέτηση εξαιρετικά μεγάλων αρχείων με τον τρόπο που είναι ένα σύστημα αρχείων.

* Αποθήκευση: Η αποθήκευση μεγάλων αρχείων απευθείας στη βάση δεδομένων χρησιμοποιεί χώρο βάσης δεδομένων. Αυτό μπορεί να αυξήσει το κόστος αποθήκευσης και ενδεχομένως να επηρεάσει την απόδοση της βάσης δεδομένων εάν ο χώρος καθίσταται περιορισμένος.

* Δημιουργία αντιγράφων ασφαλείας και επαναφοράς: Η δημιουργία αντιγράφων ασφαλείας και η αποκατάσταση μιας βάσης δεδομένων με μεγάλους λοβούς μπορεί να διαρκέσει πολύ περισσότερο από τη δημιουργία αντιγράφων ασφαλείας μιας βάσης δεδομένων χωρίς αυτούς.

* εναλλακτικές λύσεις: Για πολύ μεγάλα αρχεία (gigabytes ή μεγαλύτερα), αποθηκεύοντας τα στο σύστημα αρχείων και αναφέροντας τα στη βάση δεδομένων MySQL χρησιμοποιώντας μια διαδρομή αρχείου είναι γενικά μια καλύτερη προσέγγιση. Αυτή η προσέγγιση διατηρεί καλύτερη απόδοση, ευκολότερη διαχείριση και αποτελεσματικότερα αντίγραφα ασφαλείας. Θα αποθηκεύσετε μια διαδρομή αρχείου (ή url) σε μια στήλη `varchar` ή` text 'στον πίνακα MySQL.

Εν ολίγοις: Το MySQL * μπορεί * να χειριστεί LOB, αλλά για εξαιρετικά μεγάλα αρχεία, η αποθήκευση του αρχείου εξωτερικά και η σύνδεση με αυτό από τη βάση δεδομένων είναι συνήθως μια ανώτερη στρατηγική από την άποψη της απόδοσης και της διαχείρισης. Το "μέγεθος" που αποτελεί "εξαιρετικά μεγάλο" εξαρτάται από τους συγκεκριμένους πόρους εφαρμογής και υλικού σας.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα