Εισαγωγή στην PostgreSQL - Χρήση σε επιχειρησιακό περιβάλλον. Προηγμένες εφαρμογές της βάσης δεδομένων PostgreSQL Δημήτρης Αγγελάκος

Σχετικά έγγραφα
PostgreSQL. Oracle. Εαρινό Εξάμηνο

ARTius με PostgreSQL

Geographic Information System(GIS)

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση της MySQL. Γιώργος Πυρουνάκης -

Α.Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Ιατρική Πληροφορική. Δρ. Π. ΑσβεστΑΣ ΤμΗμα ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ

Πύλη Φαρμακευτικών Υπηρεσιών Υπουργείου Υγείας Κύπρου. System Architecture Overview

Lecture 3: Introduction III

Πρόγραμμα Σεμιναρίων Σεπτεμβρίου - Δεκεμβρίου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017

Πρόγραμμα Σεμιναρίων Φεβρουαρίου - Ιουλίου

Χρήση της PostgreSQL σε Συστήματα Διοδίων στην Ελλάδα. Μπούζου Ιωάννα 26/06/2013

Πρόγραμμα Σεμιναρίων Φεβρουαρίου - Ιουλίου

Βάσεις Δεδομένων

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Αγροτική Ανάπτυξη Περιβάλλον

Πρόγραμμα Σεμιναρίων Σεπτεμβρίου Δεκεμβρίου

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Πρόγραμμα Σεμιναρίων Σεπτεμβρίου - Δεκεμβρίου

IT & Networking DEVELOPING Essential Python 3. Κωδικός Σεμιναρίου / Code

ΗΛΕΚΤΡΟΝΙΚΟ ΚΑΤΑΣΤΗΜΑ

Searching and Downloading OpenStreetMap Data

Σχεδιασμός Βάσεων Δεδομένων

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

Αποτελεί ισχυρό εργαλείο, µε υψηλή απόδοση & αποτελεσµατικότητα.

10 η Διάλεξη Python Βάσεις δεδομένων στη python

EPL 660: Lab 4 Introduction to Hadoop

1.1 Να προσφερθεί ένα ειδικό σύστημα backup to disk για την τήρηση του συνόλου των αντιγράφων ασφαλείας. 1.2 Αριθμός προσφερόμενων μονάδων.

Γεω-χωρικές υπηρεσίες και τεχνολογίες WEB. Βασίλειος Βεσκούκης Μηχανικός ΗΥ, Επ.Καθ. ΕΜΠ

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

Powered by Web Serve

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

Ολοκληρωμένο, Σταθερό, Γρήγορο, Επεκτάσιμο

Ανοικτά Συστήματα Γεωγραφικών Πληροφοριών

Application... 4 Java Development Kit... 4 Android SDK... 5 Android Studio... 6 Genymotion... 8 ια ο Web Panel... 10

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής

Απαντήσεις σε ερωτήσεις

Διάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ. Διδάσκων: Παναγιώτης Ανδρέου

Technical FAQ. Data Encryption: 128bit έως 256Bit με επιλογή πρωτοκόλλου (AES, Triple DES, and TwoFish). Traffic Encryption: 1024bit RCA

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Βάσεις Δεδομένων Ι Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Lecture 19: Internal DB Programming II

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών

Λευτέρης Κουμάκης ΠΟΛΥΜΕΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΣΤΗΝ ΥΓΕΙΑ

Τεχνολογίες ΒΔ για κινητό και διάχυτο υπολογισμό

Αναπτύσσοντας developer tools στην Αpple. Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Συγκριτική μελέτη σύγχρονων τεχνολογιών ανάπτυξης διαδικτυακών εφαρμογών» Όνομα Σπουδαστή Λυμπούδη Φωτεινή

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος

Εισαγωγή στην PostgreSQL Spatial 8.1

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Πλάνο υλοποίησης Virtual υποδομής για παροχή VPS (virtual private servers)

Οδηγίες Χρήσης της MySQL

Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

Μηχανή αναζήτησης βασισμένη σε AJAX και Soundex. Πτυχιακή Εργασία

Μάθημα 2 ο : Υποδομή Πληροφοριακών Συστημάτων Διοίκησης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε

