Mongo DB

Γενικές συζητήσεις για SQL και SQL Servers (RDBMS)

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Mongo DB

Δημοσίευση από ThyClub » 27 Ιουν 2011 16:57

Επειδή θέλω να ψαχτώ με mongo db. Έχει κάποιος απο εσας κάποια εμπειρία; Υπάρχει κάποιο πρότζεκτ που φτιάξατε με την συγκεκριμένη nosql κι αν ναι μπορεί κάποιος να μας δώσει μερικά παραδείγματα χρήσης της σε php?

Άβαταρ μέλους
viktoras
Δημοσιεύσεις: 963
Εγγραφή: 05 Απρ 2001 03:00
Τοποθεσία: Γαλάτσι, Αθήνα
Επικοινωνία:

Mongo DB

Δημοσίευση από viktoras » 27 Ιουν 2011 17:39

Κι εγώ αυτή την εποχή ψάχνομαι με MongoDB. Ίσως σε βοηθήσει το browser shell που περιέχει tutorial και φυσικά το νήμα για τον MongoDB driver στα PHP Docs. Με αυτά ξεκίνησα κι εγώ :)

Υ.Γ.: Αν παίζεις με κάποιο framework τα πράγματα γίνονται πιο εύκολα καθώς σχεδόν για όλα υπάρχουν 1st/3rd party classes για εύκολη υλοποίηση αλλά όπως πάντα είναι καλό πάντα να υπάρχουν οι βασικές γνώσεις.
<?="Hello Freestuff";?>
Quality hosting by Cityhost

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Mongo DB

Δημοσίευση από cherouvim » 27 Ιουν 2011 18:16


Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Mongo DB

Δημοσίευση από ThyClub » 27 Ιουν 2011 19:22

Μου αρέσει και είναι σχετικά εύκολη να την μάθεις. Εσείς που έχετε ασχοληθεί περισσότερο... που είναι καλά να χρησιμοποήσεις μια nosql και που μια sql?
+ και - ;

@cherouvim το video καλή μαγκιά αλλά δεν καταλαβαίνω τι λέει γιατί ακούγεται χάλια.. Υπάρχει σε κείμενο;

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Mongo DB

Δημοσίευση από pimpogio » 27 Ιουν 2011 20:46

εχεις καποια μεγαλη εφαρμογη που δεν αρκει μια acid db
για να παιξει ?

Εχεις για παραδειγμα μια εφαρμογη με πανω απο 100 μυρια τυπικες εγγραφες ?

Άβαταρ μέλους
viktoras
Δημοσιεύσεις: 963
Εγγραφή: 05 Απρ 2001 03:00
Τοποθεσία: Γαλάτσι, Αθήνα
Επικοινωνία:

Mongo DB

Δημοσίευση από viktoras » 27 Ιουν 2011 22:03

Το twitter αρκεί νομίζω ως παράδειγμα χρήσης noSQL.

Δεν είμαι άνθρωπος που ακολουθεί τα trends από πίσω, ούτε πρόκειται να παρατήσω την MySQL στο άμεσο μέλλον, αλλά θεωρώ ότι π.χ. η MongoDB είναι μια αρκετά καλή εναλλακτική με πολύ χαμηλό overhead.

Το μεγαλύτερο + που διαφημίζουν σχετικά με NoSQL είναι το "scaling ability". Φυσικά και η MySQL κάνει scale αλλά με το ανάλογο κόστος .
<?="Hello Freestuff";?>
Quality hosting by Cityhost

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Mongo DB

Δημοσίευση από ThyClub » 27 Ιουν 2011 23:40

pimpogio έγραψε:εχεις καποια μεγαλη εφαρμογη που δεν αρκει μια acid db
για να παιξει ?

Εχεις για παραδειγμα μια εφαρμογη με πανω απο 100 μυρια τυπικες εγγραφες ?
Όχι ακόμη αλλά υπάρχει η περίπτωση να φτάσει και να ξεπεράσει :P

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Mongo DB

Δημοσίευση από pimpogio » 28 Ιουν 2011 01:52

εξαρτατε τι θες να κανεις... ποτε θα μεγαλωσει η βαση..
αν θα κανεις απλο storage η επεξεργασια δεδομενων.

Αν σε ενδιαφερει επεξεργασια μεγαλου ογκου δες το hadoop.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Mongo DB

Δημοσίευση από ThyClub » 28 Ιουν 2011 01:58

