Σύγκριση RDS vs EC2 για PostgreSQL DB

Αν δεν είστε νέοι στην ανάπτυξη Backend, είναι πιθανό ότι έχετε ακούσει για το Amazon RDS. Εν συντομία, η Amazon Relational Database Service (Amazon RDS) είναι μια υπηρεσία web που διευκολύνει την εγκατάσταση, λειτουργία και κλιμάκωση μιας σχεσιακής βάσης δεδομένων στο σύννεφο. Παρέχει οικονομικά αποδοτική χωρητικότητα για μια βασική σχεσιακή βάση δεδομένων και διαχειρίζεται κοινές εργασίες διαχείρισης βάσεων δεδομένων.

Amazon RDS PostgreSQL

Θα προσπαθήσω να συγκρίνω το Amazon RDS εναντίον του Amazon EC2 για τη βάση δεδομένων PostgreSQL. Αυτή η ανάρτηση μπορεί να σας βοηθήσει στην επιλογή είτε να χρησιμοποιήσετε το Amazon RDS είτε το δικό σας παράδειγμα Amazon EC2 με το PostgreSQL να είναι εγκατεστημένο.

Ένα από τα πλεονεκτήματα των προγραμματιστών που χρησιμοποιούν το Amazon RDS αντί να διαχειρίζονται τις δικές τους βάσεις δεδομένων είναι ότι μειώνουν ή εξαλείφουν τις διοικητικές ευθύνες τους.

Οφέλη από τη χρήση του Amazon RDS μέσω του Amazon EC2 για διακομιστή PostgreSQL.

Ρύθμιση

Η δημιουργία μιας βάσης δεδομένων PostgreSQL στο Amazon RDS είναι μερικά μόνο κλικ και πηγαίνετε. Δεν χρειάζεται να αγοράσετε υλικό, να εγκαταστήσετε το λογισμικό και να διαχειριστείτε την πρόσβαση στη βάση δεδομένων. Μπορείτε να ρυθμίσετε τα πάντα από τον AWS Dashboard και το κάνει!

Διαθεσιμότητα

Το Amazon RDS είναι μια ιδιαίτερα διαθέσιμη σχεσιακή βάση δεδομένων. Έρχεται με ένα χαρακτηριστικό που ονομάζεται Amazon RDS Multi-AZ Deployment, το οποίο δημιουργεί αυτόματα ένα πρωτεύον στέλεχος DB και ταυτόχρονα επαναλαμβάνει τα δεδομένα σε μια κατάσταση αναμονής σε μια διαφορετική Ζώνη Διαθεσιμότητας (AZ).

Αν πάτε με το δικό σας EC2 παράδειγμα, πρέπει να ρυθμίσετε την PostgreSQL για υψηλή διαθεσιμότητα από μία από τις διαφορετικές λύσεις αναπαραγωγής.

Δημιουργία αντιγράφων ασφαλείας

Με το Amazon RDS, λαμβάνετε αυτοματοποιημένα αντίγραφα ασφαλείας που σας επιτρέπουν να ανακάμψετε σε ένα συγκεκριμένο χρόνο που θα επιλέξετε. Παίρνετε επίσης έναν απλό τρόπο να λαμβάνετε συνεπή και παραδοτέα στιγμιότυπα κατά παραγγελία και να τα κρατάτε όσο θέλετε.

Ενώ η ρύθμιση της δημιουργίας αντιγράφων ασφαλείας & επαναφοράς στο PostgreSQL δεν είναι τόσο εύκολη όσο είναι με το Amazon RDS.

Αποκατάστασης καταστροφών

Με τη λειτουργία Multi-AZ, το AWS παρέχει ένα συγχρονισμένο αντίγραφο "σε κατάσταση αναμονής" κάθε βάσης δεδομένων σε μια άλλη "ζώνη". Δεδομένου ότι τόσο η βάση δεδομένων όσο και το αντίγραφό της βρίσκονται σε συγχρονισμό, δεν υπάρχει πιθανότητα απώλειας δεδομένων. Προσφέρει επίσης διακομιστή ονομάτων τομέα (DNS) για να αποκτήσει πρόσβαση στο RDS, οπότε ακόμα και αν το πρωτόκολλο κύριας βάσης κατεβαίνει, ένας μηχανισμός αυτόματης ανακατεύθυνσης RDS θα αλλάξει το κύριο DNS σε ένα αντίγραφο για να επιτύχει υψηλή διαθεσιμότητα.

Ενώ η PostgreSQL απευθείας δεν παρέχει αυτόματο failover, θα χρειαστεί να ρυθμίσετε με μη αυτόματο τρόπο την αυτόματη αποτυχία με PostgreSQL. Ίσως χρειαστεί να ρυθμίσετε το αρχείο repmgr για να διαχειριστείτε την αναπαραγωγή και την αποτυχία σε ένα σύμπλεγμα διακομιστών PostgreSQL.

Ευελιξία

Η κλιμάκωση της βάσης δεδομένων σας γίνεται πολύ εύκολη με το Amazon RDS. Μπορείτε να προσαρμόσετε τη βάση δεδομένων σας προσθέτοντας αντίγραφα. Μπορείτε να κλιμακώσετε το παράθυρο RDS κάθετα και οριζόντια με ένα πάτημα ενός κουμπιού.

Ενδέχεται να χρειαστεί να ρυθμίσετε την αναπαραγωγή ροής για να κλιμακώσετε τη βάση δεδομένων σας. Θα αντιμετωπίσετε επίσης ένα χρόνο διακοπής λειτουργίας.

Εκτέλεση

Το AWS RDS προσφέρει PIOPS (Provisioned IOPS) προκειμένου να επιτευχθεί γρήγορη, συνεπής και προβλέψιμη απόδοση εισόδου / εξόδου (I / O).

Παρακολούθηση

Το Amazon RDS στέλνει μετρήσεις στο CloudWatch κάθε λεπτό για κάθε περίπτωση βάσης δεδομένων που είναι ενεργή χωρίς πρόσθετη χρέωση.

Ασφάλεια

Το Amazon RDS σάς επιτρέπει να εξασφαλίζετε τα δεδομένα σας με τη βοήθεια της κρυπτογράφησης δεδομένων. Μπορείτε να το κρυπτογραφήσετε με τα κλειδιά και να το διαχειρίζεστε από την υπηρεσία διαχείρισης κλειδιών AWS. Μπορείτε να διαβάσετε περισσότερα σχετικά με την κρυπτογράφηση των πόρων RDS του Amazon.

Λογισμικό Patching

Το Amazon RDS διασφαλίζει ότι η βάση δεδομένων σας παραμένει ενημερωμένη με τα πιο πρόσφατα ενημερωτικά δελτία.

Ας συζητήσουμε για ορισμένα από τα μειονεκτήματα της χρήσης του AWS RDS.

  • Δεν υπάρχει πρόσβαση στην εμφάνιση RDS. Ναι, το ακούσατε σωστά, καθώς το RDS είναι μια διαχειριζόμενη βάση δεδομένων. δεν μπορείτε να αποκτήσετε πρόσβαση στο λειτουργικό σύστημα διακομιστή.
  • Ο χρόνος διακομιστή έχει καθοριστεί σε UTC.

Δεν υπάρχουν πολύ περιορισμοί με τη σωστή χρήση του Amazon RDS; Ας συγκρίνουμε την τιμολόγηση, λαμβάνοντας υπόψη παρόμοιες διαμορφώσεις περιπτώσεων.

# EC2

Τύπος περιγραφής: m4.large | 2 vCPUs 8 GB Μνήμη | Μέτρια I / O

Αποθήκευση: SSD γενικής χρήσης EBS | 100 GB @ $ 0.1 ανά GB ανά μήνα

Συνολικό κόστος (κατά προσέγγιση): $ 85 το μήνα

# RDS

Τύπος περιγραφής: db.m4.large | 2 vCPUs 8 GB Μνήμη | Μέτρια I / O

Αποθήκευση: 100 GB

Συνολικό κόστος (κατά προσέγγιση): $ 155 το μήνα

Το RDS ακούγεται σαφώς ακριβά, αλλά έχει τα δικά του πλεονεκτήματα. Δεν υπάρχει σωστή ή λανθασμένη απόφαση κατά την επιλογή RDS ή EC2 για βάση δεδομένων. Και όπως τα περισσότερα από τα πράγματα, είναι μια σύγκριση κόστους / προσπάθειας / πολυπλοκότητας.

Αν ψάχνετε για μια απλή λύση χαμηλής συντήρησης, το RDS θα πρέπει να είναι μια καλύτερη επιλογή. Όταν πρόκειται για υλοποιήσεις παραγωγής, η ανάπτυξη πολλαπλών λειτουργιών AZ που παρέχεται από το RDS αποδεικνύεται πολύ χρήσιμη, σίγουρα μειώνοντας τις προσπάθειες / κόστος για τη βάση δεδομένων / μηχανικός της devops. Εάν πρέπει να κάνετε περίπλοκες ρυθμίσεις όπως βελτιστοποίηση του αρχείου ρυθμίσεων postgres, μετακινήστε το Write-Ahead-Log, εκτελέστε το pgbouncer κ.λπ., έχοντας τη βάση δεδομένων σας στο EC2 είναι η μόνη επιλογή.

Ευχαριστώ που διαβάσατε αυτό το άρθρο. Παρακαλούμε συμβουλευτείτε αυτό το άρθρο αν το θεωρήσατε χρήσιμο.