Aracılığıyla paylaş


Unity Kataloğu'nu kullanarak bulut nesne depolamasına bağlanma

Bu makalede Unity Kataloğu'nu kullanarak verilerle çalışmak için gereken bulut depolama bağlantılarına genel bir bakış ve Unity Kataloğu'nun bulut depolama ve dış bulut hizmetlerine erişimi nasıl idare ettiğini gösteren bilgiler verilmektedir.

Unity Kataloğu bulut depolamayı nasıl kullanır?

Databricks, bulut nesne depolama alanında depoladığınız tüm verilere erişimi yönetmek için Unity Kataloğu'nu kullanmanızı önerir. Unity Kataloğu, bulut nesne depolamasına güvenli bağlantılar yapılandırmak için bir araç paketi sağlar. Bu bağlantılar aşağıdaki eylemleri tamamlamak için erişim sağlar:

  • Ham verileri bir lakehouse'a yükleyin.
  • Unity Kataloğu tarafından yönetilen bulut depolama alanında yönetilen tablolar ve yapılandırılmamış verilerin yönetilen birimlerini oluşturun ve okuyun.
  • Bulut sağlayıcınız kullanılarak yönetilen bulut depolama alanında tablosal verileri ve yapılandırılmamış verileri içeren dış birimleri içeren dış tabloları kaydedin veya oluşturun.
  • Yapılandırılmamış verileri (Unity Kataloğu birimleri) okuma ve yazma.

Daha açık olmak gerekirse Unity Kataloğu, bulut depolamayı iki birincil yolla kullanır:

  • Databricks'te oluşturduğunuz yönetilen tablolar ve yönetilen birimler (yapılandırılmamış, tablosal olmayan veriler) için varsayılan (veya "yönetilen") depolama konumları. Bu yönetilen depolama konumları meta veri deposu, katalog veya şema düzeyinde tanımlanabilir. Bulut sağlayıcınızda yönetilen depolama konumları oluşturursunuz, ancak bunların yaşam döngüsü Unity Kataloğu tarafından tamamen yönetilir.
  • Dış tabloların ve birimlerin depolandığı depolama konumları. Bunlar, Azure Databricks'ten erişimi Unity Catalog tarafından yönetilen, ancak veri yaşam döngüsü ve dosya düzeni bulut sağlayıcınız ile diğer veri platformları kullanılarak yönetilen tablolar ve hacimlerdir. Genellikle Azure Databricks'e büyük miktarda mevcut verilerinizi kaydetmek için veya Azure Databricks dışındaki araçları kullanarak verilere yazma erişimine de ihtiyacınız varsa dış tablolar kullanırsınız.

Yönetilen ve dış tablolar ve birimler hakkında daha fazla bilgi için bkz. Azure Databricks tabloları ve Unity Kataloğu birimleri nedir?.

Uyarı

Unity Kataloğu olmayan kimliklere Unity Kataloğu tarafından yönetilen tablolara veya birimlere depolama düzeyinde erişim vermeyin. Bu, veri güvenliğini ve idareyi tehlikeye atabilir.

Kullanıcılara, hizmet sorumlularına veya yönetilen kimliklere, Unity Kataloğu tarafından yönetilen verileri içeren Azure Data Lake Storage kapsayıcılarına doğrudan erişim verilmesi, Unity Kataloğu'nu devre dışı bırakır. Bu, verileri aşırı izinlere, sızdırmaya ve yetkisiz erişime maruz bırakırken denetimi karmaşık hale getirir ve yönetim yükünü artırır.

Unity Kataloğu yönetilen tablolarında doğrudan depolama erişimi desteklenmez.

Unity Kataloğu tarafından desteklenen bulut depolama seçenekleri

Unity Kataloğu, Azure Databricks için aşağıdaki bulut depolama seçeneklerini destekler.

Bulut depolama seçeneği Açıklama
Azure Data Lake Storage kapsayıcıları Azure Data Lake Storage çoğu Azure Databricks kullanım örneği için uygundur. Bkz. Azure Data Lake Storage'a bağlanmak için depolama kimlik bilgisi oluşturma
AWS S3 demetleri Azure Databricks, S3 bucketlarına platformlar arası salt okunur erişimi destekler. Bkz. AWS S3'e bağlanmak için depolama kimlik bilgisi oluşturma (salt okunur).
Cloudflare R2 demetleri Cloudflare R2, veri çıkış ücretlerinden kaçınmak istediğiniz Delta Sharing kullanım örneklerine yöneliktir. Bkz. Cloudflare R2'ye bağlanmak için depolama kimlik bilgisi oluşturma.
DBFS Ana Dizini DBFS kökü eski bir bulut depolama konumudur. Databricks verileri DBFS kök depolama alanında depolamamanızı önerse de, eski uygulamalar nedeniyle çalışma alanınız bunu yapabilir. Bkz . DBFS kök dış konumuna bağlanma (eski).

Unity Kataloğu bulut depolamaya erişimi nasıl yönetir?