Ηλεκτρονικός Ιατρικός Φάκελος: Νέες Τάσεις, Κατανεµηµένες Αρχιτεκτονικές και Κινητές

ΠΡΟΣ: ΠΡΟΣΚΛΗΣΗ ΕΚΔΗΛΩΣΗΣ ΕΝΔΙΑΦΕΡΟΝΤΟΣ

«Εισαγωγή στις ΒΔ - SQL»

databases linux - terminal (linux / windows terminal)

Ηλεκτρονική Διακυβέρνηση

Server Virtualization με εργαλεία ΕΛ/ΛΑΚ. ΛΑΚ Δήμος Ρεθύμνης.

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

Η HTML χρησιμοποιεί εντολές που ονομάζονται HTML tags δίνοντας εντολές στους Web browsers για το πώς να εμφανίζουν την κάθε ιστοσελίδα.

Εφαρµογές Ανοιχτού Κώδικα στη Βιβλιοθήκη & Κέντρο Πληροφόρησης του Πανεπιστηµίου Μακεδονίας

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων

Εισαγωγή στη PostgreSQL - PostGIS

Περιεχόμενα. Εισαγωγή Αρχιτεκτονική - Σχεδιασμός - Υλοποίηση Προδιαγραφές Χαρακτηριστικά Templates Επικοινωνία

Ειζαγωγή ζηο MATLAB (MATLAB Fundamentals)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

Εφαρµογές WebGIS Open Source

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java

Python και Android. Νίκος Νοδαράκης. 17 Μαΐου 2010

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ

Κωδ. Αρ. Θέσης: 1 Πτυχιούχος Μηχανικός Ηλεκτρονικός Τεχνολογικής Εκπαίδευσης

A browser-based digital signing solution over the web

Μεταφορές - Ναυτιλία

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

ΕΛΛΑΚ και Τοπική Αυτοδιοίκηση

Ρυθμίσεις εγκατάστασης ονόματος χώρου σε πίνακα ελέγχου plesk

Ολοκληρωμένο σύστημα διαχείρισης παρουσιών στο Τ.Ε.Ι. Σερρών

Τεχνολογική Υποδομή Πληροφοριακών Συστημάτων

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Βάσεις Δεδομένων (Databases)

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Ολοκληρωμένα Αστικά Δεδομένα

Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων

Ανάκτηση Πληροφορίας (Information Retrieval IR) ιδακτικό βοήθηµα 2. Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων

1 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Ανάκτηση Πληροφορίας (Information Retrieval IR)

Transcript:

Χρήση σε επιχειρησιακό περιβάλλον Προηγμένες εφαρμογές της βάσης δεδομένων PostgreSQL Δημήτρης Αγγελάκος @vyruss / vyruss@hellug.gr Χρήση σε επιχειρησιακό περιβάλλον 1/26

Χρήση σε επιχειρησιακό περιβάλλον 1) Εισαγωγή στην PostgreSQL 2) Δυνατότητες 3) Πρόσθετα 4) Πλεονεκτήματα 5) Υποστήριξη 6) Λήψη Χρήση σε επιχειρησιακό περιβάλλον 2/26

Εισαγωγή στην PostgreSQL (i) Η πιο εξελιγμένη open source database Συμβατότητα ACID (Atomicity, Consistency, Isolation, Durability) MVCC (Multi-Version Concurrency Control) Standards Compliance (SQL:2011) Άδεια Χρήσης PostgreSQL (BSD-like) Χρήση σε επιχειρησιακό περιβάλλον 3/26

Εισαγωγή στην PostgreSQL (ii) Η πιο εξελιγμένη open source database Procedural languages User-defined data types & objects Προηγμένο indexing, GiST, GIN Database events & Asynchronous Notifications Replication, Continuous Backup Χρήση σε επιχειρησιακό περιβάλλον 4/26

Χρήση σε επιχειρησιακό περιβάλλον 1) Εισαγωγή στην PostgreSQL 2) Δυνατότητες 3) Πρόσθετα 4) Πλεονεκτήματα 5) Υποστήριξη 6) Λήψη Χρήση σε επιχειρησιακό περιβάλλον 5/26

