PostgreSQL Day - Türk Telekom

Preview:

Citation preview

PostgreSQLŞahap Aşçı

@sahapascicooksoft.com.trpostgresql.org.tr

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ı

PostgreSQL Nedir?

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

Tarihçe

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

Tarihçe

Dünyada PostgreSQL

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.

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.

TELCO?

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

DB-Engines Ranking

Job Trends

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

Gelecekte PostgreSQL?

Destek?

• Hızlı “community” desteği• Mail listeleri http://www.postgresql.org/list/• pgsql-tr-genel@postgresql.org• 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

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…

PostgreSQL Nedir? – Teknik Detaylar

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

Mimari

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

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

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

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)

PostgreSQL vs MongoDb

PostgreSQL vs MySQL

PostgreSQL vs Oracle vs MSSQL

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

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

Teşekkürler@sahapasci

cooksoft.com.trpostgresql.org.tr

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

Recommended