Κοίταξε να δεις. Αυτό που θέλω είναι να κάνω απλό storage χωρις relations και να κάνω εύκολα queries στην βάση αυτή. Πιστεύω ότι το :

db.table.find().sort({name:-1})

έχει μικρότερο load από :

select * from table order by name desc

σε ένα πίνακα με εκατομύρια εγγραφές.

Διορθώστε με αν κάνω λάθος

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Mongo DB

Δημοσίευση από pimpogio » 28 Ιουν 2011 02:05

καλα 2 εντολες δε λενε τιποτα..
πισω απο αυτο ξερεις τι αλγόριθμοι τρεχουνε ?

καθε αλγοριθμος εχει καποια χαρακτηριστικα
αλλοι ειναι βελτιστοποιημένοι για αναζητηση αλλοι για εισαγωγη κτλπ αλλοι ειναι το ιδιο για αναζητηση και εισαγωγη κτλπ...

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Mongo DB

Δημοσίευση από ThyClub » 28 Ιουν 2011 02:17

Ναι αλλά στην συγκεκριμένη περίπτωση και για τον λόγο που ανέφερα αξίζει να κινηθώ σε μια nosql ή όχι;

Έχω δει τι γίνεται όταν κάνεις ένα filesort σε πίνακα με 500.000 εγγραφές και πίστεψε με δεν θέλω να το δω σε πίνακα με μερικά εκατομμύρια...

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Mongo DB

Δημοσίευση από pimpogio » 28 Ιουν 2011 02:41

αν θες να κανεις sort τεραστιου ογκου δεδομενων
δες το hadoop.

αν και η mysql στο sort εχει το btree
που σημενει με απλα λογια απο ενα γρηγορο check σε sort που εκανα σε 100k varchar(70) εγγραφες
log(100*10^3)=5 -> O( 5 ) -> σε ενα ssd της πλακας(~70 ευρω) (~200 ευρω ολο το μηχανημα) ~ 0 χρονος
και log(100*10^6)=8 -> O( 8 ) -> αναλογα τα ιδια και εδω
οποτε το sort που λες δεν ειναι αποτρεπτικος παραγοντας...

Οταν μιλαμε για μερικα sort δεν υπαρχει προβλημα... προβλημα ειναι αμετρητοι χρηστες μαζι
να κανουνε sort
Εκει αν εχεις μηχανικο δισκο παπαλα... δεν τα βγαζει περα γιατι εχουνε τραγικα random i/o
Να σου φερω απλο παραδειγμα τα tοrrents.. σε απλους μηχανικους δισκους στα seedboxes
bottleneck ειναι οι μηχανικοι δισκοι και οχι το δικτυο..
http://www.mysqlperformanceblog.com/200 ... s-indexes/
Τελευταία επεξεργασία από το μέλος pimpogio την 28 Ιουν 2011 02:57, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Mongo DB

Δημοσίευση από cherouvim » 28 Ιουν 2011 02:57

ThyClub έγραψε:Πιστεύω ότι το :

db.table.find().sort({name:-1})

έχει μικρότερο load από :

select * from table order by name desc

σε ένα πίνακα με εκατομύρια εγγραφές.
Το πρόβλημα δεν είναι το load. Πάνω κάτω το ίδιο θα είναι και στη MySQL αν το στήσεις σωστά. Το πρόβλημα είναι οτι κατά πάσα πιθανότητα αυτά τα εκατομμύρια εγγραφές μπορεί να μην χωράνε σε 1 server και τότε αρχίζουν τα προβλήματα. Στα NoSQL συστήματα αυτό είναι λυμένο από την αρχή.

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

Mongo DB

Δημοσίευση από pimpogio » 28 Ιουν 2011 03:00

αν αυτο ειναι το προβλημα τοτε θες ενα network distributed filesystem

Αλλα και παλι σε sql θα υπαρχουνε τεχνικες να το λυσεις αυτο..

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Mongo DB

Δημοσίευση από ThyClub » 28 Ιουν 2011 11:50

Μάλιστα. Άρα η "δύναμη" των NoSQL είναι ότι είναι distributed by default.

Εγώ σκεφτόμουν ενα συνδιασμό των 2. Δλδ τα δεδομένα που ξεπερνούν τα φυσιολογικά όρια σε NoSQL και τα υπόλοιπα σε κανονική sql.

Θα δείξει.. Προς το παρών η mysql μου κάνει μια χαρά αλλά στο μέλλον μπορεί να χρειαστεί και η mongo.

Απάντηση

Επιστροφή στο “Βάσεις Δεδομένων και SQL - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες