Oct 28, 2007

Παρουσίαση προϊόντων της οικογένειας TOAD στο Mall

Στις 23 Οκτωβρίου πραγματοποιήθηκε εκ μέρους της iTeam η παρουσίαση προϊόντων της οικογένειας TOAD στο Mall. Ομιλητής ήταν ο Martin Rapetti, Technical Distribution Manager της Quest που ανέλαβε να μας εκθέσει με κατατοπιστικό τρόπο τα τεχνικά χαρακτηριστικά των προϊόντων της πλατφόρμας. Αναμφίβολα, το πιο γνωστό μέλος της οικογένειας είναι το ίδιο το TOAD, αλλά αποτέλεσε ευχάριστη έκπληξη η γνωριμία με νέα προϊόντα που είναι εξαιρετικά χρήσιμα σε όσους ασχολούνται με την ανάπτυξη ή τη διαχείριση εφαρμογών στην Oracle. Το βάρος της παρουσίασης συγκεντρώθηκε γύρω από τις διευκολύνσεις που παρέχονται στον προγραμματιστή βάσεων δεδομένων όπως επίσης και στην ποιότητα του κώδικα και στη βελτιστοποίηση του, αφού σύμφωνα με έρευνα του Gartner που παρουσιάστηκε, στην διαδικασία ανάπτυξης, το 65% ξοδεύεται στο debugging, το 25% στην εξερεύνηση της λύσης και μόλις το 10% στην κωδικοποίηση. Τούτο είναι εξαιρετικά σημαντικό και πολυαναμενόμενο, ειδικά από αυτούς που συνηθίσει σε αντίστοιχες μεθοδολογίες και εργαλεία, όπως στο περιβάλλον του JEE. Πιο αναλυτικά οι σημειώσεις μου αφορούν:

  1. To αυτόνομο εργαλείο Data Μodeler που αναλαμβάνει να κάνει λογικό ή φυσικό σχεδιασμό βάσεων δεδομένων, reverse engineering, μετατροπή σχήματος από μια βάση (πχ SQL Server) σε άλλη (πχ Oracle) Διαθέτει ένα πολύ αναλυτικό reporting σε μορφή HTML ή RTF, κάτι που είναι συχνά πολύ απαραίτητο, ενώ διαθέτει και ευφυΐα ώστε να συγκρίνει μοντέλα και σχήματα και να παράγει το script του συγχρονισμού.
  2. Η έκδοση του TOAD που παρουσιάστηκε ήταν η 9.1 που ομολογουμένως έχει ένα πιο προηγμένο και διαισθητικό interface (όπως για παράδειγμα context-menu σε ένα αντικείμενο όταν το γράφουμε σε ένα SQL command), πτυσσόμενες παλέτες και λιγότερα παράθυρα. Για τις ανάγκες τυποποίησης, υπάρχει προφανώς ο Formatter ενώ συμπεριλαμβάνεται και ο μετατροπέας για την μετατροπή μιας εντολής SQL στην κατάλληλη μορφή στην γλώσσα προγραμματισμού που μας ενδιαφέρει . Η αλήθεια είναι πως αυτό το χαρακτηριστικό είναι εξαιρετικά χρήσιμο αφού κατά καιρούς έχω σπαταλήσει αρκετό χρόνο για να κάνω tune ένα SQL στον TOAD και μετά να το κάνω copy-paste με εισαγωγικά και + στο Java πρόγραμμα μου. Εξαιρετικά ενδιαφέρουσα ήταν και η παρουσίαση του CodeXpert που λειτουργεί ως εργαλείο στατικής ανάλυσης, αναγνωρίζοντας προβλήματα στον κώδικά μας, όπως full table scans, χρησιμοποιώντας προσαρμοζόμενους κανόνες. Επειδή αυτού του είδους η ανάλυση μπορεί να διαρκέσει μεγάλο χρονικό διάστημα, η δουλειά του CodeXpert μπορεί να προγραμματιστεί να εκτελεστεί όποτε εμείς το επιθυμούμε. Επίσης, έγινε επίδειξη του debugger με την χρήση watches για μεταβλητές και breakpoints που είναι δυνατόν να ενεργοποιηθούν όταν συμβαίνουν ειδικές συνθήκες (conditions) Τέλος, χρήζει προσοχής και ο profiler που βασίζεται στο DBMS_PROFILER πακέτο της Oracle που κάνει ανάλυση, γραμμή-προς-γραμμή του κόστους ενός PL/SQL προγράμματος. Κάτι επίσης που δεν γνώριζα, είναι πως στο TOAD μπορεί να λειτουργήσουν μηχανισμοί εξουσιοδότησης χρηστών, ώστε διαφορετικοί χρήστες να έχουν προσαρμοσμένη πρόσβαση σε βάσεις δεδομένων μέσω του εργαλείου (π.χ. απόκρυψη μενού ή read-only πρόσβαση)
  3. Εξίσου εντυπωσιακός ήταν ο Code Tester, ένα πλήρες GUI εργαλείο για να γράψει κανείς τα test cases του. Επιλέγοντας λοιπόν μια PL/SQL procedure, μπορούμε να ορίσουμε γραφικά μια σειρά από σενάρια, με εισερχόμενες παραμέτρους και αναμενόμενα αποτελέσματα. Ο Code Tester θα μας παράγει ένα PL/SQL package που θα τρέξει τα σενάρια μας και θα μας εμφανίσει την έκβασή τους. Γραφικό unit testing λοιπόν.
  4. Και φυσικά το πιο ενδιαφέρον για τους προγραμματιστές είναι πάντα η βελτίωση της απόδοσης των SQL τους, οπότε διατίθεται το εργαλείο SQL Optimizer που αναλαμβάνει, με αναζήτηση στη δική του βάση γνώσης αλλά και ενδεικνυόμενα best practices, να μας παρουσιάσει εναλλακτικά σενάρια εκτέλεσης ενός query, ακόμα και με την προσθήκη ή αφαίρεση indexes.
  5. Και επειδή το επιλεγόμενο σενάριο, θα πρέπει να δοκιμαστεί κάτω και συνθήκες φόρτου, το Benchmark Factory, αναλαμβάνει να κατασκευάσει και να εκτελέσει stress-test σενάρια, που ανάμεσα στα άλλα θα μπορούν να περιλαμβάνουν και τους δείκτες TPC-C και TPC-H.
  6. Τέλος, ενδιαφέρον για τους DBA έχει το Spotlight που αναλαμβάνει να απεικονίσει το τι συμβαίνει εκείνη τη στιγμή στην βάση δεδομένων, με τρόπο άμεσο, οργανωμένο και ιδιαίτερα παραστατικό, παρέχοντας επίσης δυνατότητες drill-down στα διάφορα στοιχεία της Oracle (π.χ. processes, SGA, κλπ) Το Spotlight, μπορεί να κρατήσει τα στατιστικά μιας ημέρας, ώστε να μπορέσουμε να τα κάνουμε replay, οποιαδήποτε στιγμή θέλουμε, στο γραφείο μας.

