Bill : Σε βάσεις με πολλά δεδομένα πχ τα οποία θα πρέπει να επεξεργαστούν μαζικά ,υπάρχουν καθυστερήσεις οι οποίες αν έτρεχαν παράλληλα θα μειωνόταν αρκετά .
Τότε θα απογοητευτείς. Οι βάσεις είναι ήδη multi-threaded, parallel και multi-core aware. Ίσα-ίσα, τις βάσεις προσπαθούν να μιμηθούν τα διάφορα frameworks! Η παράλληλη επεξεργασία στον client (και ο app server για τη βάση client θεωρείται) θα αύξησει τα προβλήματα και τις καθυστερήσεις, δεν θα τα μειώσει. Ο λόγος είναι ότι στην επεξεργασία θα προσθέσεις το latency και την καθυστέρηση του δικτύου, και την καθυστέρηση της επεξεργασίας. Locks τα οποία πιάνεις κατά το διάβασμα θα κρατηθούν πολύ περισσότερο αν η επεξεργασία γίνεται στον client απ' ότι αν γινόταν με κάποιο σωστό τρόπο στον server.
Πρώτα πρέπει να γράψεις σωστή SQL και σωστά batch operations και μετά να αρχίσεις να σκέφτεσαι multi-cores. Η βάση ξέρει πολύ καλύτερα από εσένα τα δεδομένα και τα στατιστικά τους και μπορεί να επιλέξει τις κατάλληλες μεθόδους επεξεργασίας καλύτερα απ' ότι εσύ. Επίσης, μπορεί να υπολογίσει το κόστος της χρήσης παράλληλης επεξεργασίας σε επίπεδο query σε σύγκριση με τη χρήση ξεχωριστών threads για κάθε client. Γι αυτό και δεν γίνονται όλα τα query parallel.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos