ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

ΜΕΤΑΠΤΩΣΗ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΝΟΙΚΤΟΥ ΚΩΔΙΚΑ

του Πυθαγόρα Παπαδημητρίου*

Υπάρχουν όλο και περισσότερα παραδείγματα οργανισμών, τόσο του ιδιωτικού όσο και του δημόσιου τομέα, που αποφασίζουν να αντικαταστήσουν τις legacy βάσεις δεδομένων των mission critical συστημάτων τους με βάσεις δεδομένων ανοικτού κώδικα. Ο όρος legacy αποδίδει την έννοια των συστημάτων που «κληρονομούνται» από προηγούμενες τεχνολογίες και η χρήση τους απαιτεί αδειοδότηση. Ως legacy συστήματα βάσεων δεδομένων, ή closed source για όσους δεν αποδέχονται τον όρο legacy, θεωρούνται κυρίως η DB2 της IBM, o Microsoft SQL Server και η Oracle.

Ο πρωταρχικός λόγος για την απομάκρυνση από τις legacy βάσεις δεδομένων είναι το κόστος των αδειών και των συμβολαίων υποστήριξης. Τα πολύπλοκα και δεσμευτικά συμβόλαια κλειδώνουν τους χρήστες με τις συγκεκριμένες εταιρείες και δημιουργούν αδιέξοδες και μακροχρόνιες εξαρτήσεις. Η αδιαφάνεια, καθώς και θέματα ασφάλειας και ελέγχου είναι επίσης σημαντικοί λόγοι που οδηγούν στις αποφάσεις αντικατάστασής τους με ανοικτού κώδικα συστήματα βάσεων δεδομένων.

Η Ευρωπαϊκή Επιτροπή ενθαρρύνει με σχετική οδηγία τα κράτη μέλη να χρησιμοποιούν λογισμικό ανοικτού κώδικα λόγω του μετασχηματιστικού, καινοτόμου και συνεργατικού δυναμικού του. Τα κράτη μέλη που ακολουθούν αυτή την οδηγία δεν βλέπουν ένα μεγάλο μέρος του προϋπολογισμού να ξοδεύεται για άδειες και υλοποιούν πολλά περισσότερα έργα προς όφελος των πολιτών τους. Και οι πολίτες τους δεν βλέπουν τις φορολογικές τους εισφορές να καταλήγουν εκτός Ευρωπαϊκής Ένωσης.

Οι πρώτες εκδόσεις συστημάτων βάσεων δεδομένων ανοικτού κώδικα εμφανίστηκαν στα μέσα της δεκαετίας του 1990 (Η MySQL το 1995 και η PostgreSQL το 1996). Για περισσότερο από δύο δεκαετίες ήταν δημοφιλείς κυρίως στην ακαδημαϊκή κοινότητα, στους ερευνητές και στους προγραμματιστές. Η έλλειψη απαραιτήτων λειτουργιών για mission critical συστήματα, όπως το online backup, καθιστούσε την υιοθέτησή τους από οργανισμούς, όπως οι τράπεζες, απαγορευτική. (Η MySQL εισήγαγε τη λειτουργία online backup στην έκδοση MySQL 5.5, η οποία κυκλοφόρησε τον Δεκέμβριο του 2010). Ωστόσο η κατάσταση άλλαξε άρδην τα τελευταία πέντε χρόνια μέσα στα οποία οι κορυφαίες βάσεις δεδομένων ανοικτού κώδικα πραγματοποίησαν τεχνολογικά άλματα. Μοναδικές τεχνολογίες για υψηλή διαθεσιμότητα (99,999%), που πρόσφερε μόνο η Oracle με το RAC στο δικό της Cloud, τώρα προσφέρονται και από την PostgreSQL (EDB PostgreSQL Distributed), σε οποιοδήποτε Cloud ή on-premise περιβάλλον. Σήμερα, όπως παραδέχονται κορυφαίοι αναλυτές, οι κορυφαίες βάσεις ανοικτού κώδικα, όχι μόνο δεν υπολείπονται αλλά ξεπερνούν σε αρκετές περιπτώσεις τους legacy ανταγωνιστές τους.

Η ολοένα αυξανόμενη χρήση συστημάτων βάσεων δεδομένων ανοικτού κώδικα από κατασκευαστές (ISVs) mission critical εφαρμογών που απευθύνονται πλέον σε τράπεζες, τηλεπικοινωνιακούς οργανισμούς και άλλες μεγάλες επιχειρήσεις, καθώς και η παρουσία τους σε σημαντικά κυβερνητικά έργα, γέννησε την ιδέα της μετάπτωσης των legacy βάσεων δεδομένων σε βάσεις ανοικτού κώδικα.

Γύρω από κάθε βάση ανοικτού κώδικα υπάρχει μία παγκόσμια κοινότητα που συνεισφέρει κώδικα για τις επόμενες εκδόσεις, μία επιτροπή που αξιολογεί και τέλος μία μικρότερη επιτροπή που αποφασίζει τι θα περιέχει η επόμενη έκδοση. Οι κοινότητες αυτές έχουν αναπτύξει μεθοδολογίες και εργαλεία ανοικτού κώδικα για τη μετάπτωση στη δική τους open source βάση δεδομένων. Υπάρχουν επίσης και εταιρείες οι οποίες έχουν αναπτύξει τεχνολογίες και εργαλεία μετάπτωσης διαθέσιμα μόνο στους συνδρομητές τους. Με τον όρο συνδρομητής εννοούμε τους χρήστες που πληρώνουν ετήσια συνδρομή σε αυτές τις εταιρείες για να έχουν συμβόλαια υποστήριξης για τις βάσεις ανοικτού κώδικα που χρησιμοποιούν.

Για τις περισσότερες βάσεις ανοικτού κώδικα υπάρχουν τεχνικές και εργαλεία μετάπτωσης, ακόμη και για μετάπτωση από Oracle σε MySQL, παρά το γεγονός ότι η MySQL ανήκει στην Oracle.

Ένα έργο μετάπτωσης από μία legacy σε μία ανοικτού κώδικα βάση δεδομένων περιλαμβάνει:

  • Μετατροπή του σχήματος (schema) σε μία έκδοση συμβατή με τα SQL πρότυπα
  • Επαναδιατύπωση των ορισμών των τύπων δεδομένων (data types)
  • Επαναδιατύπωση των queries και των stored procedures
  • Αντιγραφή των δεδομένων
  • Επικαιροποίηση των API εφαρμογών ώστε να χρησιμοποιούν JDBC, .NET και ODBC ανοικτού κώδικα
  • Επαλήθευση ότι η μεταφερόμενη βάση δεδομένων πληροί όλες τις μη λειτουργικές απαιτήσεις που σχετίζονται με την απόδοση, διαχειρισιμότητα, υψηλή διαθεσιμότητα και ενσωμάτωση στις απαιτήσεις ασφάλειας της επιχείρησης.

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

Στη συνέχεια θα μιλήσουμε για την πιο δημοφιλή μετάπτωση από legacy σε ανοικτού κώδικα βάση δεδομένων, από Oracle σε PostgreSQL. Για τη συγκεκριμένη περίπτωση έχουν αναπτυχθεί οι περισσότερες τεχνικές και εργαλεία και είναι μακράν η πιο συνηθισμένη περίπτωση μετάπτωσης.

Για τη μετάπτωση με χρήση εργαλείων υπάρχουν δύο προσεγγίσεις:

  • Η Προσέγγιση της Μετάφρασης (Translation Approach) που χρησιμοποιεί αυτοματοποιημένα εργαλεία για να επανεγγράψουν ή να μεταφράσουν τους ορισμούς των data types, τα queries και τις stored procedures από την legacy βάση δεδομένων στην ανοιχτού κώδικα. Η Προσέγγιση της Μετάφρασης χρησιμοποιείται από το Migrator της CYBERTEC, το Schema Conversion Tool (SCT) της AWS, το MnMTK της Ispirer και το εργαλείο ανοιχτού κώδικα ORA2PG.
  • Η Προσέγγιση της Εγγενούς Συμβατότητας (Native Compatibility Approach) που επεκτείνει τις δυνατότητες των βάσεων δεδομένων ανοιχτού κώδικα και δημιουργεί μια εγγενή υλοποίηση των επεκτάσεων του closed source προμηθευτή στο πρότυπο SQL, συμπεριλαμβανομένων των APIs και των πρωτοκόλλων. Για παράδειγμα, ο Postgres Advanced Server (EPAS) της EDB διαθέτει εγγενή υλοποίηση για τη procedural γλώσσα SQL PL/SQL της Oracle, η οποία περιλαμβάνει τα πακέτα και τις ιδιόκτητες επεκτάσεις της Oracle για τους drivers ODBC, JDBC, .NET και OCI. Αυτό επιτρέπει τον κώδικα που έχει γραφτεί για τη βάση δεδομένων Oracle να εκτελείται απευθείας στον EPAS με ελάχιστες αλλαγές. Η προσέγγιση της εγγενούς υλοποίησης χρησιμοποιείται από την EDB ως μέρος του EPAS για την επίτευξη συμβατότητας με τη βάση δεδομένων Oracle. Το εργαλείο ανοιχτού κώδικα ORAFCE παρέχει επίσης κάποιο επίπεδο συμβατότητας με την Oracle, αν και όχι στον ίδιο βαθμό με τον EPAS.

