
Έχουμε ένα τεράστιο δεδομένων περίπου 300 εκατομμύρια εγγραφές, οι οποίες θα ενημερωθούν κάθε 3-6 months.We πρέπει να αναζητούν αυτά τα δεδομένα (συνεχώς, σε πραγματικό χρόνο) για να πάρετε κάποια information.What είναι οι επιλογές - ένα RDBMS (MySQL), ή κάποια άλλη επιλογή, όπως Hadoop.Which θα είναι καλύτερα;

 
Μεγάλες δεδομένων - αποθήκευσης και επερώτησης
==============================================



300M αρχεία είναι εντός των ορίων της τακτικής σχεσιακών βάσεων δεδομένων και ζωντανή επερώτηση θα πρέπει να είναι κανένα πρόβλημα αν χρησιμοποιείτε ευρετήρια σωστά.


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

 

Όπως άλλοι είπαν, σύγχρονη RDBMS μπορεί να χειριστεί όπως πίνακες, ανάλογα με τις απορίες και σχήμα (μερικές βελτιώσεις θα πρέπει να γίνουν). Αν έχετε μια καλή κλειδί για να χωρίσει τις γραμμές του (όπως μια στήλη ημερομηνία), τότε οι τεχνικές partioniong / sharding θα σας βοηθήσει να χωρίσει τον πίνακα σε πολλές μικρές.


Μπορείτε να διαβάσετε περισσότερα για εκείνες και άλλες τεχνικές κλιμάκωση σε μια ερώτηση που έθεσα κάποια στιγμή πριν εδώ - [Κλιμάκωση λύσεις για τη MySQL (αναπαραγωγή, Clustering)](https://stackoverflow.com/questions/189903/scaling-solutions-for-mysql-replication-clustering)

 

Λοιπόν, έχω μερικές βάσεις δεδομένων PostgreSQL με ορισμένους πίνακες με πάνω από 700 αρχεία και έχουν ενημερωθεί όλη την ώρα.


Ένα ερώτημα αυτών των πινάκων λειτουργεί πολύ γρήγορα (μερικά χιλιοστά του δευτερολέπτου) και χωρίς προβλήματα. Τώρα, τα δεδομένα μου είναι αρκετά απλή, και έχω δείκτες στα πεδία που ερώτημα.


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

 

300 εκατομμύρια πραγματικότητα δεν μετράνε ως τεράστια αυτές τις μέρες :-).


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


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


MS SQLServer, Sybase, Oracle και DB2 όλα θα χειριστεί τις ποσότητες αυτές με ευκολία, αν η εταιρεία σας προτιμά να δαπανήσει χρήματα.


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

 

300 εκατομμύρια εγγραφές δεν θα δημιουργήσει προβλήματα σε top-end RDBMS, όπως Oracle, SQL Server, DB2. Δεν είμαι σίγουρος για MySQL, αλλά είμαι σχεδόν σίγουρος ότι συνηθίζει για μερικά αρκετά μεγάλες βάσεις δεδομένων αυτές τις μέρες.

 