Αφού είδαμε αντίστοιχες πρακτικές στον SQL Server, ήρθε η ώρα να περάσουμε στη PostgreSQL και να δούμε πώς μπορούμε να κάνουμε partitioned έναν υφιστάμενο πίνακα που είναι ήδη γεμάτος δεδομένα, πώς ελέγχουμε τα υπάρχοντα partitions, πώς αυτοματοποιούμε τη δημιουργία… Διαβάστε περισσότερα
Πώς βρίσκουμε τα Missing Indexes σε PostgreSQL
Όσοι προερχόμαστε από τον κόσμο του SQL Server, έχουμε συνηθίσει τα Missing Index DMV (sys.dm_db_missing_index_details, sys.dm_db_missing_index_group_stats), τα οποία μας δίνουν έτοιμο το CREATE INDEX command μαζί με το Avg User Impact και το Equality/Inequality/Include columns. Στην PostgreSQL, η default… Διαβάστε περισσότερα
Πώς κάνουμε Performance Testing στη PostgreSQL με το pgbench
Το pgbench είναι ένα από τα πιο χρήσιμα εργαλεία της PostgreSQL. Χρησιμοποιείται για benchmarking και stress testing της βάσης δεδομένων, προσομοιώνοντας πολλαπλά ταυτόχρονα transactions (TPS). Σε αυτό το άρθρο θα δούμε πώς μπορούμε να το στήσουμε, να τρέξουμε τα… Διαβάστε περισσότερα
Πώς βλέπουμε πόσο γίνονται χρήση τα Indexes στη PostgreSQL
Σε κάθε βάση δεδομένων, τα indexes είναι απαραίτητα για την ταχύτητα των SELECT queries. Ωστόσο, κάθε index που δημιουργούμε έχει ένα κόστος, καταλαμβάνει χώρο στο δίσκο, επιβαρύνει τη μνήμη και καθυστερεί τα INSERT, UPDATE και DELETE operations, αφού η… Διαβάστε περισσότερα
Πώς λειτουργεί η μνήμη στη PostgreSQL και ποιες παραμέτρους ρυθμίζουμε
Σε προηγούμενο άρθρο έχουμε αναλύσει την αρχιτεκτονική της Oracle Database (SGA/PGA). Αυτή την φορά θα δούμε την αρχιτεκτονική μνήμης της PostgreSQL και τις βασικές παραμέτρους για την βέλτιστη απόδοση. Το μοντέλο μνήμη της PostgreSQL διαφέρει σημαντικά από αυτό του… Διαβάστε περισσότερα
Τι είναι τα WAL στη PostgreSQL και πώς τα ρυθμίζουμε
Σε αυτό το άρθρο θα δούμε τον μηχανισμό που συνδέει τη μνήμη με τον δίσκο και εξασφαλίζει ότι δεν θα χάσουμε δεδομένα αν πέσει η βάση δεδομένων (π.χ. απο ρεύμα): τα Write-Ahead Logs (WAL) και τα Checkpoints. Όταν εκτελούμε… Διαβάστε περισσότερα
Τι είναι το MVCC και το Vacuum στη βάση δεδομένων της PostgreSQL και πώς αποφεύγουμε το Bloat
Σε αυτό το άρθρο θα δούμε πώς η PostgreSQL διαχειρίζεται τη ταυτόχρονη πρόσβαση μέσω του MVCC, τι είναι το Bloat, τι είναι το Data Churn, τι είναι το Vacuum και πώς το ρυθμίζουμε σωστά με το Autovacuum. Τι είναι… Διαβάστε περισσότερα
Πώς απελευθερώνουμε δεσμευμένο χώρο από datafiles / tempfiles μίας βάσης δεδομένων της Oracle
Σε αυτό το άρθρο θα δούμε ένα script με το οποίο μπορούμε έυκολα να αποδεσμεύσουμε χώρο από τα datafiles και tempfiles όπου αυτός δεν χρησιμοποιείται σε βάσεις δεδομένων της Oracle. Πιο συγκεκριμένα θα μειώσουμε το μέγεθος των datafiles ώστε… Διαβάστε περισσότερα
Πώς συλλέγουμε to actual execution plan από τα queries με χρήση Extended Event και πως διαβάζουμε τα δεδομένα του
Σε παλαιότερο άρθρο είχαμε δει πως ενεργοποιούμε το Query Store για να παρακολουθήσουμε την απόδοση των queries και το πλάνο που έτρεξαν. Όμως όπως είχαμε πει το Query Store έχει αρκετό performance impact οπότε μπορεί να θέλουμε κάποιο lightweight profiling.Σε αυτό… Διαβάστε περισσότερα
