JSON vs MongoDB
-
- Δημοσιεύσεις: 27573
- Εγγραφή: 30 Μαρ 2018, 18:54
JSON vs MongoDB
Ποιος ο λογος να ταλαιπωριεσαι με MongoDB αντι να χρησιμοποιησεις ενα απλο JSON file και να κανεις data cleaning / relationships με pandas/numpy?
- SpAcE_PaNtHeR
- Δημοσιεύσεις: 1596
- Εγγραφή: 18 Μάιος 2018, 21:12
Re: JSON vs MongoDB
Edit: ακυρο λαθος
Τελευταία επεξεργασία από το μέλος SpAcE_PaNtHeR την 26 Απρ 2022, 18:11, έχει επεξεργασθεί 1 φορά συνολικά.
https://www.techgame.gr/ <---ΕΝΑ ΑΠ ΤΑ ΚΑΛΥΤΕΡΑ GAMING NEWS SITES!!!(ΤΟ ΟΠΟΙΟ ΔΗΜΙΟΥΡΓΗΣΑ Ο ΙΔΙΟΣ)
Re: JSON vs MongoDB
Η MongoDB όσο ελεεινή και να είναι, παραμένει βάση δεδομένων.
Μπορείς ας πούμε να δημιουργήσεις ένα Index πάνω στο πεδίο timestamp και αν τη ρωτήσεις να σου φέρει παπαριές που είναι μεταξύ 12:15 και 12:16 να στις βρει αμέσως. Αντίθετα το JSON file πρέπει να το σκανάρεις ολόκληρο για να βρεις αυτό που θες.
Ή μπορείς να της πεις "άλλαξέ μου την εγγραφή που έχει id τάδε, κάνε το πεδίο approved = true". Δεν είναι καθόλου το ίδιο πρακτικό να κάνεις το ίδιο στο JSON.
Επίσης ξέρει πώς να κάνει "οικονομία" στις ανάγκες της. Αν έχεις 1ΤΒ δεδομένα, τη Mongo δεν την πειράζει να δουλέψει με αυτά. Θα χρησιμοποιεί το φουλ της μνήμης σου βέβαια αλλά πολύ λιγότερα από 1ΤΒ, φροντίζοντας κάθε στιγμή να έχει το "καυτό" υποσύνολο των δεδομένων online. Ένα JSON file ή θα πρέπει να το σκανάρεις συνέχεια σα μαλάκας (α, πάω πίσω και ξαναξεκινάω από την αρχή να βρω αυτό το άλλο πράγμα που ήθελα) ή θα πρέπει να το φορτώσεις όλο σαν δέντρο στη μνήμη, αυτό θα κάνει το Pandas btw.
Ουσιαστικά είναι θέμα τι θες να κάνεις. Αν τα δεδομένα σου είναι λίγα σκοπεύεις να τα περάσεις μια κι έξω για να τρέξεις κάποια στατιστική ανάλυση, προφανώς δε συμφέρει να μπλέξεις με MongoDB. Αν είναι πολλά και σκοπεύεις να τα προσπελάσεις πολλές φορές ή να τα διευθυνσιοδοτήσεις, εντάξει δε θα σου πω βάλε mongo γιατί τη μισώ, αλλά σίγουρα θα πρέπει να κάνεις κάτι λίγο πιο ψαγμένο από ένα JSON file.
Βάση δεδομένων = λυμένα ένα σωρό προβλήματα (για την αποθήκευση και πρόσβαση στα δεδομένα), συχνά με αποτελέσματα δεκαετιών έρευνας και εμπειρίας που αλλιώς θα πρέπει να τα λύσεις εσύ και ΔΕΝ ξέρεις να το κάνεις τόσο καλά. Το τίμημα είναι βέβαια η πολυπλοκότητα, ότι έχεις ένα λογισμικό να διαχειριστείς και να ρυθμίσεις.
Μπορείς ας πούμε να δημιουργήσεις ένα Index πάνω στο πεδίο timestamp και αν τη ρωτήσεις να σου φέρει παπαριές που είναι μεταξύ 12:15 και 12:16 να στις βρει αμέσως. Αντίθετα το JSON file πρέπει να το σκανάρεις ολόκληρο για να βρεις αυτό που θες.
Ή μπορείς να της πεις "άλλαξέ μου την εγγραφή που έχει id τάδε, κάνε το πεδίο approved = true". Δεν είναι καθόλου το ίδιο πρακτικό να κάνεις το ίδιο στο JSON.
Επίσης ξέρει πώς να κάνει "οικονομία" στις ανάγκες της. Αν έχεις 1ΤΒ δεδομένα, τη Mongo δεν την πειράζει να δουλέψει με αυτά. Θα χρησιμοποιεί το φουλ της μνήμης σου βέβαια αλλά πολύ λιγότερα από 1ΤΒ, φροντίζοντας κάθε στιγμή να έχει το "καυτό" υποσύνολο των δεδομένων online. Ένα JSON file ή θα πρέπει να το σκανάρεις συνέχεια σα μαλάκας (α, πάω πίσω και ξαναξεκινάω από την αρχή να βρω αυτό το άλλο πράγμα που ήθελα) ή θα πρέπει να το φορτώσεις όλο σαν δέντρο στη μνήμη, αυτό θα κάνει το Pandas btw.
Ουσιαστικά είναι θέμα τι θες να κάνεις. Αν τα δεδομένα σου είναι λίγα σκοπεύεις να τα περάσεις μια κι έξω για να τρέξεις κάποια στατιστική ανάλυση, προφανώς δε συμφέρει να μπλέξεις με MongoDB. Αν είναι πολλά και σκοπεύεις να τα προσπελάσεις πολλές φορές ή να τα διευθυνσιοδοτήσεις, εντάξει δε θα σου πω βάλε mongo γιατί τη μισώ, αλλά σίγουρα θα πρέπει να κάνεις κάτι λίγο πιο ψαγμένο από ένα JSON file.
Βάση δεδομένων = λυμένα ένα σωρό προβλήματα (για την αποθήκευση και πρόσβαση στα δεδομένα), συχνά με αποτελέσματα δεκαετιών έρευνας και εμπειρίας που αλλιώς θα πρέπει να τα λύσεις εσύ και ΔΕΝ ξέρεις να το κάνεις τόσο καλά. Το τίμημα είναι βέβαια η πολυπλοκότητα, ότι έχεις ένα λογισμικό να διαχειριστείς και να ρυθμίσεις.
-
- Δημοσιεύσεις: 27573
- Εγγραφή: 30 Μαρ 2018, 18:54
Re: JSON vs MongoDB
εκει ειναι το ζουμι.foscilis έγραψε: ↑26 Απρ 2022, 17:58Η MongoDB όσο ελεεινή και να είναι, παραμένει βάση δεδομένων.
Μπορείς ας πούμε να δημιουργήσεις ένα Index πάνω στο πεδίο timestamp και αν τη ρωτήσεις να σου φέρει παπαριές που είναι μεταξύ 12:15 και 12:16 να στις βρει αμέσως. Αντίθετα το JSON file πρέπει να το σκανάρεις ολόκληρο για να βρεις αυτό που θες.
Ή μπορείς να της πεις "άλλαξέ μου την εγγραφή που έχει id τάδε, κάνε το πεδίο approved = true". Δεν είναι καθόλου το ίδιο πρακτικό να κάνεις το ίδιο στο JSON.
Επίσης ξέρει πώς να κάνει "οικονομία" στις ανάγκες της. Αν έχεις 1ΤΒ δεδομένα, τη Mongo δεν την πειράζει να δουλέψει με αυτά. Θα χρησιμοποιεί το φουλ της μνήμης σου βέβαια αλλά πολύ λιγότερα από 1ΤΒ, φροντίζοντας κάθε στιγμή να έχει το "καυτό" υποσύνολο των δεδομένων online. Ένα JSON file ή θα πρέπει να το σκανάρεις συνέχεια σα μαλάκας (α, πάω πίσω και ξαναξεκινάω από την αρχή να βρω αυτό το άλλο πράγμα που ήθελα) ή θα πρέπει να το φορτώσεις όλο σαν δέντρο στη μνήμη, αυτό θα κάνει το Pandas btw.
Ουσιαστικά είναι θέμα τι θες να κάνεις. Αν τα δεδομένα σου είναι λίγα σκοπεύεις να τα περάσεις μια κι έξω για να τρέξεις κάποια στατιστική ανάλυση, προφανώς δε συμφέρει να μπλέξεις με MongoDB. Αν είναι πολλά και σκοπεύεις να τα προσπελάσεις πολλές φορές ή να τα διευθυνσιοδοτήσεις, εντάξει δε θα σου πω βάλε mongo γιατί τη μισώ, αλλά σίγουρα θα πρέπει να κάνεις κάτι λίγο πιο ψαγμένο από ένα JSON file.
Βάση δεδομένων = λυμένα ένα σωρό προβλήματα (για την αποθήκευση και πρόσβαση στα δεδομένα), συχνά με αποτελέσματα δεκαετιών έρευνας και εμπειρίας που αλλιώς θα πρέπει να τα λύσεις εσύ και ΔΕΝ ξέρεις να το κάνεις τόσο καλά. Το τίμημα είναι βέβαια η πολυπλοκότητα, ότι έχεις ένα λογισμικό να διαχειριστείς και να ρυθμίσεις.
Το pandas θα τα κανει ολα, και τα timestamps και τα groupby και τα lamda functions και ολα. Αν δεν ειναι multirelational οι αναζητησεις , ποσο αξια εχει το MongoDB ( δεν μας αφηνουν SQL) ;
Δεν θα το γλυτωσω τελικα , διοτι δεν ειναι αιτιολογια το "παπαρες ειμαι νιουφις τί με ζαλιζετε με tkinter και MongoDB, ενα απλο Data Munging και αναζητηση κανουμε, εχω δουλεια γυναικα και παιδια χεστε με", αλλα αν δεν προκαμω θελω να εχω μια critical thinking δικαιολογια καπου ετοιμη
μερσι
-
- Δημοσιεύσεις: 26915
- Εγγραφή: 25 Ιαν 2019, 00:26
Re: JSON vs MongoDB
γιατί με την mongo τα query τρέχουν πολύ πιο γρήγορα λόγω indexing, μπορείς να επεξεργαστείς μεγαλύτερο όγκο δεδομένων γιατί τα pandas δουλεύουν με την μνήμη, τα δεδομέναν πιάνουν πιο λίγο χώρο στο δίσκο λόγω bson και όχι json. Γενικώς mongodb ή κάθε άλλη βάση χρησιμοποιείς όταν τα δεδομένα σου είναι τόσα πολλά που είτε οι χρόνοι επεξεργασίας με το pandas δεν είναι καλοί είτε όταν τα δεδομένα σου δεν χωράνε στην μνήμη
- Awesomatic
- Δημοσιεύσεις: 6537
- Εγγραφή: 16 Μάιος 2018, 00:11
- Phorum.gr user: Awesomatic
Re: JSON vs MongoDB
Συμπληρωματικά είναι αυτά, δεν είναι mutually exclusivetalaipwros έγραψε: ↑26 Απρ 2022, 17:50Ποιος ο λογος να ταλαιπωριεσαι με MongoDB αντι να χρησιμοποιησεις ενα απλο JSON file και να κανεις data cleaning / relationships με pandas/numpy?
"Taxation is theft, purely and simply even though it is theft on a grand and colossal scale which no acknowledged criminals could hope to match. It is a compulsory seizure of the property of the State’s inhabitants, or subjects."
Re: JSON vs MongoDB
το Pandas δεν είναι αποτελεσματικός τρόπος να φορτώνεις πολλά δεδομένα. Το Pandas απλά αναλύει δεδομένα. Έχει readers ώστε να διαβάζει δεδομένα από διάφορες πηγές (και από αρχεία και από βάσεις) αλλά δεν είναι αυτή η δουλειά του, ούτε είναι όλοι οι readers το ίδιο καλοί. Και σίγουρα δε συγκρίνεται με την ευελιξία που σου δίνει μια καλή βάση δεδομένων.
Αν έχεις ένα CSV με 1.000.000 γραμμές και το περάσεις σε μια βάση, μπορείς να πεις "φέρε μου μια γραμμή, φέρε μου μια άλλη γραμμή, πήγαινε στη γραμμή 98" κλπ.
Αν φορτώσεις το ίδιο CSV σε Pandas, πρέπει να χωρέσουν 1.000.000 γραμμές στη μνήμη. Αυτό μπορεί να γίνεται μπορεί και όχι, αναλόγως τι έχει η γραμμή. Σίγουρα είναι πολύ πιο ευέλικτα τα πράγματα αν συνδέσεις το pandas με τη MongoDB (υπόψη δεν ξέρω αν γίνεται) και τραβάει ό,τι δεδομένα θέλει on demand.
Η ουσία είναι ότι πρόκειται για διαφορετικά πράγματα:
JSON: μορφή αρχείου που περιγράφει τον εαυτό της, καλό ας πούμε σαν ενδιάμεσο φορμά ώστε να μεταφέρεις δεδομένα μεταξύ διαφορετικών εργαλείων, αλλά με μεγάλο κόστος αποθήκευσης και επανανάγνωσης. Είναι μαλακία να το χρησιμοποιήσεις σαν random access αποθηκευτικό χώρο για πολλά δεδομένα.
pandas: βιβλιοθήκη ανάλυσης δεδομένων. Βασικά θα το χρησιμοποιήσεις για την κατεξοχήν στατιστική ανάλυση και ΟΧΙ για το τετριμμένο κομμάτι, ας πούμε μέσο όρο ή μοναδικές τιμές μιας στήλης μπορούν να σου υπολογίσουν τα πάντα, είναι μαλακία να μπλέξεις με pandas.
Mongo: βάση δεδομένων, αποθηκεύει δεδομένα με δομημένο τρόπο και επιτρέπει πολύ γρήγορη και αποτελεσματική ενημέρωση/διάσχιση/περίληψη κλπ. Είναι μαλακία να τη χρησιμοποιήσεις αν έχεις λίγα δεδομένα, όπως δε θα χρησιμοποιούσες Word Processor για να σημειώσεις 2 πράγματα που θες για ψώνια.
Αν έχεις ένα CSV με 1.000.000 γραμμές και το περάσεις σε μια βάση, μπορείς να πεις "φέρε μου μια γραμμή, φέρε μου μια άλλη γραμμή, πήγαινε στη γραμμή 98" κλπ.
Αν φορτώσεις το ίδιο CSV σε Pandas, πρέπει να χωρέσουν 1.000.000 γραμμές στη μνήμη. Αυτό μπορεί να γίνεται μπορεί και όχι, αναλόγως τι έχει η γραμμή. Σίγουρα είναι πολύ πιο ευέλικτα τα πράγματα αν συνδέσεις το pandas με τη MongoDB (υπόψη δεν ξέρω αν γίνεται) και τραβάει ό,τι δεδομένα θέλει on demand.
Η ουσία είναι ότι πρόκειται για διαφορετικά πράγματα:
JSON: μορφή αρχείου που περιγράφει τον εαυτό της, καλό ας πούμε σαν ενδιάμεσο φορμά ώστε να μεταφέρεις δεδομένα μεταξύ διαφορετικών εργαλείων, αλλά με μεγάλο κόστος αποθήκευσης και επανανάγνωσης. Είναι μαλακία να το χρησιμοποιήσεις σαν random access αποθηκευτικό χώρο για πολλά δεδομένα.
pandas: βιβλιοθήκη ανάλυσης δεδομένων. Βασικά θα το χρησιμοποιήσεις για την κατεξοχήν στατιστική ανάλυση και ΟΧΙ για το τετριμμένο κομμάτι, ας πούμε μέσο όρο ή μοναδικές τιμές μιας στήλης μπορούν να σου υπολογίσουν τα πάντα, είναι μαλακία να μπλέξεις με pandas.
Mongo: βάση δεδομένων, αποθηκεύει δεδομένα με δομημένο τρόπο και επιτρέπει πολύ γρήγορη και αποτελεσματική ενημέρωση/διάσχιση/περίληψη κλπ. Είναι μαλακία να τη χρησιμοποιήσεις αν έχεις λίγα δεδομένα, όπως δε θα χρησιμοποιούσες Word Processor για να σημειώσεις 2 πράγματα που θες για ψώνια.
-
- Δημοσιεύσεις: 27573
- Εγγραφή: 30 Μαρ 2018, 18:54
Re: JSON vs MongoDB
ναι, δεν ειναι.Awesomatic έγραψε: ↑26 Απρ 2022, 19:20Συμπληρωματικά είναι αυτά, δεν είναι mutually exclusivetalaipwros έγραψε: ↑26 Απρ 2022, 17:50Ποιος ο λογος να ταλαιπωριεσαι με MongoDB αντι να χρησιμοποιησεις ενα απλο JSON file και να κανεις data cleaning / relationships με pandas/numpy?
χοντρικα η ασκηση ειναι μας δινουν ενα CSV file, καντο κατι αλλο ( XML ή JSON ) και μετα κανε ενα app σε GUI( tkinder), και απο εκει , κανε αλλαγες και αποθηκευε - οπως νομιζεις αλλα οχι με SQL - μαζευε καποια στοιχεια, βγαλε στατιστικα ( με Pandas kai NumPy ) και κανε και διαγραμματα ( με Matplotlib +/- Seaborn).
αυτα χοντρικα ( + να κανω καποια σχολεια για thread και γιατι θα ηταν καλυτερα αν χρησιμοποιουσα Python Threads)
ευχαριστω για τις απαντησεις
Τελευταία επεξεργασία από το μέλος talaipwros την 26 Απρ 2022, 19:36, έχει επεξεργασθεί 1 φορά συνολικά.
Re: JSON vs MongoDB
Γιατρός δεν ήσουν κάποτε; Άλλαξες επάγγελμα;talaipwros έγραψε: ↑26 Απρ 2022, 19:05εκει ειναι το ζουμι.foscilis έγραψε: ↑26 Απρ 2022, 17:58Η MongoDB όσο ελεεινή και να είναι, παραμένει βάση δεδομένων.
Μπορείς ας πούμε να δημιουργήσεις ένα Index πάνω στο πεδίο timestamp και αν τη ρωτήσεις να σου φέρει παπαριές που είναι μεταξύ 12:15 και 12:16 να στις βρει αμέσως. Αντίθετα το JSON file πρέπει να το σκανάρεις ολόκληρο για να βρεις αυτό που θες.
Ή μπορείς να της πεις "άλλαξέ μου την εγγραφή που έχει id τάδε, κάνε το πεδίο approved = true". Δεν είναι καθόλου το ίδιο πρακτικό να κάνεις το ίδιο στο JSON.
Επίσης ξέρει πώς να κάνει "οικονομία" στις ανάγκες της. Αν έχεις 1ΤΒ δεδομένα, τη Mongo δεν την πειράζει να δουλέψει με αυτά. Θα χρησιμοποιεί το φουλ της μνήμης σου βέβαια αλλά πολύ λιγότερα από 1ΤΒ, φροντίζοντας κάθε στιγμή να έχει το "καυτό" υποσύνολο των δεδομένων online. Ένα JSON file ή θα πρέπει να το σκανάρεις συνέχεια σα μαλάκας (α, πάω πίσω και ξαναξεκινάω από την αρχή να βρω αυτό το άλλο πράγμα που ήθελα) ή θα πρέπει να το φορτώσεις όλο σαν δέντρο στη μνήμη, αυτό θα κάνει το Pandas btw.
Ουσιαστικά είναι θέμα τι θες να κάνεις. Αν τα δεδομένα σου είναι λίγα σκοπεύεις να τα περάσεις μια κι έξω για να τρέξεις κάποια στατιστική ανάλυση, προφανώς δε συμφέρει να μπλέξεις με MongoDB. Αν είναι πολλά και σκοπεύεις να τα προσπελάσεις πολλές φορές ή να τα διευθυνσιοδοτήσεις, εντάξει δε θα σου πω βάλε mongo γιατί τη μισώ, αλλά σίγουρα θα πρέπει να κάνεις κάτι λίγο πιο ψαγμένο από ένα JSON file.
Βάση δεδομένων = λυμένα ένα σωρό προβλήματα (για την αποθήκευση και πρόσβαση στα δεδομένα), συχνά με αποτελέσματα δεκαετιών έρευνας και εμπειρίας που αλλιώς θα πρέπει να τα λύσεις εσύ και ΔΕΝ ξέρεις να το κάνεις τόσο καλά. Το τίμημα είναι βέβαια η πολυπλοκότητα, ότι έχεις ένα λογισμικό να διαχειριστείς και να ρυθμίσεις.
Το pandas θα τα κανει ολα, και τα timestamps και τα groupby και τα lamda functions και ολα. Αν δεν ειναι multirelational οι αναζητησεις , ποσο αξια εχει το MongoDB ( δεν μας αφηνουν SQL) ;
Δεν θα το γλυτωσω τελικα , διοτι δεν ειναι αιτιολογια το "παπαρες ειμαι νιουφις τί με ζαλιζετε με tkinter και MongoDB, ενα απλο Data Munging και αναζητηση κανουμε, εχω δουλεια γυναικα και παιδια χεστε με", αλλα αν δεν προκαμω θελω να εχω μια critical thinking δικαιολογια καπου ετοιμη
μερσι
Το ερώτημα σου είναι γιατί database και όχι text file. Νομίζω απαντήθηκε και όπως πάντα ξεκινάμε από το τι θέλεις να κάνεις.
Δικαιολογία για να το αποφύγεις θα βρεις γκουγκλίζοντας drowbacks of mongodb ή nosql και παρόμοια.
Προσωπικά δεν με τρελλαίνει σε σχέση με Sql, αλλά είναι μεγάλη κουβέντα.
“Hard times create strong men, strong men create good times, good times create weak men, and weak men create hard times.”
-
- Δημοσιεύσεις: 27573
- Εγγραφή: 30 Μαρ 2018, 18:54
Re: JSON vs MongoDB
Αφού δεν σε υποχρεώνει για db τότε κάνε το όπως ξέρεις καλύτερα και γρηγορώτερα. Άλλωστε μικρό φαίνεται να είναι. Αν έχεις χιλιάδες εγγραφές αλλάζει.talaipwros έγραψε: ↑26 Απρ 2022, 19:31ναι, δεν ειναι.Awesomatic έγραψε: ↑26 Απρ 2022, 19:20Συμπληρωματικά είναι αυτά, δεν είναι mutually exclusivetalaipwros έγραψε: ↑26 Απρ 2022, 17:50Ποιος ο λογος να ταλαιπωριεσαι με MongoDB αντι να χρησιμοποιησεις ενα απλο JSON file και να κανεις data cleaning / relationships με pandas/numpy?
χοντρικα η ασκηση ειναι μας δινουν ενα CSV file, καντο κατι αλλο ( XML ή JSON ) και μετα κανε ενα app σε GUI( tkinder), και απο εκει , κανε αλλαγες και αποθηκευε - οπως νομιζεις αλλα οχι με SQL - μαζευε καποια στοιχεια, βγαλε στατιστικα ( με Pandas kai NumPy ) και κανε και διαγραμματα ( με Maplotlib +/- Seaborn).
αυτα χοντρικα ( + να κανω καποια σχολεια για thread και γιατι θα ηταν καλυτερα αν χρησιμοποιουσα Python Threads)
ευχαριστω για τις απαντησεις
“Hard times create strong men, strong men create good times, good times create weak men, and weak men create hard times.”
-
- Δημοσιεύσεις: 27573
- Εγγραφή: 30 Μαρ 2018, 18:54
Re: JSON vs MongoDB
το βασικο κομματι του Module ειναι Numpy/Pandasfoscilis έγραψε: ↑26 Απρ 2022, 19:30το Pandas δεν είναι αποτελεσματικός τρόπος να φορτώνεις πολλά δεδομένα. Το Pandas απλά αναλύει δεδομένα. Έχει readers ώστε να διαβάζει δεδομένα από διάφορες πηγές (και από αρχεία και από βάσεις) αλλά δεν είναι αυτή η δουλειά του, ούτε είναι όλοι οι readers το ίδιο καλοί. Και σίγουρα δε συγκρίνεται με την ευελιξία που σου δίνει μια καλή βάση δεδομένων.
Αν έχεις ένα CSV με 1.000.000 γραμμές και το περάσεις σε μια βάση, μπορείς να πεις "φέρε μου μια γραμμή, φέρε μου μια άλλη γραμμή, πήγαινε στη γραμμή 98" κλπ.
Αν φορτώσεις το ίδιο CSV σε Pandas, πρέπει να χωρέσουν 1.000.000 γραμμές στη μνήμη. Αυτό μπορεί να γίνεται μπορεί και όχι, αναλόγως τι έχει η γραμμή. Σίγουρα είναι πολύ πιο ευέλικτα τα πράγματα αν συνδέσεις το pandas με τη MongoDB (υπόψη δεν ξέρω αν γίνεται) και τραβάει ό,τι δεδομένα θέλει on demand.
Η ουσία είναι ότι πρόκειται για διαφορετικά πράγματα:
JSON: μορφή αρχείου που περιγράφει τον εαυτό της, καλό ας πούμε σαν ενδιάμεσο φορμά ώστε να μεταφέρεις δεδομένα μεταξύ διαφορετικών εργαλείων, αλλά με μεγάλο κόστος αποθήκευσης και επανανάγνωσης. Είναι μαλακία να το χρησιμοποιήσεις σαν random access αποθηκευτικό χώρο για πολλά δεδομένα.
pandas: βιβλιοθήκη ανάλυσης δεδομένων. Βασικά θα το χρησιμοποιήσεις για την κατεξοχήν στατιστική ανάλυση και ΟΧΙ για το τετριμμένο κομμάτι, ας πούμε μέσο όρο ή μοναδικές τιμές μιας στήλης μπορούν να σου υπολογίσουν τα πάντα, είναι μαλακία να μπλέξεις με pandas.
Mongo: βάση δεδομένων, αποθηκεύει δεδομένα με δομημένο τρόπο και επιτρέπει πολύ γρήγορη και αποτελεσματική ενημέρωση/διάσχιση/περίληψη κλπ. Είναι μαλακία να τη χρησιμοποιήσεις αν έχεις λίγα δεδομένα, όπως δε θα χρησιμοποιούσες Word Processor για να σημειώσεις 2 πράγματα που θες για ψώνια.
- Dwarven Blacksmith
- Δημοσιεύσεις: 46537
- Εγγραφή: 31 Μαρ 2018, 18:08
- Τοποθεσία: Maiore Patria
Re: JSON vs MongoDB
Αυτό που περιγράφεις, ο ΜΟΝΟΣ λόγος για να μην το κάνω σε pandas θα ήταν αν δεν χωρούσαν τα ντατα στη μνήμη (και κρασαρε στην πράξη δηλαδή, όχι θεωρητικά)talaipwros έγραψε: ↑26 Απρ 2022, 19:31ναι, δεν ειναι.Awesomatic έγραψε: ↑26 Απρ 2022, 19:20Συμπληρωματικά είναι αυτά, δεν είναι mutually exclusivetalaipwros έγραψε: ↑26 Απρ 2022, 17:50Ποιος ο λογος να ταλαιπωριεσαι με MongoDB αντι να χρησιμοποιησεις ενα απλο JSON file και να κανεις data cleaning / relationships με pandas/numpy?
χοντρικα η ασκηση ειναι μας δινουν ενα CSV file, καντο κατι αλλο ( XML ή JSON ) και μετα κανε ενα app σε GUI( tkinder), και απο εκει , κανε αλλαγες και αποθηκευε - οπως νομιζεις αλλα οχι με SQL - μαζευε καποια στοιχεια, βγαλε στατιστικα ( με Pandas kai NumPy ) και κανε και διαγραμματα ( με Matplotlib +/- Seaborn).
αυτα χοντρικα ( + να κανω καποια σχολεια για thread και γιατι θα ηταν καλυτερα αν χρησιμοποιουσα Python Threads)
ευχαριστω για τις απαντησεις
There are decades where you fuck around and days where you find out
-
- Δημοσιεύσεις: 27573
- Εγγραφή: 30 Μαρ 2018, 18:54
Re: JSON vs MongoDB
οποτε ουσιαστικα αν περασω τα στοιχεια ( ειναι περιπου 70 χιλιαδες γραμμες ) σε MongoDB, για να εχει νοημα η φαση πρεπει να κανω τα searches με
τα $search κλπ της mongo αντι να χρησιμοποιω τα pd.DataFrame.groupby Κλπκλπ του παντας.
το μισο module ( και το συνολο του βασικου συγγραματος ) ειναι pandas/numpy
αρα το πουλο, θα πρεπει να εξηγησω γιατι δεν θα βαλω mongoDB.
απο την αλλη λεει Αν κανετε database, δωστε μας το schema . Αρα το θελει;
σκατα
τα $search κλπ της mongo αντι να χρησιμοποιω τα pd.DataFrame.groupby Κλπκλπ του παντας.
το μισο module ( και το συνολο του βασικου συγγραματος ) ειναι pandas/numpy
αρα το πουλο, θα πρεπει να εξηγησω γιατι δεν θα βαλω mongoDB.
απο την αλλη λεει Αν κανετε database, δωστε μας το schema . Αρα το θελει;
σκατα
-
- Δημοσιεύσεις: 26915
- Εγγραφή: 25 Ιαν 2019, 00:26
Re: JSON vs MongoDB
μα δεν έχει σχήμα η mongo, αν τα βάλεις σε RDBMS θες σχήμα