postgresql ile maliye bakanlığı yeni muhasebe bilgi...

39
TÜBİTAK 1 PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi Sistemi 28/09/18 İbrahim Edib Kökdemir Yazılım Teknolojileri Araştırma Enstitüsü

Upload: others

Post on 25-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

1

PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi Sistemi

28/09/18

İbrahim Edib Kökdemir Yazılım Teknolojileri Araştırma Enstitüsü

Page 2: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

TÜBİTAK BİLGEM Yazılım Teknolojileri Araştırma Enstitüsü (YTE)

TÜBİTAK BİLGEM Yazılım Teknolojileri Araştırma Enstitüsü

(YTE)Kuruluş 2012

Güvenli Yazılım Geliştirme

Başarılı Proje Yönetimi

Çevik Yazılım Geliştirme

Süreçlerde Yüksek Olgunluk

Kurumsal Mimari Uzmanlığı

Kamuda Tek

Page 3: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

Cesaret / Motivasyon

Teknik Bilgi

PostgreSQL Kullanımı

Arif YıldırımMuhasebat Genel

Müdürlüğü Genel Müdür Yardımcısı

Cemil Sağıroğlu

Yazılım Teknolojileri Araştırma Enstitüsü

Müdürü

Page 4: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAKSunum Taslağı

● Proje Tanımı ● Postgresql Araç setleri● Kronolojik Gelişim● Çıkarılan Dersler

Page 5: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

Page 6: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

6

Sunumun Amacı

● Kronolojik gelişimi göstermek● Postgresql Araçlarını tanıtmak● PG Esnekliğinden bahsetmek● Mimari ve VTY fikirlerini paylaşmak

Page 7: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

Taşınmaz / Taşınır Yön.

İhaleler /Satın Alma

BÜTÇE ÖDENEK YÖNETİMİ

TAAHHÜTLER

HARCAMA VE GELİR YÖNETİMİ

NAKİTYÖNETİMİ

BORÇ VE YARDIM YÖNETİMİ

MALİ RAPORLAR & DEĞERLENDİRME

DENETİM VE DEĞERLENDİRME

BÜTÇE HAZIRLAMAPolitika Geliştirme ve

Gözden Geçirme

İnsan Kaynakları Yönetimi

Bütçe SonuçlarıWeb Portal

KMYS

Kamu Yatırımları

Vergi ve Gümrük

VERİ AMBARI

KAMU MALİ YÖNETİM BİLGİ SİSTEMLERİNİN OLUŞTURULMASINDA DÜNYA BANKASI YAKLAŞIMI

Page 8: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAKGereklilik

Oracle Forms / Exadata

Bakım zor / maliyetli

Yeni mimarilere ihtiyaç

Page 9: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

Page 10: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

Page 11: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

Page 12: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAKYapı

Muhasebe

E-BütçeSGK

MEOP

GÜMKART

KEÖS

EKAP

KAYAE-devlet Kapısı

Kamu İdareleri

Noterler Birliği

Bankalar

MERNIS

Konsolosluk.Net

VEDOP

UYAP

Onlarca entegrasyon

Page 13: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

13

2000 Entegrasyon Testi

>50 Teknik Personel

500 bin Satır Kod

4000 Unit Test

400 Ekran

Günlük 8 milyon request

Rakamlar-1

Anlık 5000 Kullanıcı (peak)

640 milyar TL

2.7 milyon Kişi Maaş

Toplam 27000 Kullanıcı

Günlük 8 milyon Web Request

Günlük 500 bin WS Request

Page 14: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

14

Tuples: 16M Returned

5k transaction

5MB WAL Hızı

Tuples: 140 Updated

Tuples: 550 Inserted

Tuples:2.5M Fetched

Rakamlar-Database

Tuples: 1 Deleted

1.3TB DB Size

15 Bağımsız Schema

Saatlik 50GB log

Page 15: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

Portal CAS

ALACAKVARLIKÖDEMEMALİYEMUHASEBETAHSİLATÖDENEKEMANETDEĞERLİ KAĞITHAZİNE

Operasyon Destek

BI RAPORLAMAEİMZAvb.

SSO

WS

Servis Mimarisi

Page 16: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

16

VMs (Debian)● Mesos-Marathon Manager (Containers)

● Nginx (LB, Service interface)● Eurokea (Service registry, LB, failover)● Apps (Java)

● Redis● Kafka● ELKVTler

4 tane

Fiziksel Mimari

Page 17: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

17

Microservices

Mantıksal Mimari

Ödeme MuhasebeKafka

RedisDiğerleri

DBs

Producer

Consumer

Session

Page 18: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

18

VT – Araç Setleri

Postgres server/servisPgbouncer (Connection Pooler)● VTde connection aç-kapa maliyetli● VTnin önünde, config değişikliği● VTnin önünde, bağlantıları sınırlandırma

Pgbackrest (backup)● Wal archive ile PITR, db restore● Ssh üzerinden çalışır● Hızlı

● Workers● Pools

● Sıkıştırır● Replikasyonu besler● Okunabilir, temiz backup/restore

Page 19: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

19

Powa (performans izleme)● Dalibo● Extension● VT istatistikleri analiz● Web arayüzü● Çok detaylı çıktılar üretir.

zabbix (sistem)● key-value● Enterprise level● discovery, history, agent based, alerting, autorecovery● Web arayüzü