Η άκρως ενδιαφέρουσα παρουσίαση έκλεισε μια διανομή ενός CD που περιελάμβανε όλα τα προϊόντα που παρουσιάστηκαν σε δοκιμαστική έκδοση 30 ημερών. Η πραγματικά πολύ ενεργή κοινότητα των χρηστών του TOAD βρίσκεται στην διεύθυνση http://toadworld.com

3 comments:

spiretos72 said...

Ενδιαφέροντες οι Toads. Τους επισκέπτεστε συχνά;

Serafeim Karapatis said...

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

CresceNet said...

Oi, achei seu blog pelo google está bem interessante gostei desse post. Gostaria de falar sobre o CresceNet. O CresceNet é um provedor de internet discada que remunera seus usuários pelo tempo conectado. Exatamente isso que você leu, estão pagando para você conectar. O provedor paga 20 centavos por hora de conexão discada com ligação local para mais de 2100 cidades do Brasil. O CresceNet tem um acelerador de conexão, que deixa sua conexão até 10 vezes mais rápida. Quem utiliza banda larga pode lucrar também, basta se cadastrar no CresceNet e quando for dormir conectar por discada, é possível pagar a ADSL só com o dinheiro da discada. Nos horários de minuto único o gasto com telefone é mínimo e a remuneração do CresceNet generosa. Se você quiser linkar o Cresce.Net(www.provedorcrescenet.com) no seu blog eu ficaria agradecido, até mais e sucesso. (If he will be possible add the CresceNet(www.provedorcrescenet.com) in your blogroll I thankful, bye friend).