MariaDB- πρόγραμμα για εργασία με βάσεις δεδομένων. Είναι μια δωρεάν εφαρμογή που δημιουργήθηκε ως εναλλακτική της άδειας MySQL. Σύμφωνα με την αρχή της δουλειάς του, μοιάζει πολύ με ένα πανομοιότυπο προϊόν της Oracle. Το DBMS υποστηρίζει τυπικές λειτουργίες και μορφές: myisam, blackhole, csv. Υποστηρίζει τα ίδια API, πρωτόκολλα και δομές πελάτη με το MySQL. Όλοι οι σύνδεσμοι (PHP, Perl, Python, Java, .NET, MyODBC, Ruby) αλληλεπιδρούν τέλεια με το σύστημα διαχείρισης της βάσης δεδομένων. Ο χρόνος εκτέλεσης του αιτήματος είναι πολύ μικρότερος από αυτόν του αδειοδοτημένου αντίστοιχου. Οι επαναλήψεις είναι ταχύτερες και ασφαλέστερες. Ενισχυμένη ασύγχρονη I/Oγια πίνακες InnoDB. Υποστηρίζει κοινή χρήση προσωρινής μνήμης για το MyISAM. Αυτό σας επιτρέπει να επιταχύνετε την εργασία με πίνακες MyISAM κατά 4 φορές.



- Σας επιτρέπει να εργάζεστε με διαφορετικές βάσεις δεδομένων.
- Είναι ένα σύστημα διαχείρισης βάσεων δεδομένων για αποθήκευση δεδομένων.
- Υποστηρίζει πολλές εφαρμογές πελατών και API.
- Συνδέεται τέλεια με τους περισσότερους συνδέσμους.
- Σας επιτρέπει να δημιουργήσετε διάφορες βάσεις δεδομένων για την αποθήκευση πληροφοριών.
- Η μηχανή αποθήκευσης Aria επιτρέπει ταχύτερη επεξεργασία σύνθετων ερωτημάτων.
- Υποστηρίζει τη λειτουργία "Σκότωση όλων των αιτημάτων για χρήστη".
- Διαθέτει ένα πλούσιο σύνολο βελτιωμένων λειτουργιών.
- Έχει βελτιωμένη ασύγχρονη I/O για πίνακες MyISAM.
- Υποστηρίζει παράλληλη αναπαραγωγή.
- Διαθέτει πολλές βελτιστοποιημένες παραμέτρους.
- Μια εξαιρετική λύση για προγραμματιστές ιστού που προτιμούν το δωρεάν λογισμικό.
- Υπάρχει υποστήριξη για τη ρωσική γλώσσα.


- Επεξεργαστής με συχνότητα ρολογιού 1200 MHz ή μεγαλύτερη.
- RAM 256 MB ή περισσότερο.
- Ελεύθερος χώροςσε σκληρό δίσκο από 636 MB.
- Αρχιτεκτονική 32-bit ή 64-bit (x86 ή x64).
- Λειτουργικό σύστημα Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10

DBMS: Πίνακες σύγκρισης

Το όνομα του προγράμματος Στα ρώσικα διανομές Εγκαταστάτης Δημοτικότητα Το μέγεθος Δείκτης
★ ★ ★ ★ ★ 286,7 MB 100
★ ★ ★ ★ ★ 0,5 Mb 97

Μετά από ενάμιση χρόνο ανάπτυξης και πέντε προ-κυκλοφορίες, δημιουργήθηκε η πρώτη σταθερή έκδοση του νέου κλάδου του MariaDB 10.2 DBMS, εντός του οποίου αναπτύσσεται ένας κλάδος της MySQL που διατηρεί συμβατό προς τα πίσωκαι χαρακτηρίζεται από την ενσωμάτωση πρόσθετων μηχανών αποθήκευσης και προηγμένων χαρακτηριστικών. Η ανάπτυξη του MariaDB επιβλέπεται από το ανεξάρτητο Ίδρυμα MariaDB, μετά από μια πλήρως ανοιχτή και διαφανή διαδικασία ανάπτυξης, ανεξάρτητη από μεμονωμένους προμηθευτές. Το MariaDB αποστέλλεται στη θέση του MySQL σε πολλές διανομές Linux (RHEL 7, SUSE 12, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian 9) και έχει υιοθετηθεί από μεγάλα έργα όπως η Wikipedia, το Google Cloud SQL και Nimbuzz.