Unity Catalog, tabloları ve birimleri barındıran temel alınan bulut depolamaya erişimi yönetmek için, bulut depolama konumunun yolunu ve bu konuma erişmek için gereken kimlik bilgilerini tanımlayan dış konum olarak adlandırılan güvenli hale getirilebilir bir nesne kullanır. Bu kimlik bilgileri, Unity Kataloğu'nda güvenli hale getirilebilen bir nesne olan depolama kimlik bilgileri olarak tanımlanır. Unity Kataloğu'nda dış konum güvenliği sağlanabilir öğelere erişim izni vererek ve iptal ederek bulut depolama konumundaki verilere erişimi denetleyebilirsiniz. Unity Catalog'da depolama kimlik bilgileri güvenlik öğelerine erişim verip bu erişimi iptal ederek, dış konum nesneleri oluşturma yeteneğini kontrol edebilirsiniz.

Depolama kimlik bilgilerine genel bakış

Depolama kimlik bilgileri, bulut kiracınızda depolanan verilere erişmek için kullanılan bir kimlik doğrulama ve yetkilendirme mekanizmasını temsil eder. Örneğin, depolama kimlik bilgileri Azure Data Lake Storage kapsayıcıları için Azure yönetilen kimliği veya hizmet sorumlusuyla ya da Cloudflare R2 demetleri için R2 API belirteci ile ilişkilendirilir.

Unity Kataloğu'nda verilen ayrıcalıklar, hangi kullanıcıların ve grupların dış konumları tanımlamak için kimlik bilgilerini kullanabileceğini denetler. Depolama kimlik bilgilerini oluşturma ve kullanma izni yalnızca dış konum nesneleri oluşturması gereken kullanıcılara verilmelidir.

Dış konumlara genel bakış

Dış konum, bulut depolama yolunu belirtilen yola erişim yetkisi veren bir depolama kimlik bilgileriyle birleştirir. Birden çok dış konum aynı depolama kimlik bilgilerini kullanabilir. Dış konumlar desteklenen bulut depolama seçeneklerinden herhangi birinde depolama yollarına başvurabilir.

Aşağıdaki diyagram, dış konumların depolama kimlik bilgilerini ve bulut depolama konumlarını nasıl referans aldığını göstermektedir.

Depolama kimlik bilgileri, dış konumlar ve bulut depolama arasındaki ilişki

