Bir parçalama veritabanı sisteminde performans için bölümleme


Önceki bir gönderide, sorgulama ve alma iş yükleri için üretilen işi ve performansı ölçeklendirmek için bir parçalama sistemi tanımlamıştım. Bu yazıda, bir parçalama veritabanı için performans ve yönetimde daha fazla avantaj sağlayan başka bir yaygın teknik olan bölümlemeyi tanıtacağım. Ayrıca, hem sorgulama hem de alma iş yükleri için bölümlerin nasıl verimli bir şekilde ele alınacağını ve okuma gereksinimlerinin sıcak (son) bölümlerden oldukça farklı olduğu soğuk (eski) bölümlerin nasıl yönetileceğini açıklayacağım.

Parçalama ve bölümleme

Parçalama, dağıtılmış bir veritabanı sistemindeki verileri bölmenin bir yoludur. Her parçadaki veriler, CPU veya bellek gibi kaynakları paylaşmak zorunda değildir ve paralel olarak okunabilir veya yazılabilir.

Şekil 1, bir parçalama veritabanı örneğidir. Bir ülkenin 50 eyaletinin satış verileri, her biri 12 veya 13 eyaletin verilerini içeren dört parçaya bölünür. Her parçaya bir sorgu düğümü atayarak, 50 durumun tümünü okuyan bir iş, paralel çalışan bu dört düğüm arasında bölünebilir ve 50 durumu tek bir düğümle okuyan kuruluma kıyasla dört kat daha hızlı gerçekleştirilecektir. Parçalar ve bunların alım ve sorgu iş yükleri üzerindeki ölçeklendirme etkileri hakkında daha fazla bilgi önceki gönderimde bulunabilir.

bölümleme efektleri 01 InfluxData

Şekil 1: Satış Verileri, her biri bir sorgu düğümüne atanan dört parçaya bölünür.

Bölümleme, daha fazla paralel işleme için her bir parçadaki verileri örtüşmeyen bölümlere ayırmanın bir yoludur. Bu, gereksiz verilerin okunmasını azaltır ve veri saklama ilkelerinin verimli bir şekilde uygulanmasına olanak tanır.

Şekil 2’de, her bir parçanın verileri satış gününe göre bölümlenmiştir. 1 Mayıs 2022 gibi belirli bir günün satışları hakkında bir rapor oluşturmamız gerekirse, sorgu düğümlerinin yalnızca karşılık gelen 2022.05.01 bölümlerinin verilerini okuması gerekir.

bölümleme efektleri 02 InfluxData

Şekil 2: Her parçanın satış verileri, örtüşmeyen gün bölümlerine daha da bölünür.

Bu yazının geri kalanı bölümlemenin etkilerine odaklanacak. Hem sıcak hem de soğuk verilerde hem sorgulama hem de alma iş yükleri için bölümleri nasıl verimli bir şekilde yöneteceğimizi göreceğiz.

Telif Hakkı © 2022 IDG Communications, Inc.


Kaynak : https://www.infoworld.com/article/3666513/partitioning-for-performance-in-a-sharding-database-system.html#tk.rss_all

Yorum yapın