Βασικές βελτιώσεις στο MariaDB 10.2:

  • Προστέθηκε πειραματική υποστήριξη για τη μηχανή αποθήκευσης MyRocks, που αναπτύχθηκε από το Facebook με βάση τη βελτιστοποιημένη για Flash μηχανή αποθήκευσης RocksDB. Ο χώρος αποθήκευσης MyRocks χρησιμοποιεί σελίδες δεδομένων κυμαινόμενου μεγέθους για την αποφυγή της ευθυγράμμισης σε ένα σταθερό όριο μπλοκ και ένα μοντέλο αποθήκευσης δεδομένων Log Structured Merge Trees που επιτρέπει μόνο την αναπλήρωση (ο καθαρισμός γίνεται από τον συλλέκτη σκουπιδιών). Κατά τη διαδικασία εκτέλεσης ερωτήματος, ο αριθμός των διαδοχικών λειτουργιών ανάγνωσης/εγγραφής μειώθηκε αρκετές φορές, γεγονός που οδήγησε σε αύξηση της απόδοσης σε σύγκριση με το InnoDB κατά 20-30% σε SDD και έως και 6 φορές σε σκληρό δίσκο υπό φορτίο με μεγάλο αριθμό τυχαίες πράξεις εγγραφής. Επιπλέον, το MyRocks σάς επιτρέπει να μειώσετε το μέγεθος της βάσης δεδομένων κατά 50% σε σύγκριση με τη συμπιεσμένη αποθήκευση InnoDB και 3,5 φορές σε σύγκριση με το InnoDB χωρίς συμπίεση. Μεταξύ των ελλείψεων του MyRocks, μπορεί κανείς να σημειώσει την έλλειψη υποστήριξης για ξένα κλειδιά και ευρετήρια πλήρους κειμένου.
  • Προστέθηκε υποστήριξη για λειτουργίες παραθύρου που ορίζονται από λέξη-κλειδί OVER και σας επιτρέπει να εκτελέσετε έναν υπολογισμό στο σύνολο των σειρών που σχετίζονται με την τρέχουσα σειρά. Όπως οι συγκεντρωτικές συναρτήσεις, οι συναρτήσεις παραθύρου σάς επιτρέπουν να ανατρέχετε σε άλλες σειρές κατά την επεξεργασία του αποτελέσματος ενός ερωτήματος, αλλά σε αντίθεση με τις συναρτήσεις συγκεντρωτικών στοιχείων, δεν ομαδοποιούν το αποτέλεσμα σε μία μόνο σειρά.
  • Υποστήριξη κοινών εκφράσεων πίνακα (έκφραση "WITH") και αναδρομικών κοινών εκφράσεων πίνακα ("WITH RECURSIVE"). Ο όρος WITH μπορεί να χρησιμοποιηθεί για να ορίσει τα υποερωτήματα ως τοπικούς προσωρινούς πίνακες που μπορούν να αναφέρονται πολλές φορές σε ένα ερώτημα. Το "WITH RECURSIVE" σάς επιτρέπει να έχετε πρόσβαση στο δικό σας αποτέλεσμα, για παράδειγμα, μπορείτε να οργανώσετε μια διέλευση δέντρου κατά τη διαδικασία εκτέλεσης ενός ερωτήματος.
  • Προστέθηκε η δήλωση "ΠΕΡΙΟΡΙΣΜΟΣ... ΕΛΕΓΧΟΣ" στο μπλοκ "ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ" για να ορίσετε περιορισμούς στηλών.
  • Εφάρμοσε τη δυνατότητα καθορισμού εκφράσεων στο μπλοκ DEFAULT, για παράδειγμα "b int DEFAULT (a+1)". Έχει παρασχεθεί υποστήριξη για τον καθορισμό των DEFAULT τιμών για τα πεδία BLOB και TEXT.
  • Ο χώρος αποθήκευσης InnoDB έχει ενημερωθεί για να κυκλοφορήσει από την MySQL 5.7.18 και είναι ενεργοποιημένος από προεπιλογή (προηγουμένως, η προεπιλογή ήταν ένα fork από το InnoDB - XtraDB, το νόημα του οποίου χάθηκε μετά την εφαρμογή των περισσότερων από τις κύριες δυνατότητες του XtraDB από το InnoDB). Το InnoDB πρόσθεσε υποστήριξη για χωρικούς δείκτες (χωρικό ευρετήριο).
  • Προστέθηκε η δήλωση "ΕΜΦΑΝΙΣΗ ΔΗΜΙΟΥΡΓΙΑΣ ΧΡΗΣΤΗ" που δείχνει την πλήρη δήλωση "ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ" που χρησιμοποιήθηκε για τη δημιουργία του καθορισμένου χρήστη.
  • Για την έκφραση "ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ", έχουν εφαρμοστεί επιλογές για τον περιορισμό της κατανάλωσης πόρων και τη διαμόρφωση tls/ssl. Για παράδειγμα, μπορείτε τώρα να περιορίσετε τον μέγιστο αριθμό αιτημάτων ή συνδέσεων ανά ώρα.
  • Μια νέα δήλωση "ALTER USER" εισήχθη για να επιτρέπεται η πραγματοποίηση αλλαγών λογαριασμόςέναν υπάρχοντα χρήστη·
  • Καταργήθηκαν πολλοί περιορισμοί στις εικονικές υπολογισμένες στήλες.
  • Προστέθηκε υποστήριξη για τη δήλωση "ΕΚΤΕΛΕΣΤΕ ΑΜΕΣΑ" για την εκτέλεση δυναμικής δήλωσης SQL που δημιουργήθηκε εν κινήσει.
  • Προστέθηκε η δυνατότητα χρήσης των περισσότερων εκφράσεων στη δήλωση PREPARE.
  • Προστέθηκαν λειτουργίες για εργασία με δεδομένα σε μορφή JSON.
  • Προστέθηκε μια προσθήκη ελέγχου ταυτότητας που χρησιμοποιεί τον αλγόριθμο ed25519 για την αποθήκευση κωδικών πρόσβασης.
  • Ένα πρόσθετο για την αποκρυπτογράφηση κλειδιών που χρησιμοποιούνται στην Υπηρεσία Διαχείρισης Κλειδιών (KMS) του Amazon Web Services (AWS) έχει προστεθεί σε εκδόσεις για Windows, CentOS, RHEL και Fedora για τη μετέπειτα χρήση τους για την κρυπτογράφηση δεδομένων στη βάση δεδομένων.
  • Τώρα μπορείτε να συνδέσετε πολλούς διαφορετικούς κανόνες ετικέτας σε ένα συμβάν.
  • Προστέθηκε υποστήριξη για καθυστερημένη αναπαραγωγή, στην οποία η κατάσταση του slave διακομιστή υστερεί σε σχέση με τον κύριο διακομιστή για μια καθορισμένη χρονική περίοδο.
  • Η υλοποίηση της έκφρασης ANALYZE TABLE έχει επανασχεδιαστεί, η οποία πλέον δεν κλειδώνει τον πίνακα κατά τη συλλογή στατιστικών στοιχείων.
  • Η βιβλιοθήκη wsrep που χρησιμοποιείται για την οργάνωση της σύγχρονης πολλαπλής κύριας (ενεργής-ενεργής) αναπαραγωγής Galera έχει ενημερωθεί στην έκδοση 25.3.20.
  • Παρέχεται συσκευασία για το Ubuntu 17.04.
  • Προστέθηκε η επιλογή "--add-drop-trigger" στο mysqldump, αναπαράγοντας τη λειτουργικότητα MySQL 5.6 για να προσθέσετε μια έκφραση σε μια ένδειξη SQL για να απορρίψετε μια ετικέτα πριν τη δημιουργία της.
  • Προστέθηκε η δέσμη ενεργειών mysqlbinlog για την οργάνωση ενός συνεχούς αντιγράφου ασφαλείας του δυαδικού αρχείου καταγραφής.
  • Προστέθηκε υποστήριξη για OpenSSL 1.1 και LibreSSL.
  • Προστέθηκαν οι μεταβλητές innodb_deadlock_detect και innodb_stats_include_delete_marked για να απενεργοποιηθεί το σύστημα ανίχνευσης αδιεξόδου και να ληφθούν υπόψη οι εγγραφές που έχουν επισημανθεί ως διαγραμμένες κατά τον υπολογισμό των στατιστικών.
  • Προστέθηκε μεταβλητή read_binlog_speed_limit, η οποία ορίζει το όριο ταχύτητας με το οποίο ο slave διακομιστής διαβάζει το δυαδικό αρχείο καταγραφής του κύριου διακομιστή.
  • Η παλιά βιβλιοθήκη πελατών με άδεια GPL καταργήθηκε και αντικαταστάθηκε από μια νέα με άδεια LGPL.

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