Bu diyagramda:

  • Her dış konum bir depolama kimlik bilgilerine ve bir bulut depolama konumuna başvurur.
  • Birden çok dış konum aynı depolama kimlik bilgilerine başvurabilir. Depolama kimlik bilgileri 1 , yolunun bucket/tables/*altındaki her şeye erişim verir, bu nedenle hem Dış konum A hem de Dış konum B buna başvurur.

Dış konumlar Unity Kataloğu'nda hem dış tablolar ve dış birimler gibi dış veri varlıkları hem de yönetilen tablolar ve yönetilen birimler gibi yönetilen veri varlıkları için kullanılır. Unity Kataloğu'ndaki dış ve yönetilen veri varlıkları arasındaki fark hakkında daha fazla bilgi için bkz. Azure Databricks tabloları ve Unity Kataloğu birimleri nedir?.

Unity Kataloğu'nda verilen ayrıcalıklar, dış konum tarafından tanımlanan bulut depolama yoluna hangi kullanıcıların ve grupların erişebileceğini denetler. Dış konum oluşturma ve kullanma izni yalnızca dış tablolar, dış birimler veya yönetilen depolama konumları oluşturması gereken kullanıcılara verilmelidir.

Dış konumları kullanmaya yönelik en iyi yöntemler hakkında bilgi edinmek için bkz. Dış konumlar.

Dış tablolar ve birimler oluştururken dış konumları kullanma

Unity Kataloğu'nda kayıtlı dış tablolar ve dış birimler temelde Azure Databricks dışında yönettiğiniz bulut depolamadaki verilerin işaretçileridir. Unity Kataloğu'nda bir dış tablo veya dış birim oluşturduğunuzda, size yeterli ayrıcalıkların verildiği bir dış konum nesnesine dahil edilen bir bulut depolama yoluna başvurmanız gerekir. Unity Kataloğu'ndaki dış ve yönetilen veri varlıkları arasındaki fark hakkında daha fazla bilgi için bkz. Azure Databricks tabloları ve Unity Kataloğu birimleri nedir?. Ayrıcalıklar için bkz . Dış konumda izin verme.

Yönetilen depolama oluştururken dış konumları kullanma

Yönetilen tablolar ve yönetilen birimler Unity Kataloğu tarafından tamamen yönetilir. Bunlar varsayılan olarak meta veri deposu, katalog veya şema düzeyinde tanımlanabilen yönetilen bir depolama konumunda depolanır. Meta veri deposuna, kataloğa veya şemaya yönetilen depolama konumu atadığınızda, dış konum nesnesine başvurmanız ve bunu kullanmak için yeterli ayrıcalıklara sahip olmanız gerekir. Bkz. Unity Kataloğu ve Unity Kataloğu en iyi yöntemlerinde yönetilen depolama konumu belirtme.

Bulut depolamadaki verilere yol tabanlı erişim

Unity Kataloğu, bulut depolama URI'lerini kullanarak dış tablolara ve dış birimlere yol tabanlı erişimi desteklese de Databricks, kullanıcıların tablo adlarını kullanarak tüm Unity Kataloğu tablolarını okumalarını ve yazmalarını ve yolları kullanarak /Volumes birimlerdeki verilere erişmelerini önerir. Birimler, çoğu Azure Databricks kullanıcısının bulut nesne depolamadaki tablosal olmayan verilerle doğrudan etkileşim kurmak için kullanması gereken güvenli hale getirilebilir nesnedir. Bkz. Unity Catalog'un birimleri nelerdir?.

Uyarı

Databricks dışı bir istemci kullanarak veya Databricks'in içinden yol tabanlı erişim kullanarak dış tablo meta verilerini güncelleştirirseniz, bu meta veriler Unity Kataloğu ile durumu otomatik olarak eşitlemez. Databricks bu tür meta veri güncelleştirmelerine karşı öneride bulunur, ancak bunu yaparsanız, Unity Kataloğu'nda şemayı güncel hale getirmek için MSCK REPAIR TABLE <table-name> SYNC METADATA çalıştırmanız gerekir. Bkz. REPAIR TABLE.

Unity Kataloğu'nda bulut depolamaya erişimi yönetmeye yönelik iş akışı

Unity Kataloğu'nu kullanarak bulut depolamaya erişimi yönetmek için aşağıdakileri yapın:

  1. Bulut depolama yoluna erişimi sağlamak için Azure yönetilen kimliği veya hizmet sorumlu kimliği gibi uzun vadeli bulut kimlik bilgilerini içeren bir depolama kimlik bilgisi nesnesi oluşturun.
  2. Depolama yoluna ve depolama kimlik bilgisi nesnesine başvuran bir dış konum nesnesi oluşturun.
  3. Dış tablolar, dış birimler veya varsayılan yönetilen depolama konumları oluşturduğunuzda dış konuma dahil edilen bir yola başvurun. Bu, dış konumda veya alt yolda tanımlanan tam yol olabilir.

Unity Kataloğu ile Azure bulut depolama için en iyi yöntemler

Azure Databricks, Unity Kataloğu idaresi kullanılarak Azure Databricks'te işlenen veriler için Azure Depolama hizmeti olarak Azure Data Lake Storage'ın kullanılmasını gerektirir. Azure Data Lake Storage, depolama ve işlem maliyetlerini ayırmanıza ve Unity Kataloğu tarafından sağlanan ayrıntılı erişim denetiminden yararlanmanıza olanak tanır. Veriler OneLake'te (Microsoft Fabric veri gölü) depolanıyor ve Databricks tarafından (Unity Kataloğu'nu atlayarak) işleniyorsa, birleşik depolama ve işlem maliyetlerine maruz kalabilirsiniz. Paketlenmişse bu, okuma için yaklaşık 2 kat, yazma işlemleri için ise verileri depolama, okuma ve yazma için Azure Data Lake Storage Premium Katmanı ile karşılaştırıldığında 2,6 kat daha yüksek maliyetlere yol açabilir. Azure Blob Depolama, Unity Kataloğu ile de uyumsuzdur. Databricks, Fabric için kullandıkça öde fiyatlandırma modelinin kullanılmasını önererek depolama ve işlem seçeneklerinde daha fazla esneklik sunar.

Özellik Azure Blob Saklama Alanı Azure Data Lake Storage OneLake
Unity Kataloğu tarafından desteklenir X X
Ek ağ dokusu kapasitesi satın almayı gerektirir X X
Dış motorlardan desteklenen işlemler
  • Okumak
  • Yazmak
  • Okumak
  • Yazmak
  • Okumak
  • Yazmak

Paketlenmiş bir işlem/depolama fiyatlandırma modeli kullanılırken, okumalar Azure Data Lake Storage'dan veri okumayla karşılaştırıldığında maliyetin 2 katını, yazma işlemleri ise Azure Data Lake Storage Premium Katmanına veri yazmaya kıyasla 2,6 kat daha fazla maliyete neden olur.
Ayrıntılar için OneLake belgelerine bakın.
Dağıtım Bölgesel Bölgesel Küresel
Kimlik doğrulama Entra Id Paylaşılan Erişim İmzası Entra Id Paylaşılan Erişim İmzası Entra ID
Depolama olayları X
Geçici silme
Erişim denetimi RBAC RBAC, ABAC, ACL RBAC (Sadece tablo/klasör, kısayol ACL'leri desteklenmiyor)
Şifreleme anahtarları X
Erişim katmanları Çevrimiçi arşiv sıcak, serin, soğuk, arşiv Sadece sıcak

Sonraki adımlar