Upload
sahap-asci
View
249
Download
2
Embed Size (px)
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/• [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
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