Σχεσιακό σύστημα

Προτού εφευρεθούν τέτοιες λύσεις, δεν υπήρχε περίπτωση να δημιουργηθούν τεράστια προϊόντα. Ακόμη και εκείνα τα μηχανήματα που είχαν μια καλή ποσότητα φυσικής και μνήμη τυχαίας προσπέλασης, δεν ήταν δυνατή η επεξεργασία μεγάλα δεδομένα, εάν είχε αποθηκευτεί με σχετικά χαοτικό τρόπο - με τη μορφή αρχείων. Στις αρχές της δεκαετίας του ογδόντα, κυκλοφόρησε το πρώτο RDBMS, οι προγραμματιστές του οποίου ήταν η IBM.

Με την πρώτη ματιά, η δημιουργία μιας βάσης δεδομένων φαίνεται σαν μια πολύ ασήμαντη εργασία. Εξωτερικά, όλα φαίνονται απλά, σαν ένας μεγάλος πίνακας στον οποίο τοποθετούνται διαφορετικοί τύποι πληροφοριών στις στήλες τους. Στην πραγματικότητα, αυτής της εφεύρεσης προηγήθηκε μια σειρά από μαθηματικές συζητήσεις και προσπάθειες ανάπτυξης. Το όλο θέμα δεν ήταν να φτιάξουμε μια απλή βάση δεδομένων, αλλά μια βάση στην οποία οι μεταβλητές θα εξαρτώνται η μία από την άλλη. Η πιο ακριβής περιγραφή της μελλοντικής βάσης δεδομένων δόθηκε από τον Δρ Codd, ο οποίος σχημάτισε τους 12 κανόνες της σχεσιακής βάσης δεδομένων. Παρεμπιπτόντως, υπάρχουν 13 από αυτούς. Εξακολουθούν να χρησιμοποιούνται σήμερα για την ανάπτυξη μιας σχεσιακής βάσης δεδομένων.

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

JavaScript. Γρήγορη εκκίνηση

Όπως είπαμε, το DBMS είναι ένας πίνακας και το σύστημα δεν μπορεί να έχει διαφορετική δομή. Αλλά τα δεδομένα στον πίνακα μπορεί να είναι πολύ διαφορετικού τύπου. Ορισμένα DBMS δεν υποστηρίζουν τόσο πολλούς τύπους, μερικά ακόμη εισάγουν νέους, για Τεχνολογίες πληροφορικής. Αυτά είναι booleans, και συμβολοσειρές, και δεδομένα κινητής υποδιαστολής και πολλά άλλα. Και όλα αυτά τα δεδομένα διασυνδέονται σύμφωνα με το σχεσιακό μοντέλο.

Ωστόσο, για να εγγραφούν δεδομένα σε μια συμβολοσειρά, πρέπει να της δοθεί ένας τύπος δεδομένων. Κάνετε μια πολύ παρόμοια διαδικασία με κελιά στο Excel και παρόμοια προγράμματα. Υπάρχουν, φυσικά, εξαιρέσεις σε αυτούς τους κανόνες, αλλά αυτό είναι ένα θέμα για ένα ολόκληρο βιβλίο, όχι η σύγκριση των βάσεων δεδομένων μας.

Όταν πρόκειται για ιστότοπους και εφαρμογές, τα κελιά περιέχουν δεδομένα σχετικά με τους χρήστες του πόρου, το ίδιο το περιεχόμενο, τα προϊόντα και οτιδήποτε άλλο. Ο σκοπός της βάσης δεδομένων εδώ είναι να παρέχει αμέσως αυτές τις πληροφορίες κατόπιν αιτήματος του χρήστη: ένα σενάριο διακομιστή, σε αντάλλαγμα για ένα σενάριο πελάτη.

Πλεονεκτήματα και μειονεκτήματα του DBMS

Συμφωνώ, εάν το DBMS είχε περισσότερα μειονεκτήματα παρά πλεονεκτήματα, κανείς δεν θα τα χρησιμοποιούσε τόσο ενεργά. Αν κάνουμε μια σύγκριση σύστημα αρχείωνκαι ο ιστότοπος που χτίστηκε σε αυτό, θα δείτε πόσο πιο ομαλά και αποτελεσματικά λειτουργεί το σύστημα διαχείρισης βάσεων δεδομένων. Γι' αυτό θα ξεκινήσουμε με εκείνα τα σημεία που όλα τα συστήματα, ανεξαιρέτως, θα πρέπει να δουλέψουν, ας είναι το MariaDB ή το MySQL.

Μεταξύ των συχνά συζητούμενων ελλείψεων σύγχρονα συστήματαδιαχείρηση βάσης δεδομένων:

δεν είναι εύκολο να κυριαρχήσει. Για να εργαστείτε με το Photoshop, πρέπει να εξοικειωθείτε με τα βασικά εργαλεία αυτού του λογισμικού και να μάθετε πώς να τα χρησιμοποιείτε. Δεν είναι απαραίτητο να κατανοήσουμε πώς λειτουργεί το ίδιο το πρόγραμμα. Αυτό δεν μπορεί να ειπωθεί για το DBMS. Η κατανόηση του τρόπου λειτουργίας της MySQL σημαίνει κατανόηση των βάσεων δεδομένων. Εάν προσπαθείτε να ακολουθήσετε ένα μοτίβο, τότε πιθανότατα η ανάπτυξη θα αποτύχει. Δεν είναι γνωστό τι είναι καλύτερο: να μην κατανοούμε κατ' αρχήν το ΣΔΒΔ ή να το κατανοούμε λανθασμένα.

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

το βάρος. Τα αρχεία από μόνα τους για μια εξαιρετικά λειτουργική εφαρμογή θα ζυγίζουν πολύ. Και αν τα τυλίξετε σε μια βάση δεδομένων, ο όγκος θα αυξηθεί σημαντικά, γιατί πλέον τα αρχεία έχουν κάποιες λειτουργίες, βρίσκονται σε λογική σύνδεση και καλούνται με σενάρια. Όλα αυτά κοστίζουν όχι μόνο χρήματα, αλλά και μνήμη στον διακομιστή. Αυτό είναι ιδιαίτερα αισθητό εάν ο διακομιστής είναι Προσωπικός υπολογιστήςπρογραμματιστής.

