Προς το περιεχόμενο

Mongodb vc Mysql


Επισκέπτης

Προτεινόμενες αναρτήσεις

Δημοσ.

Θέλω like στη σελίδα μου και ειδοποιησεις για νεο περιεχόμενο σε ένα φόρουμ που φτιάχνω.

Ξέρω καλά MySql αλλά με τόσες εγγραφές θα γεμίσει η MySql .

Το mongodb σώζει τα δεδομένα σε flat arrays. Έτσι δεν γίνετε τεράστια.

 

Είμαι σε δειλημα mongo που δεν την ξέρω η mysql.

Τι είναι σωστότερο;

 

Ευχαριστώ, φιλικά Γιωργος

Δημοσ. (επεξεργασμένο)
Στις 20/8/2020 στις 7:47 ΜΜ, gekatsou είπε

Θέλω like στη σελίδα μου και ειδοποιησεις για νεο περιεχόμενο σε ένα φόρουμ που φτιάχνω.

Ξέρω καλά MySql αλλά με τόσες εγγραφές θα γεμίσει η MySql .

Το mongodb σώζει τα δεδομένα σε flat arrays. Έτσι δεν γίνετε τεράστια.

 

Είμαι σε δειλημα mongo που δεν την ξέρω η mysql.

Τι είναι σωστότερο;

 

Ευχαριστώ, φιλικά Γιωργος

Εγώ πιστεύω ότι μία NoSQL λύση είναι καλύτερη για τη δουλειά που θέλεις. Τώρα αν έχεις σοβαρό server η MySQL για να "γεμίσει" όπως λες πρέπει να φτάσεις αρκετά εκατομμύρια likes.

Άρα το σωστό κατά τη γνώμη μου είναι να ζυγίσεις το κόστος του dev για να χρησιμοποιήσεις NoSQL vs το κόστος του πιο δυνατού hosting.

Στη δουλειά μου εγώ πάντα είμαι υπέρ του να κάνουμε το perfect site/app αλλά οι συνεργάτες μου που ασχολούνται περισσότερο με την οργάνωση του χρόνου και τα οικονομικά πάντα καταλήγουν ότι είναι καλύτερα να επενδύσουν σε καλύτερα/περισσότερα μηχανήματα.

Επεξ/σία από elpenor
Δημοσ.

Προτού κοιτάξεις για mongo ή mysql θεωρώ πως πρώτα πρέπει να δεις και τις υπόλοιπες. Για sql γνωστές είναι η mariadb, postgres, oracle. Για NoSQL ξέρω πως η mongo και η firebase είναι διαδεδομένες και πως η Google έχει φτιάξει κι άλλες για πιο εξιδεικευμένους σκοπούς(π.χ. Data analysis). Με αυτές όμως δεν έχω εμπειρία. Ο λόγος που το λέω αυτό είναι διότι μπορεί  να θες μια NoSql database αλλά η mongo να μην σε βοηθήσει.

Παρόλα αυτά θεωρώ πως με την MySQL ή κάποια sql πάλι θα είσαι εντάξει. Αυτές οι βάσεις μπορούν να κρατούν εκατομμύρια εγγραφές. Εμένα θα με ανησυχούσε ο χρόνος περισσότερο. Αν θα φυλάς εκατομμύρια εγγραφές... αυτό σημαίνει πως θα θες να επεξεργάζεσαι ταυτόχρονα και εκατομμύρια εγγραφές; Γενικά, αν ξέρεις τη λογική των βάσεων (και ειδικά των relational όπως sql) μην σε αγχώνει ο χρόνος εκπαίδευσης/εξικοίωσης και επικεντρώσου στο performance.  

Τώρα, αν δεν είναι πρόβλημα ο χρόνος ή ο χώρος κοίταξε τον σχεδιασμό της βάσης. Εδώ κρίνεται η επιλογή μεταξύ Sql και NoSql. Εάν στο σχεδιασμό του συστήματος σου χρειάζεσαι relationships, τότε θα προτιμήσεις sql. Αν δεις πως δεν χρειάζεσαι, ή σε πολύ λίγες περιπτώσεις έχεις κάποιο relationship (το οποίο μπορεί να είναι κάτι απλό σαν one-to-one or one-to-many όπου δεν χρειάζεσαι pivot table) τότε προτιμάς nosql.

Συνοψίζοντας θα σε συμβούλευα να θέσεις τις προτεραιότητες σου στα πιο κάτω και ακολούθως να επιλέξεις βάσει αυτών:

  • Απόδοση (Χρόνος)
  • Χώρος
  • Σχεδιασμός βάσης
  • Χρόνος υλοποίησης (Development time + learning)
    • Για να μειώσεις αυτό δες τι βιβλιοθήκες υπάρχουν. Για κάθε βάση δεδομένων είμαι σίγουρος πως θα βρεις τουλάχιστον μία βιβλιοθήκη

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

 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...