PostgreSQL Range Partition
PostgreSQL Range Partition (Aralık Bölümleme), bir tabloyu belirli bir aralığa göre fiziksel olarak bölmenizi sağlayan bir veri yönetimi yöntemidir. Bu bölme yöntemi, genellikle büyük veri kümelerini daha küçük ve yönetilebilir parçalara bölmek için kullanılır. Aralık bölümlemesi genellikle zaman serisi verileri veya sıklıkla sorgulanan aralıklarla ilişkili verilerin saklanması için idealdir.
PostgreSQL Range Partition ile ilgili temel bilgiler:
Aralık Belirleme: Range partition, bir tabloyu belirli bir aralığa göre bölmenizi sağlar. Örneğin, tarih sütununa göre bir tabloyu yıllara, aylara veya haftalara göre bölebilirsiniz. Bu, verileri belirli zaman dilimlerine göre daha küçük parçalara ayırarak sorgulamayı ve yönetmeyi kolaylaştırır.
Bölme Sınırları: Her bölmenin sınırları önceden belirlenir. Örneğin, bir tabloyu yıllara göre bölüyorsanız, her bölme bir yılın başlangıç ve bitiş tarihlerine sahip olacaktır. Veriler, bu sınırlar içindeki zaman aralıklarına göre bölünür.
Performans ve Yönetim Kolaylığı: Range partition, büyük veri kümelerini daha küçük parçalara böldüğü için sorgulama performansını artırabilir. Ayrıca, verileri mantıksal olarak bölerek veri yönetimini ve yedeklemeyi kolaylaştırır.
Partition İşlemleri: Range partition, verileri aralıklara göre otomatik olarak yönlendirir. Yeni veri eklendiğinde veya mevcut veri güncellendiğinde, PostgreSQL otomatik olarak doğru bölüme ekler veya mevcut bölümdeki veriyi günceller.
Sorgulama Optimizasyonu: Range partition, sorguların belirli aralıklara odaklanmasını sağlar. Özellikle belirli zaman aralıklarındaki verilere sık sık erişiliyorsa, veri erişimini hızlandırabilir.
Range partition, PostgreSQL’in veri yönetimini ve performansını artırmak için güçlü bir araçtır. Özellikle zaman serisi verileri veya kronolojik olarak sıralı verileri saklamak için idealdir. Ancak, bölme stratejisinin dikkatlice belirlenmesi ve bölme sınırlarının doğru yapılandırılması önemlidir.
Partition ile ilgili bilgi almak için Partition Nedir yazıma göz atabilirsiniz.
Range Partition örneğimize geçelim:
İlk olarak yeni bir tablo oluşturuyoruz.
Oluşturulan tabloda da primary key olmak zorunda .
Partition oluştururken odeme_zamanı kolonundaki verilere göre oluşturmamız gerekiyor. Partition oluştururken isterseniz günlük,aylık,yıllık … gibi yapabilirisiniz en çok tercih edilen aylık partitiona göre tablolarımızı oluşturalım.
Yukarıda görüldüğü gibi her ay için bir tablo oluşturduk.
Oluşturduğumuz partitionlar için aşağıdaki scripti kullanabilirsiniz.
Oluşturduğumuz partitionlar tablomuza eklenmiş .