• Yapay zekadan makale özeti

    • Bu video, Devrim Gündüz tarafından sunulan teknik bir eğitim içeriğidir. Eğitmen, PostgreSQL Foreign Data Wrapper (FDW) konusunu kapsamlı şekilde ele almaktadır.
    • Video, FDW'nin tarihsel gelişimi, çalışma prensipleri ve kullanım senaryolarını adım adım anlatmaktadır. İçerikte FDW'nin kurulumu, yapılandırılması, farklı veritabanları (Oracle, MariaDB, SQL Server) ve dosya türleri (CSV) arasında bağlantı kurma, veri aktarımı ve performans optimizasyonu konuları ele alınmaktadır. Ayrıca, izleyicilerden gelen sorular yanıtlanarak pratik uygulamalar ve sorun çözümleri sunulmaktadır.
    • Eğitim, FDW'nin veri bölme, yedekleme stratejileri ve yük dengeleme gibi senaryolardaki kullanımını göstermekte, ayrıca farklı FTW türlerinin (Oracle FTW, SQL Server FTW, pg_file_fdw) özellikleri ve karşılaşılabilecek sorunlar hakkında bilgiler içermektedir. Video, bir sonraki oturumun indeksler konusunu ele alacağı duyurusuyla sonlanmaktadır.
    00:03Giriş ve Kanal Bilgileri
    • Post-Cresquar sohbetleri her Salı ve Perşembe günü canlı yayın yapmaktadır.
    • YouTube'da "devrimi gündüz" kanalında teknik videolar yayınlanmaktadır.
    • İzleyiciler Twitter'dan, yorumlarla veya e-posta ile önerilerini iletebilirler.
    01:57Post-Cresquar FTW Kavramı
    • Post-Cresquar FTW kavramı SQL 2003 standardı ile geldi ve SQL MAT (Management of Actional Date) anlamına gelmektedir.
    • Önceki bağlantı yöntemi olan DBK teknolojisi ve memory lig sorunlarıyla karşı karşıyaydı.
    • FTW, sadece veritabanları arasına değil, tüm veri kaynaklarına bağlantı sağlama fikriyle geliştirilmiştir.
    03:10FTW'nin Amacı ve Kullanım Alanları
    • FTW (Foreign Data Wrapper) kavramı, farklı veri kaynaklarını Post-Cresquar'dan doğal yollarla görebilmeyi amaçlamaktadır.
    • Bağlanılabilen veri kaynakları arasında Post-Cresquar sunucusu, metin dosyaları, cor storage, Oracle, SQL Server, MySQL, MariaDB, Twitter, web servisleri, Mailchimp gibi çeşitli sistemler bulunmaktadır.
    • FTW, harici veri kaynağı olarak neyin kullanılacağına bağlı olarak Post-Cresquar tarafından alınamaktadır.
    04:25Post-Cresquar FTW'nin Gelişim Süreci
    • Post-Cresquar FTW 9.10 sürümünde ilk kez geldi ve ilk sürümde çok kötü bir tasarım vardı.
    • İlk sürümde sadece iki Post-Cresquar sunucusu arasında read-only iletişim sağlanabiliyordu.
    • İkinci sürümde read-write özelliği geldi ancak uzak makinedeki tabloyu yerle taşıma nedeniyle ciddi performans sorunları yaşanıyordu.
    • 9 ve 10 sürümlerle paralel sorgular ve remote optimization'lar, 11. sürümle ise daha fazla optimizasyon başlamıştır.
    06:47FTW Türleri ve Kullanımları
    • Post-Cresquar FTW, File FTW (CSV dosyalarını tablo gibi gösterme), Oracle, SQL, Informix, Firebird, SQLite, MongoDB, BigTable, Cassandra, CouchDB, BongoDB, Redis gibi veritabanları FTW'ları bulunmaktadır.
    • Open Street Map, LDAP, Git, IMAP, Facebook, Telegram, S3, Treasure Date, Google Spreshed, Google BigQue, HDFS, Philips Hue gibi çeşitli sistemler için FTW'lar mevcuttur.
    • FTW'lar, harici veri kaynağı olarak neyin kullanılacağına bağlı olarak Post-Cresquar üzerinden veri alınabilir.
    09:33FTW'nin Mantığı
    • Post-Cresquar FTW ile başka bir sunucudaki, instance'daki veya veritabanındaki tablo sanki kendi üzerindeymiş gibi görülebilir.
    • Tablo aslında gerçek anlamda diğer veritabanında olduğundan, kontrol tamamen diğer veritabanında gerçekleşir.
    • Post-Cresquar FTW dışındaki FTW'larda bazı sorunlar bulunmaktadır.
    11:06Foreign Table Kavramı
    • Birinci sunucuda T1 tablosu, ikinci sunucuda T2 tablosu bulunuyor.
    • Foreign Table (FTW) kavramı, verilerin tamamen diğer sunucuda kalmasını sağlarken, sadece tanımını birinci sunucuda gösterir.
    • FTW kullanıldığında veriler asla bir makineden diğerine taşınmaz, her şey bulunduğu makinede kalır.
    12:08FTW Kullanımında Dikkat Edilmesi Gerekenler
    • FTW kullanırken Postgres 9.6 sürümünden önceki sürümleri kullanmamak önemlidir.
    • 9.6 sürümü ile beraber veriler uzaktan işlenmeye başlamıştır, önceki sürümlerde veriler her zaman bir makinede işleniyordu.
    • Sunucular arasında FTW kurulumu yapmak için iki farklı IP'de iki farklı sanal sunucu kurulmuştur.
    14:15Postgres FTW Kurulumu
    • Postgres FTW kurmak için RPM sistemlerde "postgre-sql12-contrib" paketinin kurulması gerekir.
    • Debian/Ubuntu sistemlerinde bu paketin kurulması gerekmez çünkü Postgres kurulumu ile birlikte gelen ana pakette bulunmaktadır.
    • İki makinenin birbirine erişebilmesi için pg_hba.conf dosyasında gerekli izinler verilmiştir.
    17:49FTW Yapılandırması
    • FTW kurulumunda öncelikle "CREATE EXTENSION postgres_fdw" komutu ile extension oluşturulur.
    • "CREATE SERVER" komutu ile sunucu tanımlanır ve "FOREIGN DATA WRAPPER" olarak belirtilir.
    • "CREATE USER MAPPING" komutu ile kullanıcı eşlemesi yapılır, bu özellikle Postgres dışındaki FTW'lerde önemlidir.
    23:12FTW Kullanım Amacı
    • FTW sayesinde bir veritabanındaki tabloyu diğer veritabanından doğrudan sorgulama ve yazma işlemleri yapılabilir.
    • FTW, farklı veritabanları arasındaki veri tipi uyumsuzluklarını giderir.
    • Şema oluşturma, tablo ismi çakışmalarını önlemek için kullanılır.
    24:42Foreign Table Kullanımı
    • Foreign table (for table) kullanarak farklı bir veritabanındaki şemayı ve tabloları içeri aktarabiliriz.
    • Server tanımı yaparak, belirli bir isimle (örneğin ftw) hangi host, port ve veritabanına bağlanacağını belirtiriz.
    • Import fore skima komutu ile belirtilen server'daki şemayı ve tabloları içeri aktarabiliriz.
    26:06Foreign Table Özellikleri
    • Foreign table ile diğer veritabanındaki tablolara sorgu gönderilebilir ve sonuçlar alınabilir.
    • Explain komutu ile sorgunun karşı tarafta çalıştırıldığını görebiliriz.
    • Foreign table üzerinden hem kaynak hem de hedef veritabanından veri eklenebilir, bu sayede iki taraftan birden yazılabilirlik sağlanır.
    28:29Foreign Table ve Veri Kontrolleri
    • Tüm operasyonlar hedef sunucuda yapılır, kaynak tarafta yapılmaz.
    • Foreign table ile oluşturulan tabloların şemaları birebir aynı veya uyumlu olmalıdır.
    • Foreign table'ı drop etmek veri kaybına neden olmaz çünkü veriler karşı tarafta saklanır, burada sadece görüntüsü bulunur.
    38:35PostgreSQL Foreign Table İşlemleri
    • Şema kaldırırken "cascade" kullanmak gerekir, aksi takdirde arkasındaki nesneler de kaldırılır.
    • Tablo tanımlarını kaldırmak için "drop table" komutu kullanılabilir, aralarına nokta virgül konularak birden fazla tablo aynı anda kaldırılabilir.
    • Şema drop edilmeden update edilemez, böyle bir özellik şu anda desteklenmiyor.
    40:19Foreign Table Kullanımı
    • Foreign table oluştururken tablo adı belirtmek gerekir, aksi takdirde hata alınır.
    • Foreign table oluştururken "table name" parametresi kullanılmalıdır.
    • Foreign table ile veri transferi sırasında cursor kullanılarak veri yüzer yüzer alınır, bu performans açısından önemlidir.
    44:11Performans ve Pratik Kullanım
    • Birinci sunucudan yapılan sorgular ikinci sunucuya giderse performans kaybına neden olabilir, ancak doğal bir yük olarak değerlendirilmelidir.
    • Foreign table'lar veriyi bölmek için kullanılabilir, eski veriler ayrı bir sunucuda tutulabilir.
    • Foreign table'lar farklı veritabanlarını tek bir veri tabanında sanal olarak oluşturup analiz sorguları çıkarmak için de kullanılabilir.
    47:20Kullanım İpuçları
    • Super user haricindeki user mapping yapmak için uzaktaki sunucuda parola kontrolü yapılmalıdır, trust olmamalıdır.
    • User mapping yaparken karşı taraftaki kullanıcının tablo üzerinde gereken haklara sahip olduğundan emin olunmalıdır.
    • Foreign table'lar magressh işlemlerinde kullanılabilir, ancak performansı hakkında bilgi verilmemiştir.
    48:50Foreign Table Wrapper (FTW) Sorunları
    • Oracle, SQL Server, Sybase gibi FTW'lar kullanırken, uzun süren sorgular veya memory'yi aşan durumlar oluşabilir.
    • Zombi proses olarak adlandırılan durumda, postmaster'da çalışan bir sorgu karşı tarafa ulaşıp geri dönmediğinde asılı kalır.
    • Bu tür zombi prosesleri öldürmek için pg_terminate_backend yerine işletim sistemi seviyesinden kill komutu kullanılmalı, ancak bu yöntem shared buffer sorunlarına yol açabilir.
    51:46FTW Kullanım Dikkat Edilmesi Gerekenler
    • Diğer veritabanları ile ilgili FTW'lar kullanırken, büyük veri setlerini tek seferde aktarmak yerine yavaş yavaş almak gerekir.
    • Uygulama tarafında cursor kullanarak sorguları sayfa sayfa almak, FTW'larla ilgili sorunları çözebilir.
    • PostgreSQL'in kendi FTW'sı (Postgres Foreign Table Wrapper) bu sorunlardan etkilenmez çünkü düzgün bir şekilde çalışır.
    54:16File FTW Kullanımı
    • File FTW, işletim sisteminin üzerindeki CSV dosyalarını okuyup tablo gibi kullanmamızı sağlar.
    • Create extension file_fdw, create server pg_file_fdw ve create foreign table komutları ile CSV dosyasını tablo gibi kullanabiliriz.
    • Bu özellik sayesinde CSV dosyalarını veritabanına yükleyebilir veya geçici tablo olarak kullanabiliriz.
    56:55Diğer FTW'lar ve Kaynaklar
    • S3 Store FTW, PostgreSQL'in STUG tarafından geliştirilen bir FTW'dur ve özellikle hataları sıkıştırıp saklamak için kullanılabilir.
    • PostgreSQL'in kendi wiki'sinde (https://wiki.postgresql.org/wiki/Foreign_data_wrappers) birçok FTW bulunabilir.
    • Oracle FTW'da yaşanan temel sorunlar büyük sorguların takılmasıdır ve bu sorun Oracle FTW'da değil, diğer FTW'lar (SQL Server, TDS) da yaşanabilir.
    1:00:42Veritabanı Taşıma Sorunları ve Çözümleri
    • Konuşmacı, Oracle ve Magnation işlemlerinde alanların taşınmasında yaşanan performans sorunları hakkında soru alıyor.
    • EnterpriseB'nin XTB'si ve Orato PG'nin bu alanların performanslı şekilde taşınması için önerilen çözümler olarak belirtiliyor.
    1:01:37FTW ve Ver İlişkisi
    • FTW ile ver (coin) arasındaki ilişki sorulduğunda, FTW'nin veri karşı tarafa aktarıp optimizasyon yapabilmesi önemlidir.
    • Oracle SQL TDS, Cybase SQL Server protokolü, MySQL FTW ve TDSW için optimizasyon yapıldığı belirtiliyor.
    • Bu optimizasyonlar yapılmazsa verinin olduğu gibi taşınması ve karşı tarafta yapılması sorunlara neden olur.
    1:02:30Yayının Sonu ve Gelecek Etkinlikler
    • Konuşmacı, sağlık sorunu nedeniyle yayına devam ettiğini ve izleyicilerine teşekkür ediyor.
    • YouTube'da "devrimgunduz" kanalına üye olunmasını ve bin aboneyi geçince daha uygulamalı ve etkileşimli yayınlar yapılacağını belirtiyor.
    • Perşembe günü saat 18:00'de indeks konusunu bir saat içerisinde anlatacağını duyuruyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor