27
PostgreSQL Şahap Aşçı @sahapasci cooksoft.com.tr postgresql.org.tr

PostgreSQL Day - Türk Telekom

Embed Size (px)

Citation preview

Page 1: PostgreSQL Day - Türk Telekom

PostgreSQLŞahap Aşçı

@sahapascicooksoft.com.trpostgresql.org.tr

Page 2: PostgreSQL Day - Türk Telekom

Content

• PostgreSQL Nedir?• Tarihçe• Dünyada, Türkiye’de PostgreSQL• PostgreSQL’i Öne Çıkaran Özellikler• Teknik Detaylar• Mimari• Limitler• Teknik Özellikler

• DB Karşılaştırmaları

Page 3: PostgreSQL Day - Türk Telekom

PostgreSQL Nedir?

• PostgreSQL is a powerful, open source object-relational database system.

Page 4: PostgreSQL Day - Türk Telekom

Tarihçe

• 1977, Berkeley• 1977 – 1985, Berkeley, Ingres• 1985, Relational Technologies, Ingres• 1986 – 1994, Berkeley, Postgres• 1994, Illustra – Informix• 1994, Postgres95, +SQL• 1996... – PostgreSQL

Page 5: PostgreSQL Day - Türk Telekom

Tarihçe

Page 6: PostgreSQL Day - Türk Telekom

Dünyada PostgreSQL

Page 7: PostgreSQL Day - Türk Telekom

Türkiye’de PostgreSQL (Alfabetik)• Ankara Patent Bürosu, yeni marka projesinde PostgreSQL kullanıyor.• Markafoni, tüm altyapısında PostgreSQL kullanıyor.• Mikrobeta, birçok üniversitede kullanılan kütüphane yazılımında

PostgreSQL kullanıyor.• ODTÜ, Bilgi İşlem'in geliştirdiği bazı uygulamalarda PostgreSQL

kullanıyor.• RTÜK, SKAAS projesinde PostgreSQL kullanıyor.

Page 8: PostgreSQL Day - Türk Telekom

Türkiye’de PostgreSQL (Alfabetik)• Sebit, Vitamin ürününün altyapısında PostgreSQL kullanıyor• Tübitak bazı iç uygulamalarında PostgreSQL kullanıyor. (DergiPark)• Türksat, Kablo TV Otomasyonunda, turkiye.gov.tr ve çeşitli e-devlet

uygulamalarında PostgreSQL kullanıyor.• Yurdum, SitenizOlsun.com – Yaklaşık 20bin web sitesi PostgreSQL

kullanıyor.• İnönü Üniversitesi, hastane otomasyonunda PostgreSQL kullanıyor.

Page 9: PostgreSQL Day - Türk Telekom

TELCO?

• Cisco• Juniper Networks (documentation)• NTT Data• Optus• Rambler Internet Holdings• Skype• Telstra

Page 10: PostgreSQL Day - Türk Telekom

DB-Engines Ranking

Page 11: PostgreSQL Day - Türk Telekom

Job Trends

Page 12: PostgreSQL Day - Türk Telekom

PostgreSQL’i Öne Çıkaran Özellikler

• Dünyanın en gelişmiş açık kaynak kodlu veritabanı• Ücretsiz Enterprise Level RDBMS• MySQL ve MongoDB gibi diğer open source veritabanlarına göre daha

iyi performans• Dünyadaki en iyi Geo-aware veritabanı• Kararlılık• Serializable Snapshot Isolation

Page 13: PostgreSQL Day - Türk Telekom

Gelecekte PostgreSQL?

Page 14: PostgreSQL Day - Türk Telekom

Destek?

• Hızlı “community” desteği• Mail listeleri http://www.postgresql.org/list/• [email protected]• http://dba.stackexchange.com/questions/tagged/postgresql

• Referans dokümanlar• http://postgresql.org• http://www.postgresql.org/docs/9.4/static/

• Diğer Web Siteleri• http://www.postgresqltutorial.com/