κεντρική τοποθέτηση. Μόνο σε τα τελευταία χρόνια, οι προγραμματιστές άρχισαν να χρησιμοποιούν ένα κατανεμημένο μητρώο για την αποθήκευση αρχείων. Όταν τα αρχεία βρίσκονται στην ίδια βάση δεδομένων, είναι ευάλωτα.

Ευτυχώς, οι περισσότερες από αυτές τις ελλείψεις καλύπτονται από τα πλεονεκτήματα του DBMS. Αν ρωτήσετε τους προγραμματιστές Ιστού τι είναι καλύτερο: αρχεία ή DBMS, η απάντηση θα είναι προφανής. Το σύστημα ανοίγει πολλές δυνατότητες που δεν είναι διαθέσιμες για κανένα σύστημα αρχείων.

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

Είναι σημαντικό το DBMS να αποφεύγει διπλές αλήθειες. Το σύστημα επιλέγει ανεξάρτητα στοιχεία που παρέχουν πληροφορίες του ίδιου είδους και διασφαλίζει ότι δεν έρχονται σε αντίθεση μεταξύ τους. Αποδεικνύεται ότι με τον ίδιο όγκο, το προϊόν λαμβάνει πολύ μεγαλύτερο όγκο πληροφοριών.

Τα συστήματα διαχείρισης βάσεων δεδομένων διαδραματίζουν σημαντικό ρόλο στην κοινή ανάπτυξη. Είναι αρκετά δύσκολο να παρέχετε ομαδική πρόσβαση σε ένα δέντρο αρχείων, τηρώντας όλες τις προφυλάξεις. Ωστόσο, μπορείτε να παρέχετε εξουσιοδοτημένη πρόσβαση στο DBMS σε έναν περιορισμένο κύκλο ατόμων, χωρίς απώλεια στο σύστημα ασφαλείας.

JavaScript. Γρήγορη εκκίνηση

Μάθετε τα βασικά της JavaScript με ένα πρακτικό παράδειγμα κατασκευής μιας διαδικτυακής εφαρμογής

Παρεμπιπτόντως, σχετικά με την ασφαλή αποθήκευση. Σήμερα είναι δύσκολο να υλοποιηθεί καλύτερα η αποθήκευση δεδομένων από ό,τι με ένα σύγχρονο DBMS. Η εφαρμογή του DBA σάς επιτρέπει να καθορίσετε τα απαραίτητα μέτρα ασφαλείας: τι θα μπορούσε να είναι καλύτερο; Επιπλέον, καθημερινά κυκλοφορούν νέα εργαλεία προστασίας βάσεων δεδομένων. Η πρόσβαση γίνεται συνήθως μέσω μιας μορφής ξεσκόνισμα, αλλά με αρκετή επιδεξιότητα, μπορείτε να εφαρμόσετε τα πάντα, από ανθρωπομετρία έως έλεγχο ταυτότητας δύο παραγόντων. Αυτό ισχύει ιδιαίτερα για το DBMS ανοιχτού κώδικα, το οποίο είναι το MariaDB (περισσότερα για αυτό αργότερα).

Είναι δύσκολο να φανταστεί κανείς κάτι καλύτερο από την άποψη της δημιουργίας αντιγράφων ασφαλείας από τα συστήματα διαχείρισης βάσεων δεδομένων. Εάν αποθηκεύσετε την εφαρμογή σε αρχεία, τότε η ασφάλεια των δεδομένων βρίσκεται στα χέρια σας. Αναγκάζεστε να φροντίσετε έγκαιρα να δημιουργήσετε αντίγραφα ασφαλείας και τα απαραίτητα αντίγραφα. Το DBMS μπορεί να το κάνει αυτό σε καθορισμένα διαστήματα και να μεταφέρει πληροφορίες σε εξωτερικά μέσα ή στο cloud.

MySQL: Αξίζει την επιτυχία

Σίγουρα, αυτό είναι το πιο δημοφιλές από όλα τα υπάρχοντα DBMS. Όχι μόνο διαδικτυακές εφαρμογές και πολύπλοκες λογισμικό: η καταγραφή του υλικού στη βιβλιοθήκη της πόλης σας πιθανότατα υλοποιείται μέσω MySQL ή MSSQL. Η λειτουργικότητα αυτού του συστήματος αναγκάζει τους ανταγωνιστές να βρουν όλο και περισσότερες νέες λύσεις. Αλλά οι ίδιοι οι προγραμματιστές δεν είναι πολύ πίσω: τελευταία έκδοσηΤο λογισμικό μόλις κυκλοφόρησε. Δεν έχουν διακόψει την περιοδικότητά τους για περισσότερα από είκοσι χρόνια.

Προηγουμένως, αυτή η ανάπτυξη ανήκε στην Sun Microsystems, η οποία μας έδωσε Java και πολλά άλλα εργαλεία ανάπτυξης. Το 2010, όλα τα προϊόντα, μαζί με τη MySQL, μεταφέρθηκαν στην Oracle. Διατηρεί το DBMS μέχρι σήμερα.

vΤο σύστημα αναπτύχθηκε αρχικά από την ομώνυμη εταιρεία το 1995. Οι δημιουργοί χρησιμοποίησαν τις πιο γρήγορες γλώσσες προγραμματισμού: C, C++ και HTML. Έτσι, οι προγραμματιστές έχουν στη διάθεσή τους ένα σταθερό και γρήγορο DBMS με συνεχή υποστήριξη. Σήμερα, η MySQL είναι μέρος των λεγόμενων «τζέντλεμανς σουιτών», που αποτελούνται από έναν διακομιστή, μια βάση δεδομένων και μια γλώσσα προγραμματισμού δέσμης ενεργειών.

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

Η εγκατάσταση της MySQL είναι εξαιρετικά εύκολη. Χάρη στην παρουσία ενός GUI - GUIχρήστη, αυτό μετατρέπεται σε κανονική εγκατάστασηΕΠΙ. Το ίδιο ισχύει και για την εγκατάσταση προσθηκών στο DBMS.

