Aracılığıyla paylaş


Veri modelleme

Bu makalede Azure Databricks'te veri modellemeyle ilgili önemli noktalar, uyarılar ve öneriler tanıtılmaktadır. Ham verilerin yeni bir veri modeline dönüştürülmesini etkileyen Azure Databricks davranışlarını anlamaya odaklanarak yeni tablolar ayarlayan veya ETL iş yükleri yazan kullanıcılara yöneliktir. Veri modelleme kararları, kuruluşunuzun ve iş yüklerinizin tabloları nasıl kullandığına bağlıdır. Seçtiğiniz veri modeli sorgu performansını, işlem maliyetlerini ve depolama maliyetlerini etkiler. Bu, Azure Databricks ile veritabanı tasarımındaki temel kavramlara giriş niteliğindedir.

Önemli

Bu makale yalnızca Tüm Unity Kataloğu yönetilen tablolarını içeren Delta Lake tarafından desteklenen tablolar için geçerlidir.

Azure Databricks'i kullanarak Lakehouse Federation'a kayıtlı tablolar da dahil olmak üzere diğer dış veri kaynaklarını sorgulayabilirsiniz. Her dış veri kaynağının farklı sınırlamaları, semantiği ve işlem garantileri vardır. Bkz. Sorgu verileri.

Veritabanı yönetimi kavramları

Azure Databricks ile oluşturulan bir lakehouse, birçok bileşeni ve kavramı diğer kurumsal veri ambarı sistemleriyle paylaşır. Veri modelinizi tasarlarken aşağıdaki kavramları ve özellikleri göz önünde bulundurun.

Azure Databricks'te işlemler

Azure Databricks, işlemleri bireysel tablolara göre sınırlar. Bu, Azure Databricks'in çok tablolu deyimleri (çok deyimli işlemler olarak da adlandırılır) desteklemediği anlamına gelir.

Veri modelleme iş yükleri için bu, bir kaynak kaydı alırken iki veya daha fazla tabloya satır eklenmesini veya güncelleştirilmesini gerektirirken birden çok bağımsız işlem gerçekleştirmek zorunda kalmak anlamına da getirir. Bu işlemlerin her biri diğer işlemlerden bağımsız olarak başarılı veya başarısız olabilir ve başarısız veya gecikmeli işlemler nedeniyle aşağı akış sorgularının durum uyumsuzluğuna dayanıklı olması gerekir.

Azure Databricks'te birincil ve yabancı anahtarlar

Birincil ve yabancı anahtarlar bilgilendirme amaçlıdır ve zorunlu tutulmaz. Bu model birçok kurumsal bulut tabanlı veritabanı sisteminde ortaktır ancak geleneksel ilişkisel veritabanı sistemlerinden farklıdır. Bkz. Azure Databricks'te kısıtlamalar.

Azure Databricks'te birleştirmeler

Birleşimler, herhangi bir veritabanı tasarımında işleme performans sorunlarına neden olabilir. Azure Databricks'te verileri işlerken sorgu iyileştiricisi, birleştirmeler için planı iyileştirmeye çalışır, ancak tek bir sorgunun birçok tablodan sonuçları birleştirmesi gerektiğinde zorlanabilir. İyileştirici, filtre parametreleri başka bir tablodaki bir alanda olduğunda tablodaki kayıtları atlayamayabilir ve bu da tam tablo taramasına neden olabilir.

Bkz. Azure Databricks'te birleştirmelerle çalışma.

Not

Bazı birleştirme işlemlerinin sonuçlarını artımlı olarak hesaplamak için gerçekleştirilmiş görünümleri kullanabilirsiniz, ancak diğer birleşimler gerçekleştirilmiş görünümlerle uyumlu değildir. Bkz. Gerçekleştirilmiş görünümler

İç içe ve karmaşık veri türleriyle çalışma

Azure Databricks JSON, Avro ve ProtoBuff gibi yarı yapılandırılmış veri kaynaklarıyla çalışmayı ve karmaşık verileri yapılar, JSON dizeleri, haritalar ve diziler olarak depolamayı destekler. Bkz. Yarı yapılandırılmış verileri modelleme.

Normalleştirilmiş veri modelleri

Azure Databricks herhangi bir veri modeliyle iyi çalışabilir. Azure Databricks'ten sorgulamanız veya Azure Databricks'e geçirmeniz gereken mevcut bir veri modeliniz varsa, verilerinizi yeniden tasarlamadan önce performansı değerlendirmeniz gerekir.

Yeni bir lakehouse tasarlıyorsanız veya mevcut bir ortama veri kümeleri ekliyorsanız, Azure Databricks, üçüncü normal form (3NF) gibi aşırı normalleştirilmiş bir model kullanılmamasını önerir.

Azure Databricks'te yıldız şeması veya snowflake şeması gibi modeller iyi performans gösterir çünkü standart sorgularda daha az birleşim ve eşitlemede tutulacak daha az anahtar vardır. Ayrıca, tek bir tabloda daha fazla veri alanına sahip olmak, sorgu iyileştiricinin dosya düzeyi istatistikleri kullanarak büyük miktarda veriyi atlamasına olanak tanır. Veri atlama hakkında daha fazla bilgi için bkz. Veri atlama.