ClickHouse : Hızlı ve Yüksek Performanslı Analitik Veri Tabanı

Herkese merhaba! Bu yazıya giriş yaparken yine “verinin giderek artan hacmi ve önemi” hakkında birkaç cümle yazmayı düşünüyordum, ancak bu farkındalık noktasına bence çoktan ulaştık😉 Geçmişten günümüze veri hacmindeki artış sürerken, büyük veri kümelerini anlamlı ve kullanışlı bilgilere dönüştürmek için, yüksek performanslı ve ölçeklenebilir veri işleme çözümlerine ihtiyaç duyulmuş, böylece paralel hesaplama ve dağıtık sistemler […]
Python Test İşlemleri

Bu yazıda, Python test konusuna odaklanacağız. Python’un test yazılımına destek sağlayan özellikler arasında çeşitli test çerçeveleri (unittest, pytest, doctest vb.), hata ayıklama yetenekleri, geniş kütüphane desteği ve mock nesneler oluşturmayı kolaylaştıran özellikler bulunmaktadır. Temel Test Kavramları ve Terminolojisi Test süreci, bir yazılımın belirli bir girdi seti ile beklenen sonuçları verip vermediğini kontrol etme işlemidir. Test […]
Kafka Monitoring için Grafana ve Prometheus Kullanımı

Monitoring; sistemlerin sağlıklı çalışıp çalışmadığını anlamak, hataları tespit etmek ve performansı ölçmek için hayati öneme sahiptir. Bu yazıda, popüler açık kaynak kodlu izleme (monitoring) araçları olan Prometheus ve Grafana’nın nasıl kullanılacağından bahsedecek ve Kafka’nın izlenmesiyle ilgili docker ortamında bir örnek yapacağız. Prometheus Prometheus, açık kaynak kodlu bir izleme ve uyarı sistemi olup, ölçüm verilerini birleştirmek […]
Apache Spark, Minio, Nessie Catalog, Iceberg ve Docker ile Lakehouse Örneği

Veri ambarı (data warehouse) ile veri gölünün (data lake) en iyi yönlerini birleştirerek bizlere ilişkisel veri tabanı konforunu büyük veri üzerinde sunan lakehouse çözümleri gün geçtikçe hayatımızdaki yerini alıyor. Bugün burada tamamen açık kaynak kodlu bileşenleri kullanarak docker üzerinde basit bir lakehouse örneği yapacağız. 1. Altyapıyı Oluşturan Bileşenler 1.1. Nessie Nessie veri gölleri için transactional […]
dbt (DataBuildTool) ile Veri Analitiği Yolculuğunda Yeni Bir Dönem

Yeniden merhaba! Hemen hemen her yazımızda veri analitiğinin, karmaşık ve dinamik bir süreç olduğuna değiniyoruzdur. Büyük veri setleri, farklı kaynaklardan gelen veri çeşitliliği ve hızla değişen iş gereksinimleri, veri analistlerine ve mühendislerine zorlayıcı bir ortam yaratıyor. Geleneksel veri yapıları ve analitik yöntemler, bu hızlı değişime ayak uydurmakta zorlanırken ve süreçler zaman alıcı ve karmaşık hale […]
Kafka Connect Nedir?

Kafka Connect, Apache Kafka’nın tamamlayıcı bir parçasıdır ve diğer sistemleri Kafka ile entegre eder. Örneğin Kafka Connect, değişiklikleri bir veritabanından (source) Kafka’ya aktarmak ve buradan başka bir veri depolama sistemine (sink) yazmak için kullanılabilir, böylelikle diğer uygulamaların/servislerin (örneğin dashboard) gerçek zamanlı veriye erişimini sağlar. Kafka Connect, içinde Kafka’nın da vazgeçilmez bir parçası olduğu sağlam data […]
Delta Lake Temizliği ile Depolama Alanı Optimizasyonu