Δυνατότητες - Συμβατότητα Hardware Οποιαδήποτε αρχιτεκτονική συστήματος O/S Linux UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) Windows Software Χρήση σε επιχειρησιακό περιβάλλον 6/26

Δυνατότητες Procedural Languages PL/pgSQL Native programming interfaces C/C++, Java, Python, Ruby Perl, Tcl, sh Javascript (PLV8)! R, Scheme, Lua Client interfaces C (libpq, ECPG) JDBC, ODBC, DBI, Python, C++,.NET etc. Χρήση σε επιχειρησιακό περιβάλλον 7/26

Δυνατότητες User defined types, objects CREATE FUNCTION my_box_in_function(cstring) RETURNS box AS... ; CREATE FUNCTION my_box_out_function(box) RETURNS cstring AS... ; CREATE TYPE box ( INTERNALLENGTH = 16, INPUT = my_box_in_function, OUTPUT = my_box_out_function ); CREATE OPERATOR === ( LEFTARG = box, RIGHTARG = box, PROCEDURE = area_equal_procedure, COMMUTATOR = ===, NEGATOR =!==, RESTRICT = area_restriction_procedure, JOIN = area_join_procedure, HASHES, MERGES ); Χρήση σε επιχειρησιακό περιβάλλον 8/26

Δυνατότητες Προηγμένο Indexing B-tree index Hash index GiST - Generalized Search Tree (Balanced) Template για υλοποίηση B-trees, R-trees & άλλων Επιτρέπει υλοποίηση custom data types/access methods από ειδικούς σε κάποιον τομέα GIN Generalized Inverted Index Για composite values και αναζήτηση μέσα σε αυτά π.χ. Αναζήτηση για λέξεις σε έγγραφα Regular Expression Indexing! Χρήση σε επιχειρησιακό περιβάλλον 9/26

Δυνατότητες Backup & Replication (i) Write-Ahead Logging (WAL) Continuous Backup (Online Backup) Point-in-Time Recovery (PITR) File-based Replication Streaming Asynchronous & Synchronous Replication Warm Standby & Hot Standby Χρήση σε επιχειρησιακό περιβάλλον 10/26

Δυνατότητες Backup & Replication (ii) Άλλες λύσεις: Slony-I Trigger-based, Eπιλεκτικό (Επίπεδο πίνακα), Συμβατό (με άλλες εκδόσεις) pgpool-ii (Statement-based) Cluster Middleware με Connection Pooling & Queuing, Load Balancing & Parallel Queries, Query Cache, Replication, High Availability & Failover Multimaster: Postgres-XC (Native Cluster - Read & Write Scalable!) Bucardo (Async, Trigger-based, Load Balancing) Χρήση σε επιχειρησιακό περιβάλλον 11/26

Χρήση σε επιχειρησιακό περιβάλλον 1) Εισαγωγή στην PostgreSQL 2) Δυνατότητες 3) Πρόσθετα 4) Πλεονεκτήματα 5) Υποστήριξη 6) Λήψη Χρήση σε επιχειρησιακό περιβάλλον 12/26

Πρόσθετα DBLINK Χρειάζομαι όντως replication; Ξέρω καλύτερα τη βάση μου (επιλεκτικό, υλοποίηση business logic) Non-Pg: DBI Link PostGIS Εξαιρετικά προχωρημένη λειτουργικότητα και αλγόριθμοι Εργαλεία OSGeo, GRASS, Mapserver, OpenLayers, OpenStreetMap, QGIS κ.α. Υποστηρίζει 3D τιμές, αντικείμενα και συναρτήσεις! OpenFTS Full-text search Χρήση σε επιχειρησιακό περιβάλλον 13/26

Χρήση σε επιχειρησιακό περιβάλλον 1) Εισαγωγή στην PostgreSQL 2) Δυνατότητες 3) Πρόσθετα 4) Πλεονεκτήματα 5) Υποστήριξη 6) Λήψη Χρήση σε επιχειρησιακό περιβάλλον 14/26

Πλεονεκτήματα (i) MVCC (R never blocks W, W never blocks R) Εξαιρετική οnline τεκμηρίωση JSON data type, operators & functions hstore data type (key-value pairs) Transactional DDL Foreign data wrappers Foreign tables Read / Write! DBI Link (perl DBI library: ODBC, JDBC κλπ) Χρήση σε επιχειρησιακό περιβάλλον 15/26

