chancen und wachstumsfelder für postgresql · chancen und wachstumsfelder für postgresql by...
TRANSCRIPT
![Page 1: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/1.jpg)
Chancen und Wachstumsfelder für
PostgreSQL by
Deutschsprachige PostgreSQL Konferenz 2013Oberhausen
Harald Armin Massa
![Page 2: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/2.jpg)
Datenbanken seit 1984
Position – Value Datenbank aufC64 / VC1541
Harald Armin Massa2ndQuadrant
![Page 3: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/3.jpg)
ca. 1995...
![Page 4: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/4.jpg)
![Page 5: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/5.jpg)
member of Python Software Foundation
![Page 6: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/6.jpg)
ich hätte mal eine ketzerische Frage an den PostGreSQL-Experten, wenn es recht ist? Ich würde gern gelegentlich eine der zahllosen Funktionen von PostGIS benutzen, ohne dafür erst eine leere Datenbank anlegen zu müssen. Ist das zu viel verlangt? …
![Page 7: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/7.jpg)
... Ausführung von Testscripts ...
...will ich eigentlich auf gar keinen Fall vorher erst einen DB-Benutzer oder irgendwelche Rechte anlegen müssen...
![Page 8: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/8.jpg)
from pymongo import MongoClientclient = MongoClient()
post = {"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"], }
posts = db.postspost_id = posts.insert(post)
![Page 9: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/9.jpg)
Wachstum – warum?
Quelle: http://simplydv.biz/
Quelle: emsps.com
![Page 10: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/10.jpg)
wo wachsen?
Quelle http://blog.internship-in-southafrica.de/tag/elefanten/
Quelle: elefanten-news.de
![Page 11: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/11.jpg)
„große Nutzer“
„kleine Nutzer“Einsteiger, neue Projekte
![Page 12: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/12.jpg)
Große Nutzer, viele Daten
● Unterbrechung richtig teuer● MinMax Indizes● Logical Changeset Replication● Barman (Backup & Disaster Revocery)● RLS
![Page 13: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/13.jpg)
Row Level Security
darf alles fürKunden Müller
darf alles fürKunden Huber
darf Strasse, PLZ, Ort ändern
darf nicht ändern Vorname, Name
Column Level Security Row Level Security
![Page 14: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/14.jpg)
RLS von Hand (Beispiele)1) per Viewcreate table kunden(id_kunde, namentext, adresstext);create table kunden_mueller (id_kunde);
create view kunden_je_mitarbeiter as select k.namentext, k.adresstext from kunden k join kunden_mueller km on (k.id_kunde=km.id_kunde);
2) Zugriff auf Daten nur über Stored Procedures
3) Zugriff nur über Anwendung
![Page 15: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/15.jpg)
Szenario
●Webdesignerin, macht hübsche Seite
●beginnt, HTML zu schreiben
●findet PHP „Serienbriefe für Website“
●Und speichert dann <irgendwas> in <irgendeiner> Datenbank
![Page 16: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/16.jpg)
connect zu PostgreSQL
➔Konfigurationsdatei an unterschiedlichsten Stellen, je nach Paketierung➔Defaults der Distrubition?➔oft "kein listen an TCP-Ports"➔Einstellung in pg_hba.conf: Kenntnisse in CIDR➔Networking-kenntnisse➔Authentifiziereung jenseits von Passwort?
![Page 17: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/17.jpg)
Ideen
Beginner-Modus?
VirtualMachine Image mit PostgreSQL, Python, Ruby, PHP...?
![Page 18: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/18.jpg)
Zugriff ohne Nutzer ?
Applikations-User
session-pooling pg_bouncer – Mirror der Nutzertabelle
![Page 19: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/19.jpg)
from pymongo import MongoClientclient = MongoClient()
post = {"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"], }
posts = db.postsposts.find_one({"author": "Mike"})
![Page 20: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/20.jpg)
Verbindung . Datenbanktreiber
MongoDB / Python:
Query in der MongoDB-Console war gültiger Python-Codefür den pyMongo-Treiber
![Page 21: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/21.jpg)
Verbindung. Datenbanktreiber
MongoDB
Herrschaft über Datenbanktreiber
PostgreSQLODBC, JDBC – Seitenprojekte
psycopg2
Datenbankunabhängige Programmierung?ORM
![Page 22: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/22.jpg)
Datenbankschema
Quele: Wikipedia
![Page 23: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/23.jpg)
Datenbankschema
Einzig PostgreSQL kann
BEGIN;DROP TABLE ALLERWICHTIGSTEDATEN;ROLLBACK;
(transactional DDL)
![Page 24: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/24.jpg)
Datenbankschema
![Page 25: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/25.jpg)
Datenbankschema
alter table person drop column myspace;
(gab es bei 7.2 noch nicht!)
![Page 26: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/26.jpg)
Datenbankschema
alter table person add column facebook(text);
![Page 27: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/27.jpg)
Datenbankschema
Deployment?Development → Test → Staging → Production?
Änderungen als SQL Statements in DateienDateien in RCS
![Page 28: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/28.jpg)
Datenbankschema - jsonCREATE TABLE tuwienosql( id_t serial NOT NULL, dokument json, CONSTRAINT tuwienosql_pkey PRIMARY KEY (id_t));
INSERT INTO tuwienosql( dokument) VALUES ('{"tiername":"Goofy", "ohren":"lang"}');
[…]
CREATE FUNCTION xtraktname (mydokument json) returns text [...];CREATE INDEX tuwieno_idx ON tuwienosql(xtraktname (dokument));
[…]
ALTER TABLE tuwienosql ADD COLUMN tiername text;
![Page 29: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/29.jpg)
Ideen
Versions-Handling von Schemata in der Datenbank (Diff, Revision, Set to Revision)
multiple Schema-Varianten parallel:
connect to database personal with version <versionskennung>
![Page 30: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/30.jpg)
Wachstumsfeld
![Page 31: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/31.jpg)
quelle: theverge.com
![Page 32: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/32.jpg)
Erst wenn alle Software frei ist,
alle Marketing Abteilungen GNU/Linux statt Linux sagen
und EMACs der einzige Editor ist
wird Richard Stallmann den Cheatcode für den Weltfrieden rausrücken.
![Page 33: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/33.jpg)
weg dorthin?
technische Herausforderungen Windows
soziale Herausforderungen?
2nd Class ?
![Page 34: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/34.jpg)
PostgreSQL on Windows
Python-Windows-Installercode
~600 Zeilen Python für einen Windows-Installer
![Page 35: Chancen und Wachstumsfelder für PostgreSQL · Chancen und Wachstumsfelder für PostgreSQL by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa](https://reader036.vdocuments.site/reader036/viewer/2022081600/60491ead1f7b0079e02289f3/html5/thumbnails/35.jpg)
Zeit für Fragenund Anregungen
Harald Armin Massa2ndQuadrant