Herkese merhaba! Gittikçe artan veri hacimleriyle birlikte, verilerin depolanması, yönetilmesi konusundaki güçlüklerin de benzer oranda arttığını biliyoruz. Açık kaynaklı bir depolama katmanı olan olan Delta Lake kullanıyorsanız, bir Delta tablosunda yapılan tüm değişikliklerin izlenmesi için kullanılan log dosyaları ve verilerin kaydedildiği parquet uzantılı dosyaların zamanla arttığını gözlemlemişsinizdir. Bu dosyalar zamanla ciddi boyutlara ulaşabilir, sorgu performansını […]
Ray: Python ile Dağıtık Veri İşleme

Ray, gerçek zamanlı veri işleme sistemleri ve yapay zeka araştırmalarının yapıldığı RISELab tarafından 2017’de başlatılan bir projedir. Apache 2.0 lisansına sahip olan Ray, açık kaynaklı bir kütüphane olarak paralel ve dağıtık hesaplamaya odaklanarak geliştirilmeye başlanmıştır. Ray, son zamanlarda veri bilimcileri ve Python programcıları tarafından veri analitiği, yapay zeka ve makine öğrenimi projelerinde sıkça kullanılan bir […]
Trino

Merhaba bu yazıda size Trino’dan bahsedeceğim. İlk olarak Trino’nun kısaca ne olduğuna bakalım ve ardından demo uygulaması yapalım. Trino Nedir? Trino, büyük veri analizi için hızlı ve dağıtık SQL sorgulama motorudur. Geleneksel SQL sorgularının yanı sıra NoSQL verileri de destekler ve çoklu veri kaynaklarından veri toplayabilir. Trino, ölçeklenebilirlik, performans ve düşük gecikme süresi sunar ve […]
Apache Spark’ı Hangi Ortamlarda Kullanabiliriz?

Apache Spark büyük veri ve analitik dünyada çok popüler bir araç. Spark’ı bir çok farklı amaçla kullanabileceğimiz gibi bir çok farklı ortamda çalıştırabiliriz. Bu yazımızda Spark’ı hangi ortamlarda çalıştırıp kullanabiliriz onlardan bahsedeceğiz. Lokal Java yüklü herhangi bir bilgisayar veya sunucuda Spark binary dosyalarını indirip lokal modda Spark’ı kullanabilirsiniz. Geliştirme yapmak ve öğrenmek için ideal bir […]
Apache Spark, Apache Airflow, Delta Lake ve MinIO ile ETL Çalışması

Veri odaklı kuruluşlarda, çeşitli ham ve karmaşık verilerden içgörü elde etmek için gerektiğinde büyük miktarda verinin düzenlenmesi, basitleştirilmesi veya zenginleştirilmesi gerekir. ETL (Çıkart, Dönüştür, Yükle) konsepti, büyük ölçekli verileri parçalara ayırır ve veri bilimcilerin/analistlerin verilere erişmesini, verileri analiz etmesini ve bunları iş zekasına dönüştürmesini kolaylaştırır. Aynı zamanda ETL, belirli bir veri hattı (pipeline) türünü ifade […]
Apache Flink ile Kafka’dan Mesaj Okuma (Scala)

Herkese merhaba. Apache Flink gerçek zamanlı veri işleme konusunda oldukça başarılı ve popüler bir araç. Böyle olmasına rağmen ilginç bir şekilde Flink öğrenmek için yeterli kaynak ve güncel örnekler bulmak zor. Mesela benzer bir araç olan Apache Spark ile tonlarca kitap, kurs, makale ve örnek varken Flink’te bunun onda biri bile yok. Daha önce Apache […]
TEMPORAL FUSION TRANSFORMER

Bu yazımda sizlere Google’ın yakın zamanda geliştirmiş olduğu Temporal Fusion Transformer (TFT) mimarisini açıklamak ve Python’da örnek bir veri seti üzerinden uygulama yapmak istiyorum. Gün geçmiyor ki makine öğrenme algoritmalarının bir yenisi çıkmasın ve bir ihtiyaca merhem olmasın. Bugün sizlere tanıtımını yapacağım TFT derin öğrenme mimarisi, zaman serileri üzerine güven aralıklarıyla tahmin üretebilen bir mimari/yöntemdir. […]
Zookeeper-less Kafka Cluster Kurulumu

