Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.
Çok kiracılı bir uygulama, diğer kiracıların verilerini göremeyen veya paylaşamayan tüm kiracılara aynı hizmetleri ve özellikleri sağlayan uygulamadır. Bu makalede, Azure Yapay Zeka Arama ile oluşturulan çok kiracılı uygulamalar için kiracı yalıtım stratejileri ele alınmaktadır.
Azure Yapay Zeka Arama kavramları
Hizmet olarak arama çözümü olarak Azure Yapay Zeka Arama, geliştiricilerin herhangi bir altyapıyı yönetmeden veya bilgi alma konusunda uzman olmadan uygulamalara zengin arama deneyimleri eklemesine olanak tanır. Veriler hizmete yüklenir ve ardından bulutta depolanır. Azure AI Arama API'sine yönelik basit istekler kullanılarak veriler değiştirilebilir ve aranabilir.
Arama hizmeti, dizinler, alanlar ve belgeler
Tasarım desenlerini tartışmadan önce birkaç temel kavramı anlamak önemlidir.
Azure Yapay Zeka Arama kullanılırken bir arama hizmetine abone olur. Veriler Azure Yapay Zeka Arama'e yüklendikçe, arama hizmetindeki bir dizinde depolanır. Tek bir hizmet içinde birkaç dizin olabilir. Veritabanlarının bilindik kavramlarını kullanmak için, bir hizmet içindeki dizinler bir veritabanı içindeki tablolara benzetilebilirken, arama hizmeti bir veritabanına benzetilebilir.
Bir arama hizmeti içindeki her dizinin bir dizi özelleştirilebilir alan tarafından tanımlanan kendi şeması vardır. Veriler, tek tek belgeler biçiminde bir Azure Yapay Zeka Arama dizinine eklenir. Her belge belirli bir dizine yüklenmelidir ve bu dizinin şemasına uymalıdır. Azure Yapay Zeka Arama kullanarak veri ararken, tam metin arama sorguları belirli bir dizine göre verilir. Bu kavramları bir veritabanınınkilerle karşılaştırmak için, alanlar tablodaki sütunlara ve belgeler de satırlara benzetilebilir.
Ölçeklenebilirlik
Standart fiyatlandırma katmanındaki tüm Azure AI Arama hizmeti iki boyutta ölçeklendirilebilir: depolama ve kullanılabilirlik.
- Bir arama hizmetinin depolama alanını artırmak için bölümler eklenebilir.
- Çoğaltmalar , bir arama hizmetinin işleyebileceği isteklerin aktarım hızını artırmak için bir hizmete eklenebilir.
Bölümlerin ve çoğaltmaların isteğe bağlı eklenmesi ve çıkarılması, uygulamanın veri ve trafik talepleriyle arama hizmetinin kapasitesinin büyümesine olanak sağlar. Bir arama hizmetinin okuma SLA'sı elde etmesi için iki kopya gereklidir. Bir hizmetin okuma-yazma SLA'sı elde etmesi için üç çoğaltma gerekir.
Azure Yapay Zeka Arama'te hizmet ve dizin sınırları
Azure Yapay Zeka Arama'te birkaç farklı fiyatlandırma katmanı vardır ve her katmanın farklı sınırları ve kotaları vardır. Bu sınırlardan bazıları hizmet düzeyinde, bazıları dizin düzeyinde, bazıları ise bölüm düzeyindedir.
S3 Yüksek Yoğunluklu
Azure Yapay Zeka Arama'ün S3 fiyatlandırma katmanında, çok kiracılı senaryolar için özel olarak tasarlanmış Yüksek Yoğunluklu (HD) modu seçeneği vardır. Çoğu durumda, basitlik ve maliyet verimliliği avantajlarından yararlanmak için tek bir hizmet altında çok sayıda daha küçük kiracıyı desteklemek gerekir.
S3 HD, tek bir hizmette daha fazla dizin barındırma olanağı için bölümleri kullanarak dizinlerin ölçeğini genişletme özelliğini kullanarak tek bir arama hizmetinin yönetimi altında birçok küçük dizinin paketlenmesine olanak tanır.
S3 hizmeti, sabit sayıda dizini (en fazla 200) barındıracak ve hizmete yeni bölümler eklendikçe her dizinin yatay olarak ölçeklendirilmesini sağlayacak şekilde tasarlanmıştır. S3 HD hizmetlerine bölüm eklemek, hizmetin barındırabileceği dizin sayısı üst sınırını artırır. Tek bir S3HD dizini için ideal maksimum boyut yaklaşık 50 - 80 GB'tır, ancak sistem tarafından uygulanan her dizinde sabit boyut sınırı yoktur.
Çok kiracılı uygulamalar için dikkat edilmesi gerekenler
Çok kiracılı uygulamalar, kaynakları kiracılar arasında etkili bir şekilde dağıtırken çeşitli kiracılar arasında bir miktar gizlilik düzeyi korumalıdır. Böyle bir uygulama için mimari tasarlarken dikkat edilmesi gereken birkaç nokta vardır:
Kiracı yalıtımı: Uygulama geliştiricilerin, hiçbir kiracının diğer kiracıların verilerine yetkisiz veya istenmeyen erişimi olmadığından emin olmak için uygun önlemleri alması gerekir. Veri gizliliği perspektifinin ötesinde kiracı yalıtım stratejileri, paylaşılan kaynakların etkili bir şekilde yönetilmesini ve gürültülü komşulardan korunmasını gerektirir.
Bulut kaynağı maliyeti: Diğer tüm uygulamalarda olduğu gibi yazılım çözümleri de çok kiracılı bir uygulamanın bileşeni olarak maliyet açısından rekabetçi olmaya devam etmelidir.
İşlem Kolaylığı: Çok kiracılı bir mimari geliştirirken uygulamanın işlemleri ve karmaşıklığı üzerindeki etkisi önemli bir noktadır. Azure Yapay Zeka Arama'ün %99,9 SLA'sı vardır.
Genel ayak izi: Çok kiracılı uygulamaların genellikle dünya çapında dağıtılan kiracılara hizmet etmesi gerekir.
Ölçeklenebilirlik: Uygulama geliştiricilerinin, yeterli düzeyde düşük bir uygulama karmaşıklığını koruma ile uygulamayı kiracı sayısıyla ölçeklendirilecek şekilde tasarlama ile kiracı verilerinin ve iş yükünün boyutu arasındaki uzlaştırmayı dikkate almaları gerekir.
Azure Yapay Zeka Arama, kiracıların verilerini ve iş yükünü yalıtmak için kullanılabilecek birkaç sınır sunar.
Azure Yapay Zeka Arama ile çok kiracılı modelleme
Çok kiracılı bir senaryo söz konusu olduğunda, uygulama geliştiricisi bir veya daha fazla arama hizmeti kullanır ve kiracılarını hizmetler, dizinler veya her ikisi arasında böler. Azure Yapay Zeka Arama, çok kiracılı bir senaryo modelleme sırasında birkaç yaygın desene sahiptir:
Kiracı başına bir dizin: Diğer kiracılarla paylaşılan bir arama hizmeti içinde her kiracının kendi dizini vardır.
Kiracı başına bir hizmet: Her kiracının kendi ayrılmış Azure AI Arama hizmeti vardır ve en yüksek düzeyde veri ve iş yükü ayrımı sunar.
Her ikisinin karışımı: Daha büyük, daha etkin kiracılara ayrılmış hizmetler atanırken, daha küçük kiracılara paylaşılan hizmetler içindeki tek tek dizinler atanır.
Model 1: Kiracı başına bir dizin
Kiracı başına dizin modelinde, birden çok kiracı, her birinin kendi dizinine sahip olduğu tek bir Azure AI Arama hizmetini kullanır.
Tüm arama istekleri ve belge işlemleri Azure Yapay Zeka Arama'te dizin düzeyinde verildiği için bu yaklaşım işe yarar. Uygulama katmanında, çeşitli kiracıların trafiğini uygun dizinlere yönlendirmek ve aynı zamanda tüm kiracılar genelinde hizmet düzeyinde kaynakları yönetmek için farkındalık gerekir.
Kiracı başına dizin modelinin temel özelliklerinden biri, uygulama geliştiricisinin, uygulamanın kiracıları arasında bir arama hizmetinin kapasitesini aşırı abone edebilme yeteneğidir. Kiracıların eşit olmayan bir iş yükü dağıtımı varsa, kiracıların en uygun bileşimi arama hizmetinin dizinleri arasında dağıtılabilir ve aynı anda daha az etkin kiracıların uzun bir kuyruğuna hizmet ederken çok sayıda yüksek etkin, kaynak yoğunluklu kiracıyı barındırabilir. Modelin, her kiracının aynı anda çok aktif olduğu durumları işleyememesinin getirdiği ödünleşim.
Kiracı başına dizin modeli, bir bütün Azure Yapay Zeka Arama hizmetinin önceden satın alındığı ve ardından kiracılarla doldurulduğu değişken maliyetli modelin temelini sağlar. Bu, kullanılmayan kapasitenin denemeler ve ücretsiz hesaplar için belirlenmesini sağlar.
Genel ayak izi olan uygulamalar için kiracı başına dizin modeli en verimli model olmayabilir. Bir uygulamanın kiracıları dünya genelinde dağıtılırsa, her bölge için ayrı bir hizmet gerekebilir ve her biri için maliyetler çoğaltılabilir.
Azure Yapay Zeka Arama, hem tek tek dizinlerin hem de toplam dizin sayısının artmasına olanak tanır. Uygun bir fiyatlandırma katmanı seçilirse, hizmet içindeki tek bir dizin depolama veya trafik açısından çok büyük olduğunda bölümler ve replikalar arama hizmetinin geneline eklenebilir.
Toplam dizin sayısı tek bir hizmet için çok fazla artarsa, yeni kiracıları barındırmak için başka bir hizmet sağlanması gerekir. Yeni hizmetler eklendikçe dizinlerin arama hizmetleri arasında taşınması gerekiyorsa, Azure Yapay Zeka Arama bir dizinin taşınmasına izin vermediğinden dizindeki verilerin bir dizinden diğerine el ile kopyalanması gerekir.
Model 2: Kiracı başına bir hizmet
Kiracı başına hizmet mimarisinde her kiracının kendi arama hizmeti vardır.
Bu modelde uygulama, kiracıları için en yüksek yalıtım düzeyine ulaşır. Her hizmetin arama isteklerini işlemek için ayrılmış depolama alanı ve aktarım hızı vardır. Her kiracı, API anahtarlarının ayrı ayrı sahipliğini alır.
Her kiracının büyük bir ayak izine sahip olduğu veya iş yükünün kiracıdan kiracıya çok az değişkenliğe sahip olduğu uygulamalarda, kaynaklar çeşitli kiracıların iş yükleri arasında paylaşılmadığı için kiracı başına hizmet modeli etkili bir seçimdir.
Kiracı başına bir hizmet modeli de tahmin edilebilir sabit maliyet modeli sunma avantajı sağlar. Bir kiracı yerleştirilene kadar tüm arama hizmetinde bir ön yatırım yapılmaz; ancak, kiracı başına maliyet, kiracı başına dizin modelinden daha yüksektir.
Kiracı başına hizmet modeli, genel ayak izi olan uygulamalar için verimli bir seçimdir. Coğrafi olarak dağıtılmış kiracılarda, her kiracının hizmetinin uygun bölgede olması kolaydır.
Bu düzeni ölçeklendirmedeki zorluklar, kiracıların hizmetlerini aştıklarında ortaya çıkar. Azure Yapay Zeka Arama şu anda bir arama hizmetinin fiyatlandırma katmanını yükseltmeyi desteklemediğinden tüm verilerin yeni bir hizmete el ile kopyalanması gerekir.
Model 3: Hibrit
Çok kiracılılığı modellemeye yönelik bir diğer yöntem de hem kiracı başına dizin hem de kiracı başına hizmet stratejilerini karıştırmaktır.
İki deseni karıştırarak uygulamanın en büyük kiracıları ayrılmış hizmetleri kaplayabilirken, daha az etkin, daha küçük kiracıların uzun kuyruğu paylaşılan bir hizmetteki dizinleri kaplayabilir. Bu model, en büyük kiracıların hizmetten sürekli olarak yüksek performansa sahip olmasını sağlarken, daha küçük kiracıların gürültülü komşulardan korunmasına yardımcı olur.
Ancak, bu stratejinin uygulanması kiracıların hangilerinin ayrılmış bir hizmeti mi, yoksa paylaşılan bir hizmette yer almayı mı gerektireceğini tahmin etme konusundaki öngörüye dayanır. Bu çok kiracılı modellerin her ikisini de yönetme gereksinimi nedeniyle uygulama karmaşıklığı artar.
Daha da ince ayrıntı düzeyi elde etme
Azure Yapay Zeka Arama'te çok kiracılı senaryoları modellemek için yukarıdaki tasarım desenleri, her kiracının bir uygulamanın tüm örneği olduğu tekdüzen bir kapsam olduğunu varsayar. Ancak, uygulamalar bazen çok daha küçük kapsamları işleyebilir.
Kiracı başına hizmet ve kiracı başına dizin modelleri yeterince küçük kapsamlar değilse, daha da ince ayrıntı düzeyine ulaşmak için bir dizini modellemek mümkündür.
Tek bir dizinin farklı istemci uç noktaları için farklı davranması için, bir dizine bir alan eklenebilir ve bu alan her olası istemci için belirli bir değer belirtir. Her seferinde bir istemci bir dizini sorgulamak veya değiştirmek için Azure Yapay Zeka Arama'i çağırdığında, istemci uygulamasındaki kod, sorgu zamanında Azure Yapay Zeka Arama'ün filtre özelliğini kullanarak bu alan için uygun değeri belirtir.
Bu yöntem ayrı kullanıcı hesaplarının, ayrı izin düzeylerinin ve hatta tamamen ayrı uygulamaların işlevselliğini elde etmek için kullanılabilir.
Not
Birden çok kiracıya hizmet vermek üzere tek bir dizin yapılandırmak için yukarıda açıklanan yaklaşımın kullanılması, arama sonuçlarının ilgi düzeyini etkiler. Aramayla ilgili puanlar, kiracı düzeyindeki bir kapsamda değil dizin düzeyinde hesaplandığından, tüm kiracıların verileri ilgili puanlarının terim sıklığı gibi temel istatistiklerine eklenir.
Sonraki adımlar
Azure Yapay Zeka Arama, birçok uygulama için cazip bir seçimdir. Çok kiracılı uygulamalar için çeşitli tasarım desenlerini değerlendirirken, Azure Yapay Zeka Arama'ün her boyuttaki uygulama iş yüklerine ve mimarilere en uygun şekilde uyarlanması için çeşitli fiyatlandırma katmanlarını ve ilgili hizmet sınırlarını göz önünde bulundurun.