Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

Smart clients over large db schema

Στο concept των smart clients, τα δεδομένα του χρήστη μένουν αποθηκευμένα στο μηχάνημά του ώστε να μπορεί να δουλεύει και off-line. Σύμφωνα με όσα έχω καταλάβει από τα παραδείγματα της Microsoft και από όσα έχω βρει περιοδικά στο web, χρησιμοποιείται ένα dataset για να κράταει όλα τα δεδομένα το οποίο ο client το γεμίζει και το ενημερώνει σε κάθε ευκαιρία, ενώ το χρησιμοποιεί σαν off line database όσο είναι offline (αποθηκεύοντάς στο πιθανώς και στο δίσκο μεταξύ των sessions).

Όταν έχουμε περιπτώσεις μεγάλων βάσεων όμως τι κάνουμε (με το μεγάλες αναφέρομαι στο schema, μεγάλο αριθμό πινάκων κλπ); Σίγουρα ξεχωρίζουμε τα readonly reference data τα οποία τα διαχειριζόμαστε ξεχωριστά. Αν τα transient data όμως παραμένουν πολλά, υπάρχει κάποιο best practice που υπάρχει για τη διαχείρισή τους; Πρέπει να βάλουμε τους πίνακες αυτούς σε ένα τεράστιο dataset, μαζί με τις αλληλοσυνδέσεις τους; Το σπάμε σε κομμάτια; Τι γίνεται με τα references μεταξύ διαφορετικών κομματιών;

Επίσης, τι γίνεται στην περίπτωση που χρειάζομαι δεδομένα από 10 διαφορετικούς πίνακες; Σε άλλες καταστάσεις ενδέχεται να έφτιαχνα ένα view στην db που να τα μαζεύει. Λόγω της δομής που πρέπει να κρατήσω με ένα μεγάλο dataset, πρέπει να τραβήξω 10 selects, σε κάθε έναν από τους πίνακες για να γεμίσω "μερικώς" (ίσως enforce constrains = false) το dataset και να το στείλω στον client. Πως επηρεάζει αυτό τον sql server μου;

Η περίπτωση που έχω στο μυαλό μου για εφαρμογή, αφορά οντότητες οι οποίες εμπλέκουν τουλάχιστον 20 πίνακες οι οποίοι σύμφωνα με το αρχικό απλοϊκό σκεπτικό θα έπρεπε να μπούνε σε ένα dataset.

Ότι παράδειγμα έχω βρει μέχρι τώρα, έχει τελείως απλοικές καταστάσεις με πολύ απλά datasets...

Όποιος ξέρει απαντήσεις ή έχει βρει κάτι καλύτερο στο web, ας πει κάτι...

PS:

  • Από datasets δεν ξεκολάει η κατάσταση
  • Performance μεταφοράς δεδομένων έχει εξεταστεί, πέφτει συμπίεση.
  • Όλο το handling για τα readonly (ή σπανίως ενημερώσημα) δεδομένα είναι ήδη υλοποιημένο με αρκετά αποδοτικό τρόπο, εκτενές caching και συμπίεση.
Έχουν δημοσιευτεί Πέμπτη, 9 Ιουνίου 2005 10:13 πμ από το μέλος Χρήστος Γεωργακόπουλος
Δημοσίευση στην κατηγορία: ,

Σχόλια:

Έχει απενεργοποιηθεί η προσθήκη σχολίων από ανώνυμα μέλη