Ana içeriğe atla
Veri Bilimi

DuckDB’ye Giriş: Nedir ve Neden Kullanmalısınız?

Python ve R için hızlı, kullanımı kolay analiz veritabanı DuckDB’yi keşfedin. Temel özelliklerini, kullanım alanlarını ve veri analizi görevlerini nasıl optimize ettiğini öğrenin.
Kurtis Pykes 's photo
Kurtis Pykes
Güncel · 7 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Ücretsiz Hesabınızı Oluşturun

Alıştırma and program your progress.

Google Ile Devam Edin
Devam ederek Kullanım Şartlarımızı, Gizlilik Politikamızı ve verilerinizin ABD’de saklandığını kabul etmiş olursunuz.

Veri bilimi ve analitiği alanında, verilerden içgörü çıkarmak genellikle pandas gibi kütüphaneler kullanılarak Python’da yürütülen bir dizi adımdan oluşur. Güçlü olsa da, pandas büyük veri kümeleri ve kaynak yoğun işlemlerde performans sorunları yaşayabilir.

Sağlam işlevsellik ile verimlilik arasında denge arayanlar için DuckDB mükemmel bir alternatif olarak öne çıkıyor. Yüksek hızlı, kullanıcı dostu bir analitik veritabanı olan DuckDB, Python ve R’de veri işlemeyi dönüştürüyor.

Bu makalede şunları ele alacağız:

  • DuckDB’nin benzersiz özellikleri ve yetenekleri
  • Geleneksel veri işleme araçlarına kıyasla DuckDB’nin avantajları
  • DuckDB’nin potansiyelini gösteren pratik kullanım örnekleri
  • Python ve R’de DuckDB ile çalışma yönergeleri

Makalenin sonunda, veri boyutu ve işlemlerin karmaşıklığı ne olursa olsun, DuckDB’nin veri analizi görevleriniz için neden değerlendirmeye değer bir araç olduğunu anlayacaksınız.

DuckDB nedir?

DuckDB, ücretsiz, açık kaynaklı, gömülü, süreç içi, ilişkisel, Çevrimiçi Analitik İşleme (OLAP) Veri Tabanı Yönetim Sistemi (DBMS)’dir. Çok sayıda terim ve kısaltma var; gelin parçalarına ayıralım:

  • Süreç içi ile, uygulamanızın bağlandığı harici bir süreç yerine, erişmek istediğiniz uygulamanın içinden DBMS özelliklerinin çalıştırılmasını kastediyoruz
  • OLAP, veritabanının veri analizi için tasarlandığı anlamına gelir. Ayrıca büyük işlem verilerini yönetmek üzere tasarlanmış Çevrimiçi İşlem İşleme (OLTP) veritabanları da vardır.

OLAP ile OLTP arasındaki temel fark, verinin nasıl saklandığıdır. OLTP veritabanları genellikle verileri kayıtlara göre saklar ve bir kayda ait tüm verilerin bellekte birbirine yakın tutulmasını sağlar. Satırları verimli okuyup yazmak için de optimize edilmiştir.

Buna karşılık, OLAP veritabanları çoğunlukla sütun odaklıdır; yani veriler sütunlara göre düzenlenir. Bir sütunla ilişkili tüm veriler bellekte birbirine yakın saklanır ve veritabanı sütunları verimli okumak ve üzerinde hesaplama yapmak için optimize edilmiştir.

DuckDB bir OLAP veritabanı olduğundan, saklanan tüm veriler sütunlara göre düzenlenir. Ayrıca DuckDB, veriler üzerinde karmaşık sorgular (join, toplamalar, gruplaymalar vb.) gerçekleştirmek üzere optimize edilmiştir – daha fazlası için SQL Fundamentals beceri yoluna göz atın.

SQLite’a aşinaysanız, DuckDB’yi en kolay şu şekilde düşünebilirsiniz: analitik odaklı bir muadili. DuckDB’nin bu kadar popüler olmasının nedeni de burada yatıyor — yerel bilgisayarınızda SQLite’ın sadeliğini ve Snowflake’in işlevlerini bir araya getiriyor. DuckDB, analitik işlemeye yönelik gömülü bir veritabanı çözümü ihtiyacını karşılıyor.

DuckDB’nin Temel Özellikleri

DuckDB’nin bazı temel özelliklerine göz atalım.

Hızlı analitik sorgular

DuckDB inanılmaz derecede hızlıdır; bu durum, PostgreSQL gibi OLAP iş yüklerini yöneten veritabanlarına aşina olanlar için şaşırtıcı olabilir. Geleneksel olarak, OLAP veritabanlarının yanıt süreleri yavaştır çünkü genellikle daha fazla veri işlerler.

Bununla birlikte DuckDB, CPU önbelleğini verimli kullanmaya yardımcı olan ve analitik sorgu iş yükleri için yanıt sürelerini hızlandıran sütunlu-vektörleştirilmiş bir sorgu motoru üzerinde çalışır.

SQL desteği ve diğer programlama dilleriyle entegrasyon

DuckDB, kullanıcıların karmaşık SQL sorguları çalıştırmasını sağlar ve Java, C, C++ ve daha fazlası için API’ler sunar. Python ve R ile derin entegrasyona sahiptir; bu sayede kullanıcılar verimli, etkileşimli veri analizi yapabilir ve tercih ettikleri programlama dilinden DuckDB ile etkileşime geçebilir. Ayrıca EXCLUDE, REPLACE ve ALL gibi SQL sorgularını yazmayı kolaylaştıran ek SQL anahtar sözcüklerine de erişim vardır.