Είναι αδύνατο να μην αναφέρουμε ότι η MySQL είναι ένα από τα πιο cross-platform DBMS. Μπορεί κανείς να νιώσει το χέρι της Sun, για το οποίο η κυκλοφορία λογισμικού «τουλάχιστον σε αριθμομηχανή» ήταν προτεραιότητα. Τι να πούμε για την επεκτασιμότητα: σχεδόν όλοι οι μεγαλύτεροι πόροι με τους οποίους εργάζεστε στο δίκτυο είναι χτισμένοι πάνω από τη MySQL. Αν και υπάρχουν περισσότερα επαγγελματικές επιλογές, για παράδειγμα, PostgreSQL, την οποία δεν έχουμε ξεχάσει.

Η «Μαρία» ως η καλύτερη στο DBMS

Όπως όλα τα έργα ανοιχτού κώδικα, η MySQL είχε ένα επιτυχημένο fork, το οποίο ονομαζόταν MariaDB. Τόσο το μητρικό DBMS όσο και το παρακλάδι του φέρουν τα ονόματα των κορών του δημιουργού: Mu και Maria. Αυτό το σύστημα χρησιμοποιείται για να ονομάζεται εναλλακτική της MySQL, αλλά αυτή είναι μια θεμελιωδώς λανθασμένη δήλωση. Αν και η συζήτηση για το ποιο είναι καλύτερο, η Μαρία ή το My είναι ακόμα σε εξέλιξη.

Ο στόχος των προγραμματιστών της Μαρίας ήταν να δημιουργήσουν ένα προϊόν που να είναι πλήρως συμβατό με τη MySQL, αλλά πολύ βελτιωμένο. Για παράδειγμα, η μηχανή αποθήκευσης δεδομένων της MySQL ήταν η MyISAM. Στη Μαρία, αυτό είναι το Aria, το οποίο έδωσε στο DBMS μεγαλύτερη απόδοση σε σύγκριση με το κύριο έργο. Και, παρόλο που το MariaDB βασίζεται στη MySQL, οι τελευταίες εκδόσεις δεν περιέχουν περισσότερο από το 25% του αρχικού κώδικα.

Η Μαρία έχει καλύτερη συνολική απόδοση. Αυτό ισχύει ιδιαίτερα για τη μετατροπή χαρακτήρων. Σε μεγάλους όγκους πληροφοριών, ο συντελεστής φτάνει πάνω από 2%. Ο κώδικας εντοπισμού σφαλμάτων είναι επίσης βελτιστοποιημένος σε σύγκριση με τη MySQL. Σε γενικές γραμμές, οι προγραμματιστές σημειώνουν μέγιστη ταχύτηταανάπτυξη από αυτή που θα μπορούσε να δώσει ο «γονέας». Η κοινότητα πίσω από το MariaDB υπόσχεται ακόμη περισσότερες βελτιώσεις.

Επιπλέον, ο ίδιος ο χρήστης μπορεί να βελτιώσει και να βελτιστοποιήσει τη δουλειά της Μαρίας. Αυτό που διακρίνει αυτό το DBMS από όλα τα άλλα είναι ένα πλήρες open-source: χωρίς κλειστά στοιχεία ή λειτουργικές μονάδες, όλα είναι διαθέσιμα. Μπορείτε να παίξετε με τον κώδικα επ' αόριστον, καθώς και να κάνετε προτάσεις για αλλαγές στην κοινότητα που αναπτύσσει το MariaDB.

Κερδίστε αξίωση από την Postgres

Το PostgreSQL είναι ένα άλλο σύστημα διαχείρισης βάσεων δεδομένων, όχι μόνο σχεσιακό, αλλά αντικειμενο-σχεσιακό. Αυτό σημαίνει ότι ο ίδιος ο χρήστης μπορεί να δημιουργήσει αντικείμενα για λειτουργίες, τα οποία μπορεί να περιλαμβάνουν διάφορα δεδομένα. Είναι εντελώς δωρεάν και το πιο ευέλικτο. Ορισμένοι προγραμματιστές αποκαλούν την PostgreSQL την πιο επαγγελματική λύση στην αγορά. Αυτό το DBMS προήλθε από ένα μη κερδοσκοπικό πανεπιστημιακό έργο που δημιουργήθηκε στο Berkeley που ονομάζεται Postgres. Αυτό το σύστημα έχει αναπτυχθεί εδώ και οκτώ χρόνια και υποστηρίζεται μέχρι σήμερα.

Όπως συμβαίνει με τέτοια προϊόντα, αποδείχθηκε "από προγραμματιστές για προγραμματιστές" - απίστευτα λειτουργικό, αλλά πολύ δύσκολο να κυριαρχήσει για τον μέσο προγραμματιστή. Αρχικά, το DBMS είχε ακόμη και τη δική του γλώσσα ερωτημάτων, αλλά αργότερα αυτή η ιδέα εγκαταλείφθηκε, αφήνοντας μια τετριμμένη «συνέχεια». Παρά τον ενθουσιασμό των ανεξάρτητων προγραμματιστών, η PostgreSQL δεν είναι τόσο καλή όσο θέλουν να την αποκαλούν. Μέχρι τώρα, οι προβληματικές περιοχές βρίσκονται στον πηγαίο κώδικα.

Όσον αφορά την επεκτασιμότητα, η PostgreSQL δεν είναι κατώτερη σε σύγκριση με τις MySQL και MariaDB. Με βάση αυτό το λογισμικό δημιουργούνται τεράστια έργα επεξεργασίας μεγάλων δεδομένων, καθώς οι προγραμματιστές εμπιστεύονται τη σταθερότητά του. Πολλές επιλογές διεπαφής καθιστούν το προϊόν διαθέσιμο για εξατομίκευση.

Αλλά η PostgreSQL απέχει ακόμα πολύ από το να είναι μαζικό προϊόν. Το γεγονός είναι ότι αυτό το σύστημα είναι πολύ περίπλοκο για έναν απλό προγραμματιστή. Ακόμα κι αν παραλάβετε την τεκμηρίωση, δεν θα λάβετε απαντήσεις σε όλες τις ερωτήσεις, συμπεριλαμβανομένων των πιο λογικών. Επίσης, η ταχύτητα εκτέλεσης ερωτήματος στο PostgreSQL προκαλεί σύγχυση.