Πλεονεκτήματα (ii) Materialized Views Indexing κ.α. LATERAL Κάνω reference στήλες από το FROM σε subquery! Genetic Query Optimizer (GEQO) NOTIFY/LISTEN Asynchronous Notifications TOAST (The Oversized-Attribute Storage Technique) Χρήση σε επιχειρησιακό περιβάλλον 16/26

Πλεονεκτήματα (iii) Xεχε... >;-) Χρήση σε επιχειρησιακό περιβάλλον 17/26

Πλεονεκτήματα (MySQL) MyISAM (Η γρήγορη ) Δεν έχει MVCC άρα ούτε Transactions Κακό INSERT performance Crashed tables, Crashed DBs, etc. InnoDB (Η καλή ) Δεν έχει σοβαρά indexes Ούτε καλό Query Optimizer Ψευδο-MVCC (Έχουμε, εμμ, μάλλον, περίπου 600 rows) Άλλο ένα από τα θύματα εξαγοράς της Oracle Χρήση σε επιχειρησιακό περιβάλλον 18/26

Πλεονεκτήματα (Oracle - i) TCO (Total Cost of Ownership) PostgreSQL Oracle 16-Core Server License $0 $190.000 Spatial/GIS Server License $0 $70.000 Partitioning $0 $44.000 Annual Maintenance $24.000 $67.000 TCO (1 year) $24.000 $371.000 TCO (5 years) $120.000 $639.000 Χρήση σε επιχειρησιακό περιβάλλον 19/26

Πλεονεκτήματα (Oracle - ii) Δεν έχει λύση Backup Extra! High Availability & Clustering (RAC) Extra! PostGIS >> Oracle Spatial Extra! Πιο απλή στη χρήση, λιγότερο bloat Java application server για web administration interface! psql >> SQL*Plus ακόμα και μέσα σε shell scripts! Κάνε: pg_dump dbname > outfile ; psql dbname < outfile Χρήση σε επιχειρησιακό περιβάλλον 20/26

Πλεονεκτήματα (Oracle - iii) Data Files: add tablespace, add data files, expand data files EXPLAIN ANALYZE - Δεν υπάρχει τρόπος να δεις το πραγματικό execution plan! Πρέπει να τρέχει ως root Σκοτώνει την υποστήριξη για πλατφόρμες (Solaris, Itanium, HP-UX...) H Pg είναι πιο κοντά στα SQL standards Η Pg συνεχίζει να προσθέτει λειτουργίες δωρεάν! Χρήση σε επιχειρησιακό περιβάλλον 21/26

Χρήση σε επιχειρησιακό περιβάλλον 1) Εισαγωγή στην PostgreSQL 2) Δυνατότητες 3) Πρόσθετα 4) Πλεονεκτήματα 5) Υποστήριξη 6) Λήψη Χρήση σε επιχειρησιακό περιβάλλον 22/26

Υποστήριξη Επαγγελματική υποστήριξη από εταιρίες του εξωτερικού EnterpriseDB 2ndQuadrant Cybertec κ.α. Κοινότητα Εκτενέστατη Τεκμηρίωση Online Forums Mailing Lists IRC Χρήση σε επιχειρησιακό περιβάλλον 23/26

Χρήση σε επιχειρησιακό περιβάλλον 1) Εισαγωγή στην PostgreSQL 2) Δυνατότητες 3) Πρόσθετα 4) Πλεονεκτήματα 5) Υποστήριξη 6) Λήψη Χρήση σε επιχειρησιακό περιβάλλον 24/26

Φρέσκια PostgreSQL http://www.postgresql.org/download Binary Packages Linux, BSD, Solaris, Mac OS X, Windows Repositories: Red Hat (RHEL, CentOS, Fedora, SL) Debian / Ubuntu Ελλάδα: http://postgresql.gr/ Χρήση σε επιχειρησιακό περιβάλλον 25/26

Χρήση σε επιχειρησιακό περιβάλλον Σας ευχαριστώ! http://postgresql.gr/ http://hellug.gr/ Χρήση σε επιχειρησιακό περιβάλλον 26/26