Not: DuckDB’nin harici bağımlılığı yoktur; bu yüzden bağımlılık sorunları hakkında endişelenmenize gerek kalmaz.

Ücretsiz ve açık kaynak

DuckDB açık kaynaklıdır ve birçok aktif katkıda bulunanı vardır; bu da geliştirme ve iyileştirmelerin hızlıca uygulanabileceği anlamına gelir. Ücretsizdir; ancak her zaman ücretsiz kalmayabilir.

DuckDB Kullanım Senaryuları

DuckDB için en yaygın iki kullanım senaryosu etkileşimli veri analizi ve edge bilişimdir.

Şimdi her birini sırayla inceleyelim.

Etkileşimli veri analizi

Veri analizi, verileri işleme ve modelleme adımlarının tümünü ifade eder. Veri analizinin amacı, sonuçları ve veri odaklı kararları bilgilendirecek faydalı bilgileri ortaya çıkarmaktır.

Günümüzde şirketler, analizlerini yürütmek için Python ve R gibi teknolojileri kullanan veri bilimcileri ve analistler istihdam etmektedir.

DuckDB, yerel geliştirmelerinde SQL kullanmayı tercih edenler için, veri analitiği işlevlerinin eksikliği nedeniyle OLAP iş yüklerini yönetmekte zorlanan SQLite’a kıyasla daha iyi bir alternatiftir.

Edge bilişim

DuckDB gibi gömülebilir veritabanları, kullanıcıların verileri edge’de analiz etmesini sağlar. Edge bilişim, farklı ağların ve cihazların gereksinimin bulunduğu noktaya ya da ona daha yakın konuma getirildiği, yükselen bir dağıtık bilişim paradigmasını ifade eder.

Veriyi ihtiyaç duyulan yere daha yakın işlemek, yanıt sürelerini iyileştirir ve bant genişliğinin korunmasını sağlar.

DuckDB ile Başlarken

DuckDB’yi yüklemek için gereken adımlar ortamınıza bağlıdır; ancak kurulumun tamamına yönelik kılavuz DuckDB dokümantasyonunda bulunabilir.

Genel olarak oldukça basittir. DuckDB gömülü bir çözüm olduğundan yalnızca birkaç satır koda ihtiyaç duyarsınız. Sunucu gerektirmez ve harici bağımlılığı yoktur.

İşte Python kullanarak DuckDB’yi nasıl kuracağımıza dair bir örnek:

pip install duckdb==0.8.0

R’de ise:

install.packages("duckdb")

Şimdi bazı kod örneklerine bakalım.

Python’da DuckDB ile Çalışma

DuckDB’yi kurduktan sonra başlamak oldukça kolaydır. Ortamınıza yalnızca import duckdb eklersiniz, ardından mevcut bir veritabanına bağlanır veya gerekirse yeni bir tane oluşturursunuz.

Örneğin:

import duckdb 
connection = duckdb.connect()

connect() metoduna parametre olarak bir veritabanı dosyası verilmediği için yeni bir veritabanı oluşturulacaktır.

Bununla birlikte, DuckDB ile SQL sorguları yürütmeye başlamanın en basit yolu sql() metodunu kullanmaktır.

# Source: Basic API usage - https://duckdb.org/docs/api/python/overview.html
import duckdb
duckdb.sql('SELECT 42').show()

Bu komutu çalıştırmak, Python modülünde küresel olarak saklanan bir bellek içi veritabanı üzerinde çalışır ve esasen sorgunun sembolik bir temsili olan bir ilişki (relation) döndürür.

Dikkat: Sonuç açıkça istenene kadar sorgu yürütülmez; örneğin şöyle:

# Source: Execute SQL - https://duckdb.org/docs/guides/python/execute_sql.html
results = duckdb.sql('SELECT 42').fetchall()
print(results)

"""
[(42,)]
"""

Ayrıca veriyi bir Pandas DataFrame’e dönüştürmek için df() metodunu kullanabiliriz:

results_df = duckdb.sql('SELECT 42').df()
print(results) 

"""
    42
0   42
"""

Ya da veriyi belleğe okumak için çok sayıdaki veri alım yönteminden birini kullanabilirsiniz:

# Source: Python API - https://duckdb.org/docs/api/python/overview.html 
import duckdb
duckdb.read_csv('example.csv') # read a CSV file into a Relation
duckdb.read_parquet('example.parquet')# read a Parquet file into a Relation
duckdb.read_json('example.json') # read a JSON file into a Relation

duckdb.sql('SELECT * FROM "example.csv"')     # directly query a CSV file

Sorumluluk Reddi: sql() metodunu mevcut bir veritabanına bağlanmadan kullanırsanız, dosyalara depoladığınız tüm veriler program kapatıldıktan sonra kaybolacaktır. Bunu, bölümün başında ele aldığımız connect() metodunu kullanarak bir bağlantı kurarak önleyebilirsiniz.

Sonuç ve Ek Kaynaklar

DuckDB, veri bilimciler ve analistler gibi veri profesyonellerinin verileri hızlı ve verimli şekilde analiz etmek için kullandığı bir OLAP veritabanıdır. Büyük veri kümeleri üzerinde karmaşık sorguları çalıştırabilen bir SQL sorgu yürütme motorundan yararlanır.

DuckDB ayrıca birçok diğer programlama diliyle entegrasyonlara sahiptir; dolayısıyla favori dilinizden erişmek mümkündür.

Öğrenmeye devam etmek için SQL Temelleri Hızlı Başvuru Kartına ve DuckDB’nin DataLab’de SQL’i birinci sınıf vatandaş haline nasıl getirdiğine göz atın.


Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Konular
Veri Bilimi
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını Gör