Αυτό το DBMS είναι εξαιρετικό για εταιρικές λύσεις. Για παράδειγμα, μια βάση δεδομένων για μια εταιρεία πληροφορικής, όπου ο καθένας από τους προγραμματιστές μπορεί να φροντίσει για την υποστήριξή της. Επιπλέον, η PostgreSQL είναι εντελώς δωρεάν.

Αυτό είναι το μόνο που έχουμε. Θυμηθείτε ότι σε τόσο περίπλοκες αποφάσεις όπως ένα ΣΔΒΔ, είναι δύσκολο να ονομάσετε έναν ηγέτη. Όσον αφορά τη χρήση, αυτή είναι η MySQL, από την άποψη της επεκτασιμότητας, η MariaDB και η PostgreSQL. Μόλις πάρουμε ένα προϊόν που θα γίνει πανάκεια για όλες τις περιπτώσεις, σίγουρα θα σας το πούμε.

JavaScript. Γρήγορη εκκίνηση

Μάθετε τα βασικά της JavaScript με ένα πρακτικό παράδειγμα κατασκευής μιας διαδικτυακής εφαρμογής

Και τώρα υπάρχει η επιλογή ενός DBMS για την αποθήκευση βασικών δεδομένων. Ξεκίνησα την ανάπτυξη στη MySQL, αλλά τώρα δεν είμαι σίγουρος ποια να επιλέξω. Η μετάβαση σε άλλο ΣΔΒΔ σε αυτό το στάδιο δεν θα είναι πρόβλημα για μένα (χρησιμοποιώ ΠΟΠ). μακριά από μια σαφή κατανόηση του τι είναι τα «υψηλά φορτία» για ένα DBMS. Απλώς, σύμφωνα με τους υπολογισμούς μου, σε περίπου ένα χρόνο, η βάση θα είναι πολύ βαριά (δείτε παρακάτω)

Η κύρια επιλογή είναι μεταξύ MySQL, PostgreSQL, MariaDB. Επίσης είναι δυνατό, αλλά δεν συνιστάται Microsoft SQLΔιακομιστής σε Windows Azure

