Databricks Unity Catalog Kurulumu: Yapı, Yetki ve Soy Ağacı
Unity Catalog, Databricks üzerindeki veri ve yapay zeka varlıkları için tek bir erişim, soy ağacı ve denetim katmanı sunar. Rehber, katalog ve şema yapısını tasarlamaktan yetki vermeye, dış depolamayı bağlamaktan soy ağacını okumaya kurulum akışını anlatır.
Bir bakışta
- Unity Catalog, erişimi tek merkezden yöneten yönetişim katmanıdır. Erişim kontrolü, soy ağacı ve denetim kaydı çalışma alanı bazında değil merkezde tutulur.
- Varlıklara üç düzeyli adla ulaşılır: katalog, şema, nesne. Bu hiyerarşi hem düzeni hem de yetki mirasını belirler.
- Yetki, kullanıcıya değil gruba verilir. GRANT ile bir gruba katalog, şema ve nesne düzeyinde ayrı ayrı yetki tanımlanır.
- Yönetilen ve harici tablo arasındaki fark, depolamayı kimin yönettiğidir. Harici varlıklar yalnızca yönetişime girer; veri dosyalarının yaşam döngüsü size aittir.
- Soy ağacı verinin nereden gelip nereye gittiğini otomatik izler. Değişiklik etkisi analizi ve kök neden araştırması soy ağacı üzerinden yapılır.
Unity Catalog neyi çözer?
Bir veri platformu büyüdükçe en çok zorlanılan konu veriye kimin eriştiği, verinin nereden geldiği ve hangi tabloların hangi raporları beslediğidir. Her çalışma alanında ayrı yetki tanımları tutulduğunda, aynı tablo için farklı kurallar oluşur, denetim zorlaşır ve kimse bir değişikliğin neleri bozacağını bilemez.
Unity Catalog bu sorunu, Databricks içinde veri ve yapay zeka varlıkları için birleşik bir yönetişim katmanı olarak çözer. Bir çalışma alanında etkinleştirildiğinde tüm veri ve yapay zeka etkinliğine uygulanır; erişim kontrolü, soy ağacı ve denetim kaydını sağlar. Tablolar, hacimler, modeller ve fonksiyonlar aynı çatı altındadır.
Kurumsal yönetişim süreci, yani politika, rol ve sorumluluklar ayrı bir konudur. Platform tarafındaki teknik kurulum ise nesne hiyerarşisini tasarlamak, yetkileri vermek, depolamayı bağlamak ve soy ağacını kullanmaktır.
Yeni oluşturulan çalışma alanlarında Unity Catalog otomatik olarak etkindir. Daha önce oluşturulmuş çalışma alanları için yükseltme rehberi izlenir. Kurulum rehberi yönetici rollerini, kullanıcıları, işlem kaynaklarını, izinleri ve katalogları kapsar.
Üstte kapsayıcı, altta veri: yetki yukarıdan aşağı akar
Unity Catalog nesne hiyerarşisi
- MetastoreÜst düzey kapsayıcı; depolama kimlik bilgileri ve dış konumlar burada.
- KatalogGenellikle ortam, alan ya da ekip düzeyinde ayrılan birinci düzey.
- ŞemaKatalog içindeki ilişkili nesneleri gruplayan ikinci düzey.
- Tablo, hacim, modelAsıl veri ve yapay zeka varlıkları; katalog.şema.nesne adıyla anılır.
Nesne modelini tasarlamak: katalog ve şema yapısı
Kurulumun en önemli kararı, kataloğun neyi temsil edeceğidir. Yanlış kurulmuş bir yapı sonradan değiştirilirken tablo adlarını, yetkileri ve bağımlı işleri etkiler. Bu yüzden ilk aşamada kuralı yazmak gerekir.
Yaygın bir yaklaşım, katalogları ortama göre ayırmaktır: geliştirme, test ve üretim için ayrı kataloglar. Bu şekilde aynı şema ve tablo adları üç ortamda tekrarlanır; kod ortam değiştirdiğinde yalnızca katalog adı değişir. Diğer yaklaşım katalogları iş alanına göre bölmektir: satış, finans, operasyon. Kurum büyüklüğüne ve yönetim modeline göre ikisi birleştirilebilir; örneğin ortam katalog düzeyinde, iş alanı şema düzeyinde tutulur.
Şema, ilişkili nesneleri gruplar. Ham, temizlenmiş ve raporlamaya hazır veriyi ayrı şemalarda tutmak, yetkiyi katmana göre vermeyi kolaylaştırır: analistler yalnızca hazır katmana, mühendisler hepsine erişir.
Her nesneye katalog.şema.nesne üç düzeyli adıyla ulaşılır. Tablo ve hacimler yönetilen ya da harici olabilir. Yönetilen nesnelerde Unity Catalog hem yönetişimi hem de depolama yaşam döngüsünü üstlenir. Harici nesnelerde yalnızca yönetişim Unity Catalog'a aittir; verinin saklandığı yeri ve silinmesini siz yönetirsiniz.
Adlandırma kuralı da yapının parçasıdır: katalog, şema ve tablo adları için tutarlı bir biçim belirleyin ve belgelendirin.
Depolamayı bağlamak: kimlik bilgisi ve dış konum
Verinin bulut depolamada nerede duracağı kurulumun ikinci sorusudur. Metastore'un altında depolama kimlik bilgileri, dış konumlar, bağlantılar ve paylaşımlar yer alır. Depolama kimlik bilgisi, bulut depolamaya erişim yetkisini temsil eder. Dış konum ise bir depolama yolunu bu kimlik bilgisiyle ilişkilendirir ve o yola kimlerin eriştiğini yönetişim altına alır.
Böylece dosyalara erişim için bulut tarafında ayrı kullanıcı anahtarları dağıtmak gerekmez; erişim Unity Catalog yetkileri üzerinden verilir. Bu, hem güvenliği hem de denetlenebilirliği artırır, çünkü kimin hangi yola eriştiği tek yerde görülür.
Harici tablo ya da hacim oluşturulacaksa önce dış konumun tanımlanmış olması ve oluşturan kişinin ilgili yetkiye sahip olması gerekir. Yetkisiz bir yola tablo kaydedilemez.
Pratik öneri, dış konumları az sayıda ve anlamlı üst yollarda tanımlamak, her tablo için ayrı konum açmamaktır. Aksi halde yönetilmesi zor bir konum listesi oluşur. Yönetilen nesneler için varsayılan depolama bir üst düzeyde, metastore, katalog ya da şema düzeyinde belirlenebilir; bu karar maliyet ve ayrıştırma ihtiyacına göre verilir.
Yetkilendirme: GRANT ile erişimi yönetmek
Unity Catalog'ta erişim, nesneler üzerinde verilen yetkilerle kontrol edilir. Yetki; kullanıcıya, hizmet kimliğine ya da gruba verilebilir. Pratik kural gruba vermektir: kişi ekibe girip çıktıkça yalnızca grup üyeliği değişir, yetki tanımlarına dokunulmaz.
Genel biçim şöyledir: GRANT yetki türü ON nesne türü nesne adı TO sorumlu. Örneğin bir grubun bir şemada tablo oluşturabilmesi için şu üç yetki verilir:
GRANT CREATE TABLE ON SCHEMA uretim.satis TO `veri-muhendisleri`; GRANT USE SCHEMA ON SCHEMA uretim.satis TO `veri-muhendisleri`; GRANT USE CATALOG ON CATALOG uretim TO `veri-muhendisleri`;
Burada dikkat çeken nokta, yolun her halkasında yetki gerekmesidir: bir şemaya erişmek için katalog ve şema üzerinde kullanma yetkisi de gerekir. Eksik yetki en sık görülen "erişemiyorum" hatasının sebebidir.
Yetkileri verebilen kişiler de sınırlıdır: nesnenin sahibi, kapsayan katalog ya da şemanın sahibi, nesne üzerinde yönetme yetkisi olan kullanıcı ve metastore yöneticisi. Sahiplik bir kişiye değil, mümkünse bir gruba atanmalıdır; kişi ayrıldığında nesne sahipsiz kalmaz.
Daha ince kontrol gerektiğinde satır ve sütun filtreleri ile öznitelik tabanlı politikalar kullanılır. Hassas bir sütunu maskeleyerek aynı tabloyu farklı gruplara farklı şekilde göstermek mümkündür. Başlangıçta en basit yetki modeliyle başlayıp ihtiyaç doğdukça detaylandırmak daha sürdürülebilirdir.
Soy ağacı, denetim ve kurulum sırası
Unity Catalog, tablolar arasındaki veri akışını otomatik izler. Soy ağacı, hangi sorguların ve dosyaların bir tabloyu doldurduğunu, hangi tablo, görünüm ve varlıkların onu tükettiğini gösterir. Sütun düzeyinde soy ağacı, bir sütunun hangi kaynak sütunlardan türetildiğini ortaya koyar; bu, tabloyu ada göre sorgulayan sorgular için yakalanır. Not defterleri, sorgular, işler ve panolar da soy ağacında görünür.
Pratik değeri üç alandadır. Etki analizi: bir tabloyu değiştirmeden önce onu hangi raporların kullandığı görülür. Kök neden: raporda yanlış bir değer varsa kaynağa doğru geriye gidilir. Denetim: hassas verinin hangi yollardan aktığı belgelenir. Sınırlar da bilinmelidir: dosya yoluyla başvurulan kaynaklar için sütun soy ağacı yakalanmaz ve adı değiştirilen nesneler geçmiş soy ağacını taşımaz.
Soy ağacını görmek için ilgili katalog üzerinde göz atma yetkisi gerekir. Katalog gezgininde tablonun soy ağacı sekmesinden etkileşimli grafik açılır. Sistem tablolarından da sorgulanabilir.
Kurulum, yapıdan başlayıp yönetişimle tamamlanır
Unity Catalog kurulum sırası
- Y · Yapıyı tasarlaKatalog, şema ve adlandırma kuralını yaz.
- D · Depolamayı bağlaKimlik bilgisi ve dış konumları tanımla.
- N · Nesneleri oluşturKatalog ve şemaları, sonra tabloları ekle.
- G · Grupla yetkilendirGRANT ile gruplara katman bazında yetki ver.
- İ · İzle ve denetleSoy ağacı ve erişim kayıtlarını düzenli incele.
Sık hatalar
Kurulumda sık yapılan hatalar şunlardır: kataloğun neyi temsil ettiğine karar vermeden nesne yaratmak, yetkileri tek tek kullanıcılara dağıtmak, nesne sahipliğini kişiye bırakmak, dış konumları her tablo için ayrı tanımlamak, geliştirme ve üretim verisini aynı katalogda karıştırmak ve yetkiyi yalnızca tabloda verip üst düzey kullanma yetkisini unutmak.
Bir diğer hata, yönetişimi tamamen teknik bir kurulum sanmaktır. Hangi verinin hassas sayılacağı, kimin onay vereceği ve ne kadar süre saklanacağı gibi kararlar kurumun veri yönetişimi sürecine aittir; Unity Catalog bu kararları uygulamaya yarayan araçtır, yerine geçmez. Erişim yetkisi ise burada veri yönetişimi çerçevesinde ele alınır; siber güvenliğin tek başına çözümü olarak görülmemelidir.
Geçiş de planlanmalıdır. Mevcut tablolar yönetişim altına alınırken adlar değişirse bağımlı işler ve raporlar bozulabilir. Önce küçük bir alanda deneme yapılır, soy ağacıyla bağımlılıklar çıkarılır ve sonra kademeli geçiş uygulanır.
Bu beceriyi Mindset programında nerede çalışırsınız?
Databricks ile Veri Platformu Yönetimi programı; platforma giriş, Delta Lake ile güvenilir veri yönetimi, veri mühendisliği hatları, Databricks SQL ve iş zekası entegrasyonu, MLflow ile makine öğrenmesi yönetimi, platform yönetimi, güvenlik ve ölçekleme ile Unity Catalog ile merkezi veri yönetişimi başlıklarını içerir. Platform yöneticileri ve veri mühendisleri için kurulum ve erişim modelini uygulamalı çalışma imkânı verir.
İlgili Mindset programı
Databricks ile Veri Platformu Yönetimi
Sık sorulan sorular
Unity Catalog mevcut çalışma alanımda açık mı?
Yeni oluşturulan çalışma alanlarında Unity Catalog otomatik olarak etkindir. Daha önce oluşturulmuş çalışma alanlarında durum kontrol edilir; etkin değilse Databricks'in yükseltme rehberi izlenir. Etkin olduğunda nesneler katalog.şema.nesne adıyla adlandırılır ve erişim, soy ağacı ve denetim merkezi olarak yönetilir.
Bir kullanıcıya hangi yetkileri vermem gerekir?
Yola göre düşünün: veriye ulaşmak için ilgili katalog ve şema üzerinde kullanma yetkisi, ardından nesne üzerinde okuma ya da değiştirme yetkisi gerekir. Yetkiyi tek tek kişiye değil gruba verin. Bir şemada tablo oluşturacak ekip için tablo oluşturma yetkisiyle birlikte şema ve katalog kullanma yetkisi gerekir.
Yönetilen tablo mu harici tablo mu seçmeliyim?
Verinin yaşam döngüsünü Databricks yönetsin istiyorsanız yönetilen tablo uygundur; silme, depolama ve bakım otomatik ele alınır. Verinin başka sistemlerle paylaşılan bir bulut yolunda kalması gerekiyorsa harici tablo seçilir. Bu durumda yönetişim Unity Catalog'ta, dosya yaşam döngüsü ise sizdedir.
Soy ağacı geçmiş sorguları da gösterir mi?
Soy ağacı, özelliğin etkin olduğu dönemden itibaren yakalanır; öncesindeki kayıtlar görünmez. Dosya yoluyla başvurulan kaynaklarda sütun düzeyinde izleme yapılmaz ve adı değiştirilen nesneler geçmiş soy ağacını taşımaz. Bu sınırları bilip kritik raporlar için ek dokümantasyon tutmak iyi bir uygulamadır.
Mevcut ortamı Unity Catalog'a nasıl taşırım?
Önce mevcut tabloların ve bağımlılıkların envanteri çıkarılır, hedef katalog ve şema yapısı belirlenir. Sonra küçük bir alanda deneme geçişi yapılır, yetkiler gruplara taşınır ve işler yeni adlarla test edilir. Geçiş kademeli yürütülürse, ad değişiminin raporları bozması riski kontrol altına alınır.