• Kurumsal Destek – CookSoft

Page 15: PostgreSQL Day - Türk Telekom

PostgreSQL Nedir? – Teknik Detaylar

• 15 yıldan fazla bir süredir aktif olarak geliştiriliyor.• Açık Kaynak Kod• 6 Çekirdek takım üyesi• 40’tan fazla geliştirici• Yüzlerce katkı sağlayıcı• Türkiye Grubu (PGD)

• Çoklu platform Desteği• Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) ve Windows

• Lisans; BSD, MIT = Ücretsiz…

Page 16: PostgreSQL Day - Türk Telekom

PostgreSQL Nedir? – Teknik Detaylar

• Gerçekten Kararlı bir veritabanı• Genişletilebilir• GUI Araçlar• vs.. (Feature Matrix)

Page 17: PostgreSQL Day - Türk Telekom

Mimari

Page 18: PostgreSQL Day - Türk Telekom

Limitler

Limit ValueMaximum Database Size UnlimitedMaximum Table Size 32 TBMaximum Row Size 1.6 TBMaximum Field Size 1 GBMaximum Rows per Table UnlimitedMaximum Columns per Table 250 - 1600 depending on column typesMaximum Indexes per Table Unlimited

Page 19: PostgreSQL Day - Türk Telekom

Features● Multiple DB on Single Instance● Transaction & Versioning● Large Objects● Schema, Tablespace, Partitioning,Triggers, Rules, Inheritance● Database & Column Level Collation● Replication (Warm, Hot Standby, Streaming Replication)● Point-in-Time Recovery● Kolon bazlı izinler, Kolon bazlı triggers

Page 20: PostgreSQL Day - Türk Telekom

Features● Materialized Views● Array, Inet, Cidr, Polygon, Money vb. Gelişmiş Kolon Tipleri● Full Text Search● GIS Desteği (PostGIS)● JSON, JSONB, HSTORE, XML● PHP, C, JAVA, PERL, PYTHON … Birçok Dilde Fonksiyon Desteği● PHP, PYTHON .NET, JAVA ve Diğer Tüm Dillerden Erişim

Page 21: PostgreSQL Day - Türk Telekom

Veri Tipleri

• 43 adet veri tipi (9.4), neden?• Doğrulama

• ip : VARCHAR ;• INSERT INTO my_table (ip) VALUES ('10.0.0.299'); -- returns success (?!)

• ip : INET• INSERT INTO my_table (ip) VALUES ('10.0.0.299'); -- returns error

• Başarım• Veri tipine göre index operator classlar => performans

• Kullanılabilirlik• SELECT * FROM my_table WHERE ip >>= '10.0.0.15';• ip

---------------------10.0.0.1510.0.0.28(2 rows)

Page 22: PostgreSQL Day - Türk Telekom

PostgreSQL vs MongoDb

Page 23: PostgreSQL Day - Türk Telekom

PostgreSQL vs MySQL

Page 24: PostgreSQL Day - Türk Telekom

PostgreSQL vs Oracle vs MSSQL

• https://www.youtube.com/watch?v=-tUdTxHOB90

Page 25: PostgreSQL Day - Türk Telekom

Workshop • Installation• Configuration Basics• Creating and Managing Databases• Command Line Interfaces (psql)• GUI Tools (pgAdmin / SQLManager Lite)• Backup and Restore & Point-in Time Recovery• High Availability and Replication• Extension Module

Page 26: PostgreSQL Day - Türk Telekom

Teşekkürler@sahapasci

cooksoft.com.trpostgresql.org.tr

Page 27: PostgreSQL Day - Türk Telekom

Referanslar

• http://www.postgresql.org/about/history/• http://www.postgresql.org/about/users/• http://momjian.us/main/writings/pgsql/KeynotePPEU_v9.pdf• http://db-engines.com/en/ranking• http://www.indeed.com/jobtrends?q=Postgresql%2C+oracle%2C+mys

ql%2C+sql+server&l=&relative=1