Η κατάσταση είναι η εξής:

  1. Δεν υπάρχουν σύνθετα ερωτήματα στη βάση δεδομένων. Μέγιστο JOIN δύο τραπεζιών
  2. σι σχετικά μεΤα περισσότερα από τα αιτήματα διαβάζονται
  3. Υπάρχει ένα πιο σημαντικό και "κύριο" τραπέζι (η δομή του πίνακα είναι κάτω από το σπόιλερ). Ο πίνακας θα αυξάνεται κατά περίπου 10-30 χιλιάδες εγγραφές την ημέρα. Η εγγραφή δεδομένων σε αυτόν τον πίνακα είναι το πιο σημαντικό πράγμα!
  4. σι σχετικά μεΤα περισσότερα από τα αιτήματα ανάγνωσης θα βρίσκονται στον πίνακα "κύριο". Αυτός ο πίνακας θα αναζητηθεί από οποιοδήποτε από τα πεδία (σε εξαιρετικά σπάνιες περιπτώσεις ~0,5% - από πολλά πεδία ταυτόχρονα). Η αναζήτηση πρέπει να πραγματοποιηθεί γρήγορα (παρά το σημείο #3)
  5. Τα ευρετήρια πιθανότατα θα προστεθούν στον "κύριο" πίνακα για καθένα από τα πεδία για δύο πεδία ταυτόχρονα (αναγνωριστικό κατόχου και όνομα πεδίου, καθώς το ID ιδιοκτήτη θα καθορίζεται σε όλα τα ερωτήματα). Θα χρειαστεί μια γρήγορη αναζήτηση για οποιοδήποτε από τα πεδία, αλλά αυτό δεν είναι μια εργασία προτεραιότητας. (Ή μήπως είναι καλύτερο να χρησιμοποιήσετε τη Σφίγγα;)
  6. Η μερίδα του λέοντος των αιτημάτων (~ 80%) για ανάγνωση στον "κύριο" πίνακα είναι απλά επιλέξτε "s σε ευρετήρια από και personalID με όριο = 20. Τα υπόλοιπα αιτήματα σε οποιαδήποτε άλλα πεδία σε ευρετήρια (που δεν είναι ακόμη) ID ιδιοκτήτη και Όνομα πεδίου, επίσης με όριο = 20
  7. Αλλαγές δεδομένων στις εγγραφές του "κύριου" πίνακα θα συμβούν εξαιρετικά σπάνια. Καμία εγγραφή δεν θα διαγραφεί από τον πίνακα.
  8. Η υποστήριξη για συναλλαγές και ξένα κλειδιά είναι προαιρετική
  9. Απαιτεί τη δυνατότητα αναπαραγωγής δεδομένων master-slave
  10. Η δυνατότητα διαμοιρασμού σε επίπεδο DBMS είναι ευπρόσδεκτη
  11. Η αξιοπιστία της βάσης δεδομένων είναι εξαιρετικά σημαντική (δηλαδή ένα τέτοιο σφάλμα όπως το MyISAM με χειροκίνητη ανάκτησηεξαφανιστεί αμέσως)
  12. Μπορούν να προστεθούν νέα πεδία στον "κύριο" πίνακα. Αυτό είναι, φυσικά, ένα εξαιρετικά σπάνιο περιστατικό και απέχει πολύ από την πιο σημαντική απαίτηση, αλλά η προσθήκη μιας νέας στήλης σε έναν πίνακα με μέγεθος δέκα GB για MySQL είναι μια πολύ μεγάλη διαδικασία και πραγματικά δεν θέλω να μετακινήσω νέα πεδία σε ξεχωριστό πίνακα
  13. Όλα αυτά στην αρχή θα περιστρέφονται σε έναν τέτοιο αποκλειστικό διακομιστή
  14. Άλλα τραπέζια θα μεγαλώνουν αργά και η πρόσβαση σε αυτά θα είναι αρκετά σπάνια, δεν ανησυχώ για αυτά. Τα δεδομένα που ενημερώνονται συχνά περιστρέφονται σε redis "e
Η δομή του πίνακα "κύριος".ΔΗΜΙΟΥΡΓΗΣΤΕ ΠΙΝΑΚΑ ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ `πελάτες` (`id` bigint(11) NOT NULL AUTO_INCREMENT, `personalID` int(11) NOT NULL, `ownerID` int(11) NOT NULL, `fromID` int(11) NOT NULLDEFA "4", `fromDomain` varchar(255) NOT NULL, `datetime` datetime NOT NULL, `status` int(11) NOT NULL DEFAULT "0", `paid` tinyint(1) NOT NULL DEFAULT "0", ` PayType` tinyint(4) NOT NULL DEFAULT "1", `wmSum` float NOT NULL DEFAULT "0", `wmCommission` float NOT NULL DEFAULT "20", `sysNumber` varchar(14) NOT NULL, `sysNumberLast`NumberLast NULL ΠΡΟΕΠΙΛΟΓΗ CURRENT_TIMESTAMP, `sysNumberStatus` varchar(250) NOT NULL, `timezone` float NOT NULL, `comment` varchar(500) NOT NULL, `countryID` int(11) NOT NULL, "postIndex NULL" , `region` varchar(500) NOT NULL, `city` varchar(500) NOT NULL, `address` varchar(500) NOT NULL, `fio` varchar(500) NOT NULL, `phone` varchar(15) NOT NULL , `email` varchar(255) NOT NULL, `price` float NOT NULL, `quantity` int(11) NOT NULL DEFAULT "1", `label` v archar(30) NOT NULL, `tag` int(11) NOT NULL, `ip` varchar(15) NOT NULL, `referer` varchar(200) NOT NULL, PRIMARY KEY (`id`), KEY `from` ( `ownerID`,`fromID`), KEY `paid` (`πληρωμένο`), KEY `status` (`status`), KEY `label` (`label`), KEY `sysNumberLastUpdate` (`sysNumberLastUpdate`), KEY `personalID` (`ownerID`,`personalID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ΥΣΤΕΡΟΓΡΑΦΟ. Όσοι θέλουν να με στείλουν στο google παρακαλώ μην απαντήσουν καν. Βρείτε πληροφορίες με σύγκριση τρέχουσες εκδόσειςΔεν πέτυχα σε διαφορετικά DBMS και η μελέτη των δυνατοτήτων, των πλεονεκτημάτων και των μειονεκτημάτων του PostgreSQL, του Microsoft SQL Server και του MariaDB για ένα άτομο που δεν έχει εργαστεί μαζί τους είναι μια πολύ μεγάλη εργασία. Ναι, και στη MySQL δεν είμαι ειδικός και ένα τόσο μεγάλο έργο είναι νέο για μένα και οι δυνατότητες της MySQL διαφέρουν από έκδοση σε έκδοση. Το μόνο που ξέρω σίγουρα είναι ότι οι πίνακες τύπου MyISAM στη MySQL σίγουρα δεν θα λειτουργήσουν για μένα.

  • Ερώτηση που έγινε πριν από 3 χρόνια
  • 39797 προβολές

Η αρχική έκδοση της MySQL αναπτύχθηκε από τη φινλανδο-σουηδική εταιρεία MySQL AB, που ιδρύθηκε από τους Jvid Achmark, Allan Larsson και Michael Monty. Η πρώτη έκδοση της MySQL εμφανίστηκε το 1995. Αρχικά, προοριζόταν για προσωπική χρήση, αλλά μετά από μερικά χρόνια μετατράπηκε σε μια βάση δεδομένων σε επίπεδο επιχείρησης.

Τον Ιανουάριο του 2008, η Sun Microsystems εξαγόρασε την MySQL AB για 1 δισεκατομμύριο δολάρια. Λίγο αργότερα, η Oracle αγόρασε τη Sun Microsystems με την άδεια της Ευρωπαϊκής Επιτροπής, η οποία αρχικά φοβόταν ότι μια τέτοια απόφαση θα έβλαπτε το δωρεάν έργο MySQL, καθώς ήταν άμεσος ανταγωνιστής της βάσης δεδομένων της Oracle. Λόγω δυσπιστίας για τη στρατηγική ανάπτυξης της MySQL, δημιουργήθηκε ένα fork που ονομάζεται MariaDB.

Τα χρόνια πέρασαν και κατά τη διάρκεια αυτής της περιόδου το MariaDB άρχισε να χρησιμοποιείται σε πολλές διανομές Linux από προεπιλογή. Χρησιμοποιείται για τη διασφάλιση της λειτουργίας των περισσότερων δικτυακών τόπων. Σε αυτό το άρθρο, θα προσπαθήσουμε να συγκρίνουμε τη MySQL με τη MariaDB και να μάθουμε γιατί η δεύτερη είναι καλύτερη από την πρώτη και πότε χρειάζεται η αρχική MySQL.

Σε αντίθεση με πολλά άλλα έργα ανοιχτού κώδικα που ελήφθησαν από τη Sun Microsystems, η Oracle εξακολουθεί να αναπτύσσει τη MySQL. Μετά την παραίτηση πολλών προγραμματιστών, προσλήφθηκαν νέα άτομα. Όμως η ανάπτυξη νέων εκδόσεων της MySQL έχει κλείσει. Πηγήείναι διαθέσιμο μόνο στην ομάδα ανάπτυξης και μεταφορτώνεται στο δημόσιο αποθετήριο μόνο μετά την ολοκλήρωση της εργασίας. Όλες οι αποφάσεις συζητούνται εντός της εταιρείας

Το MariaDB αναπτύσσεται εντελώς ανοιχτά, όλες οι αποφάσεις και οι νέες ιδέες σχετικά με την ανάπτυξη μπορούν να συζητηθούν ελεύθερα στο ενημερωτικό δελτίο ηλεκτρονικού ταχυδρομείου, καθώς και στο σύστημα αναφοράς σφαλμάτων. Είναι πολύ εύκολο να συνεισφέρετε στην ανάπτυξη του MariaDB, γίνονται δεκτές ενημερώσεις κώδικα από χρήστες καθώς και από προγραμματιστές. Γενικά, η MariaDB αναπτύσσεται πιο ενεργά.

Λόγω της επωνυμίας, η MySQL έχει ακόμα μια μεγάλη κοινότητα, αλλά όλο και περισσότερα έργα μετακινούνται στο MariaDB. Γνωστές εταιρικές διανομές όπως οι REHL 7 και SLES 12 χρησιμοποιούν ήδη το MariaDB, πράγμα που σημαίνει ότι στη μάχη της MySQL ή της MariaDB, η τελευταία θα κερδίσει.

2. Συχνότητα απελευθερώσεων

Η πολιτική της Oracle είναι να κυκλοφορεί ενημερώσεις ασφαλείας για όλα τα προϊόντα της κάθε τρεις μήνες. Αλλά η διέξοδος νέα έκδοσηΗ MySQL προγραμματίζεται κάθε δύο μήνες. Αυτό συχνά έχει ως αποτέλεσμα να μην συγχρονίζονται οι ενημερώσεις προϊόντων και οι ενημερώσεις ασφαλείας.

Οι προγραμματιστές δεν έχουν χρόνο να κλείσουν όλα τα μηνύματα λάθους και τα τρωτά σημεία, με αποτέλεσμα η βάση δεδομένων να παραμείνει ευάλωτη για αρκετούς μήνες. Ένα άλλο πρόβλημα με τη MySQL είναι ότι οι ενημερώσεις ασφαλείας είναι πολύ ασαφείς. Εάν ο διαχειριστής δεν μπορεί απλώς να ενημερώσει το πρόγραμμα σε μια νέα έκδοση, τότε η δημιουργία ενός backport είναι δύσκολη.

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

4. Χαρακτηριστικά και λειτουργικότητα

Γενικά, το MariaDB αναπτύσσεται πιο γρήγορα και έχει περισσότερες δυνατότητες. Αυτά τα χαρακτηριστικά σχετίζονται με τη βελτιστοποίηση, τη βελτιωμένη διαχείριση μνήμης και πολλά άλλα. Συνήθως, με την πάροδο του χρόνου, αυτές οι δυνατότητες μεταφέρονται στη MySQL. Για παράδειγμα, η ίδια υποστήριξη GIS εμφανίστηκε στο MariaDB πριν από τη MySQL. Μεταξύ άλλων, το MariaDB έχει πολλές βελτιώσεις απόδοσης στο Inodb, το MyISAM και τη μηχανή επεξεργασίας ερωτημάτων, υποστηρίζει GIS, εξάλειψη πινάκων, εικονικές και δυναμικές στήλες, αναπαραγωγή πολλαπλών προέλευσης, ρόλους και πολλά άλλα.

Αλλά το MariaDB έχει τα μειονεκτήματά του, δεν υποστηρίζει ορισμένες από τις δυνατότητες που έχει η MySQL. Συγκεκριμένα, το MariaDB δεν είναι συμβατό με τη σύνταξη MySQL JSON, τα πρόσθετα ngram, MeCab, MySQL X δεν υποστηρίζονται, καθώς και τραπεζικοί χώροι που σας επιτρέπουν να εκχωρείτε δεδομένα σε πολλούς πίνακες ταυτόχρονα. Αλλά οι προγραμματιστές εργάζονται ενεργά για τη διόρθωση των ελλείψεων.

Για όσους ενδιαφέρονται για τα συμπλέγματα MySQL, θα είναι ενδιαφέρον να χρησιμοποιεί το MariaDB νέο σύστημα replication Galera, η λειτουργία του είναι διαφορετική από το τυπικό master-salve. Το Galera βρίσκεται υπό ανάπτυξη από το 2007 αλλά δεν έχει συμπεριληφθεί ποτέ επίσημη έκδοση MySQL.

5. Υποστήριξη για μηχανές αποθήκευσης

Το σύστημα διαχείρισης βάσεων δεδομένων MariaDB υποστηρίζει πολλούς περισσότερους κινητήρες για την αποθήκευση δεδομένων. Οι περισσότερες από αυτές τις μηχανές είναι διαθέσιμες ως πρόσθετα για MySQL, αλλά στο MariaDB περιλαμβάνονται στην επίσημη κυκλοφορία. Αυτό σημαίνει ότι οι κινητήρες είναι σωστά ενσωματωμένοι και θα λειτουργούν καλά. Ακολουθεί μια λίστα με τους υποστηριζόμενους κινητήρες:

  • Αρία;
  • Το XtraDB είναι μια βελτιωμένη έκδοση του InnoDB.
  • Το FederatedX είναι μια βελτιωμένη έκδοση του Federated.
  • OQGRAPH;
  • SphinxSE;
  • IBMDB2I;
  • TokuDB;
  • Κασσάνδρα;
  • ΣΥΝΔΕΩ-ΣΥΩΔΕΟΜΑΙ;
  • ΑΛΛΗΛΟΥΧΙΑ;
  • Αράχνη;
  • ColumnStore;
  • MySIAM.

Επιτρέψτε μου να σας υπενθυμίσω ότι η αρχική MySQL υποστηρίζει μόνο τρεις τύπους πινάκων από προεπιλογή - Aria, MySIAM και InnoDB. Αυτή είναι μια σημαντική πτυχή στην επιλογή MySQL ή MariaDB.

6. Ονομασία και αρίθμηση των εκδόσεων

Αυτές οι διαφορές μεταξύ MariaDB και MySQL δεν είναι τόσο σημαντικές, αλλά ίσως ενδιαφέρουν κάποιον. Το όνομα MySQL δόθηκε προς τιμήν της πρώτης κόρης ενός από τους προγραμματιστές - Michael Monty, το όνομά της είναι My. Η ανάπτυξη του MariaDB συνεχίστηκε από το ίδιο άτομο και αυτή τη φορά το πρόγραμμα πήρε το όνομα της μικρότερης κόρης του, Μαρίας.

Όσον αφορά τις εκδόσεις, αρχικά, πριν από την έκδοση 5.6, οι εκδόσεις MariaDB αριθμήθηκαν συγχρονισμένα με τις εκδόσεις MySQL στις οποίες βασίζονταν. Αλλά όταν συσσωρεύτηκαν αρκετές αλλαγές και ο κώδικας MariaDB άρχισε να λαμβάνεται ως βάση, ήταν συνηθισμένο να αλλάζετε τους αριθμούς έκδοσης σε 10. Από εκείνη τη στιγμή, η αρίθμηση MariaDB γίνεται με τον μόνο τρόπο.

συμπεράσματα

Σε αυτό το άρθρο, κάναμε μια σύγκριση MySQL με MariaDB. Από τις περισσότερες απόψεις, το MariaDB είναι πολύ καλύτερο από το MySQL, γι' αυτό και οι περισσότερες διανομές Linux το χρησιμοποιούν πλέον από προεπιλογή στα αποθετήρια τους. Η αρχική έκδοση μπορεί να χρειαστεί μόνο σε πολύ σπάνιες περιπτώσεις.