• Σχόλιο του χρήστη 'Βασίλειος' | 17 Αυγούστου 2016, 15:46

    Στο συγκεκριμένο θέμα θα ήθελα να αναφέρω τα παρακάτω : Η υλοποίηση θα πρέπει να είναι n-tier Architecture με σκοπό την επεκτασιμότητα και την συντήρηση στο μέλλον. Για παράδειγμα θα πρέπει να υπάρχει μια υποδομή από database servers όπου θα είναι μόνο η βάσεις δεδομένων σαν το data layer και ένα επίπεδο όπου θα είναι το logic layer όπου εκεί θα είναι όλο το λογισμικό επεξεργασίας δεδομένων ή αναζήτησης ή υπολογιστικές ανάγκες κτλ κτλ. Και τέλος το presendation layer όπου οι υπάλληλοι της Αστυνομίας θα συνδέονται και θα χειρίζονται τις παραπάνω ενέργειες. Έτσι έχουμε 3-tier Architecture μπορεί να υπάρχει μια υποδομή από database servers μόνο, άλλη μια με application servers. Αυτή η αρχιτεκτονική θα αυξήσει την ταχύτητα και θα υπάρχει ανεξαρτησία των παραπάνω επιπέδων έτσι στο μέλλον αν θέλει κάποιος να αλλάξει το data logic πχ δεν θα πειράζει καθόλου τα υπόλοιπα επίπεδα. Επίσης σε κάθε layer επειδή μπορεί να είναι σε διαφορετικά δίκτυα θα μπορεί να εφαρμοστεί και διαφορετικό επίπεδο ασφαλείας. Για παράδειγμα θέλουμε ένα πιο ισχυρό σύστημα ασφαλείας στο δίκτυο όπου υπάρχουν οι database servers και ένα λιγότερο ισχυρό ενδεχομένως στα υπόλοιπα δίκτυα όπου είναι τα άλλα επίπεδα. Έτσι ο επιτιθέμενος έχει να σπάσει πολλαπλά κομμάτια ασφαλείας το οποίο και χρόνο απαιτεί και ιδιαίτερες τεχνικές γνώσεις αλλά και θα είναι σχεδόν αδύνατο μιας και θα εντοπιστεί εγκαίρως. Όσον αφορά την τεχνολογία βάσης δεδομένων θεωρώ ότι βολεύει η ORACLE και παρέχει και κρυπτογράφηση και ισχυρή έκδοση για παράλληλη επεξεργασία δεδομένων. Τέλος παρέχει και εργαλεία BI για στατιστικά και εξόρυξη πληροφορίας...Μπορεί να κάτσει άνετα σε open source linux OS με χαμηλή κατανάλωση πόρων κτλ κτλ. Σε εκείνο που δεν μου άρεσε και τόσο είναι το να βάλετε μέσα στην βάση blob αρχεία πχ Εικόνες, ηχητικά δεδομένα κτλ κτλ. Αυτό μακροπρόθεσμα έχει τα παρακάτω μειονεκτήματα : 1) Θα αυξήσει γρήγορα το μέγεθος της βάσης 2) Θα επηρεάσει την απόκριση , γενικά την ταχύτητα (δε μπορείς να εφαρμόσεις indexes σε blob files) 3) To backup / Restore θα διαρκεί αρκετό χρόνο μιας και η βάσεις θα είναι παραφουσκωμένες. Τι θα έκανα : Όλου αυτού του είδους αρχεία θα τα αποθήκευα σε δικτυακούς δίσκους (όπου θα είχα και κρυπτογράφηση και ισχυρό σύστημα ασφαλείας) και στην βάση θα αποθήκευα μόνο την διαδρομή του εκάστοτε αρχείου. Έτσι η βάση θα ήταν πάντα μικρή και τα επίμαχα δεδομένα μου θα ήταν όχι στη βάση αλλά σε ένα σύστημα σκληρών δίσκων (τεχνολογίας ίσως και SSD για μεγαλύτερες ταχύτητες) και τα backup θα παιρνόνταν γρήγορα και γενικά η υγεία της βάσης μου θα ήταν καλύτερη.Αν δεν θέλουμε σε σκληρούς δίσκους ίσως να βοήθαγε μια NOSQL DB(αν και είμαι κατά). Δε ξέρω αν η ORACLE η SQL Server έχει άλλη καλύτερη λύση, αλλά γενικά είναι κακή τεχνική να φορτώνουμε την database με πολλά blob αρχεία.