Mamonsu(VT izleme)● postgrespro ürünü● Postgres istatistikleri (200den fazla)● Python● Özelleştirme kolay

VT – Araç Setleri

Page 20: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

20

Graylog/nxlog (log analiz)● Çalıştırmak kolay● Her türlü log analiz● Web arayüzü ● Alert, forward, analitik

Logical Replication (Veri kopyası)● Tekil VT, Tablo, Şema● Farklı yerden gelen verileri tek yere toplama,● Tek yerdeki verileri farklı yerlere gönderme● Veri filtreleme

Fiziksel Replikasyon● Archive_command● Replication slot

VT – Araç Setleri

Page 21: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

21

postgres_fdw

Ltree (Muhasebe ağaç sistemi için)05.3.1.11 Bilimsel Araştırma Projelerinin Desteklenmesine İlişkin GiderlerJson operatörlerine benzer syntax

Ora2pgOracle’dan postgresql’e toplu aktarma

Pentaho (ETL)Full stack BI

MetabaseBasit BI

LiqubaseVT yapı sürümleme

VT – Araç Setleri

Page 22: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

22

● pg_activity● Terminal izleme● python● pg_stat_activity

VT – Araç Setleri

Page 23: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

23

● Pgcenter● Her türlü db olayı

● indeksler● Tablolar● fonksiyonlar● replication

VT – Araç Setleri

Page 24: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

24

Kronolojik gelişme

Development Test

Pilot

Production

● Genişleyebilir mimari● mikroservis<->şema<->kullanıcı

Page 25: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

25

Pilot1. devre

● Bir kaç kurum● 8 core 32G Vms● windows latin5 to utf-8_tr● 4 VT

Kronolojik gelişme

Page 26: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

26

Canlı-12. devre

● Kurum sayısı arttı● Performans sorunları● fiziksel sunucu (196GB memory, 2socket 12core+HT + SATA SSD

disks)● Read yükü çok fazla. -> yeni fiziksele

Kronolojik gelişme

Page 27: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

27

Canlı-yayılmacı3. devre

● Read yükü arttı.● Pgbouncerlar ayrıldı. ● Fiziksel sunucu master yapıldı. ● Clusterdaki analitik dbden başka cluster yapıldı.● Backrest centosa aldındı.

Kronolojik gelişme

Page 28: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

28

Canlı-yayılmacı-sorunlar4. devre

● Data büyüyor.● Proaktif olmaya çalışıyoruz. ● Yeni fiziksel sunucular.● Master değişikliği

● ERROR: invalid memory alloc request size 576460752438159360

● Corruption testleri● Disk işlemleri

Kronolojik gelişme

Page 29: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

29

Canlı-yayılmacı-güzel günler5. devre

● Kritik veri bölündü.● Yeni fiziksel sunucular. (4 socket, 512GB,

4TB nvme disk)● PgLogical ile veri paylaşımı

Kronolojik gelişme

Page 30: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

30

Canlı-OVP6. devre

● Geliştirme devam● Partitioning

● Analitik● Geriden gelen replika

Kronolojik gelişme

Page 31: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

31

● Pgbackrest● Çoklu worker çalıştırmak gerek

● Archive-async● Spool-path● process-max

● archive-push/archive-get● Sıkıştırmanın kötü tarafları● Disk yetmiyor

Çıkarılan Dersler

Page 32: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

32

● Postgresql çok esnek● Replica üretmek● Cluster’ı bölmek● Farklı portlardan dönemlik clusterlar çalıştırmak● Kötü

● Xloglar şişebiliyor, devamlı monitör● Temp, diski doldurabilir.● Loglar diski doldurabilir (herşeyi loglamak)● Analitik verisi OLTP için sorun

Çıkarılan Dersler

Page 33: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

33

● Pglogical● Kaprisli

● Çalışmayı bırakıyor● Master değiştirme yok● Superuserla çalışıyor

Çıkarılan Dersler

Page 34: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

34

● Uygulama/Veri taşıma ● Sevimsiz● Pentaho PDI (ETL)

● Transformation yoksa hayır● Çoklu sunucu kullanmak gerek

● copy● Ora2pg

Çıkarılan Dersler

Page 35: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

35

● Zabbix● Karmaşık, Öğrenme eğrisi● Boyut büyük● Key-value (kötü)● False positive● Basit grafikler var.

Çıkarılan Dersler

Page 36: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

36

● Basit sorgular● Cron,Elle çalıştırmak● Replication izleme

● pg_stat_replication● pg_stat_archiver vb.

● Blocklayan sorgular● Idle in transaction● pg_stat_statements● Yeni kullanıcı ve şema tanımları● Herşeyi izle (Pgbackrest sorguları)

Çıkarılan Dersler

Page 37: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

37

● Verinin son noktası● Dikkatli çalış● Switchoverları 2 kişi yap

● Operasyonları dokümante et● Çoklu işlemlerde kontrol listesi kullan.

Çıkarılan Dersler

Page 38: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

38

Sonuç● Dev bir veriyi tutabilir● Esnektir● İzlemek gerekir● Kolay ve güzeldir

Page 39: PostgreSQL ile Maliye Bakanlığı Yeni Muhasebe Bilgi ...postgresql.club/assets/presentations/ibrahim_edib_kokdemir_maliye... · Logical Replication (Veri kopyası) ... Replication

TÜBİTAK

39

Teşekkürler