Το πλεονέκτημα της Προσέγγισης της Μετάφρασης είναι ότι η νέα βάση είναι σε standard open source PostgreSQL. Το μειονέκτημα είναι ότι κάποιες αλλαγές που χρειάζονται στον κώδικα της Oracle και στους drivers δεν γίνονται αυτόματα και δεν υπάρχει συμβατότητα με την Oracle. Για αυτό το λόγο η Προσέγγισης της Μετάφρασης απαιτεί περισσότερο χρόνο υλοποίησης. Το ποσοστό αυτοματισμού στην Προσέγγιση της Εγγενούς Συμβατότητας με EPAS φτάνει το 95% και η μετάπτωση ολοκληρώνεται σε ελάχιστες μέρες. Το EPAS, το οποίο χρησιμοποιεί ΑΙ, είναι ο ταχύτερος και πιο ολοκληρωμένος τρόπος για να γίνει μετάπτωση από Oracle σε PostgreSQL. Το μόνο μειονέκτημα είναι ότι η PostgreSQL που παράγεται περιέχει proprietary κώδικα της EDB και απαιτεί ετήσια συνδρομή στην EDB για την υποστήριξή της. Ακόμη όμως και σε αυτή τη περίπτωση, το Total Cost of Ownership (TCO), συγκριτικά με την Oracle, μειώνεται κατά τουλάχιστον 80%. Για τις περιπτώσεις που η μετάπτωση γίνεται με την Προσέγγιση της Μετάφρασης, και ιδίως με το Migrator της CYBERTEC, το TCO μειώνεται ακόμη περισσότερο.

Από τη στιγμή που έχει γίνει η μετάπτωση σε PostgreSQL δεν υπάρχει κανένας περιορισμός αν θέλουμε να μετεγκαταστήσουμε τη νέα βάση στο Cloud. Αυτή η δυνατότητα είναι πολύ σημαντική αν δεχτούμε ότι πάνω από το 90% των νέων συστημάτων διαχείρισης βάσεων δεδομένων εγκαθίστανται σήμερα στο Cloud. Εφόσον έχει αποφασιστεί η μετάπτωση σε PostgreSQL, υπάρχουν πλέον πολλές επιλογές:

  • Private Cloud, όπως OpenShift, Nutanix, ή VMWare
  • Public Cloud Infrastructure as a Service (IaaS), όπως AWS EC2 ή GCP
  • Public Cloud Kubernetes Platforms, όπως GKE, AKS, ή EKS
  • Public Cloud Database as a Service (DBaaS), όπως RDS Postgres, Aurora for Postgres, Azure Database for Postgres, Google’s Cloud SQL for Postgres, ή EDB BigAnimal.

Η ελευθερία των επιλογών, η απεξάρτηση από αδιαφανείς και κλειδωμένες τεχνολογίες που μειώνουν τις δυνατότητες καινοτομίας και συνεργασίας και δημιουργούν θέματα ελέγχου και ασφάλειας, και κυρίως η δραματική μείωση του κόστους, είναι οι κύριοι παράγοντες που οδηγούν στις αποφάσεις για μετάπτωση. Στο παρελθόν αρκετά έργα μετάπτωσης απέτυχαν καθώς δεν υπήρχε η κατάλληλη τεχνολογία για την υλοποίησή τους. Σήμερα αυτός ο λόγος εκλείπει, αλλά και πάλι θα καταδικαστεί ένα έργο μετάπτωσης σε αποτυχία αν δεν υλοποιηθεί από έμπειρους, εκπαιδευμένους και πιστοποιημένους μηχανικούς στα πλαίσια ενός σωστά οργανωμένου και διαχειριζόμενου έργου. Το ίδιο ισχύει και για όσα έργα χρησιμοποιούν βάσεις δεδομένων ανοικτού κώδικα αλλά δεν υποστηρίζονται από τους κατάλληλους οργανισμούς. Οι οργανισμοί αυτοί μπορούν να παρέχουν τα πιο αυστηρά 24 x 7 Service Level Agreements (SLAs) και υποστήριξη επιχειρηματικού επιπέδου (enterprise-level support) στους χρήστες. Και όλα αυτά με ένα κόστος μικρότερο του 20% του αντίστοιχου των closed source συστημάτων βάσεων δεδομένων.


* Πυθαγόρας Παπαδημητρίου, Διευθύνων Σύμβουλος της Cloudway Hellas & Cloudway
Austria,

Leave a Comment

Social Media Auto Publish Powered By : XYZScripts.com