Güncelleme: Ekim 2025. Bu yazının daha güncel hali için buraya tıklayınız. Bu yazımızda Zookeeper olmadan Docker ile Kafka cluster kurulumu yapacağız ve böylelikle 3-node Zookeeper-less Kafka’yı deneme şansı bulacağız. Bildiğimiz gibi Kafka yakın zamanda Zookeeper bağımlılığına tamamen son verdi (KIP-500 Kafka 2.8.0). Her ne kadar mevcut Kafka Cluster’lar Zookeeper kullanıyor olsa da yavaş yavaş bu […]
Spark SQL Window Functions

Window functions SQL dünyasında yaygın olarak bilinen fonksiyonlar. SQL’de kullandığımız bir çok fonksiyonu Spark ile de kullanabiliyoruz. Bu yazımızda Spark Scala ve SQL söz dizimleriyle window functions örnekleri yapacağız. Window functions nedir, ne işe yarar? Window fonksiyonlar, window olarak adlandırılan bir satır grubu üzerinde çalışır ve satır grubuna dayalı olarak her satır için bir dönüş […]
Pandas: Veri Türleri Üzerindeki Perdeyi Kaldırın

Merhabalar bu yazımızda: “Pandas dataframe veri türlerini nasıl görebiliriz?” sorusunun cevabını iki farklı yöntemi mukayese ederek öğreneceğiz. Aslında bir nevi pandas dataframe şeması üzerinde keşif yapacağız. “Okudum veriyi oldu bitti” deyip dümdüz, tam gaz ilerlemeyin. İleride başınıza neler gelebilir dikkat edin. Aslında dataframe nesnesinin dtypes özelliği var oradan çok kolay veri türlerini öğrenebiliriz niçin böyle […]
Pandas Dataframe’i Veri Tabanına Yazmanın En Kötü Yolu

Pandas dataframe veri bilimci ve mühendisleri tarafından çok yaygın kullanılan bir araç. Veriyi şekilden şekile sokmak için birebir. Veriyi istediğimiz hale getirdikten sonra çoğu zaman bir yere yazıp saklamak isteriz. Eğer saklanacak yer bir veri tabanı olacak ise bunun bir kaç farklı yöntemi var. Bunlardan birisi de pandas dataframe to_sql metodu. to_csv’ye çok alışığız, bu […]
MySQL Upsert İçin Alternatif Bir Yaklaşım

İş ihtiyacını karşılayacak şekilde temiz, doğru, güvenilir, istenen formatta, gıcır gıcır veri tabanında bekleyen bir veriyi kim sevmez ki 🙂 Mesela Mysql’de. Elbette herkes sever ancak bunu sağlayacak olan sağlam işleyen veri akış hatlarıdır (data pipelines). Veri akış hatları bilgi sistemi kullanan küçük veya büyük her örgüt için olmazsa olmaz bir zorunluluk haline geldi. Artık […]
MS SQL Sorgularının Söz Dizimi ve Performans Ölçümü

Herkese merhabalar! Veri bilimi okulunun bir parçası olmaktan ve siz değerli okurlarla bildiğim ve öğrenmekte olduğum konuları paylaşma fırsatı yakalamaktan dolayı çok mutluyum. Umarım sizin için yararlı bir okuma olur. Yazılarımda MS SQL Server, MS SSRS, diğer iş zekası uygulamalarından ve endüstriyel dijital dönüşüm konularından bahsetmeye çalışacağım. Bu yazımda ise MS SQL Server sorgularının söz […]
Gerçek Zamana Yakın – Apache Hudi

Merhaba bu yazımda sizlere Apache Hudi’yi kısaca tanıtmaya çalışacağım. Veri dünyasında uzun süredir konuşulan konuların en başında Real Time(Gerçek Zamanlı) veriler geliyor. Gerçek zamanlı veri işleme gerçekten her alanda çok önemlidir. Çünkü dikkatimiz artık saniyeler bazına düşmüş durumda ve biz saniyelerimizi merak ediyoruzdur. Örneğin bir yemek siparişinin durumunu anlık olarak takip etmek istiyoruz. Bu ne […]