Azure Cosmos DB için Azure Synapse Link'i yapılandırma ve kullanma
ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Gremlin
Azure Cosmos DB için Azure Synapse Link, Azure Cosmos DB'deki operasyonel veriler üzerinde neredeyse gerçek zamanlı analiz çalıştırmanızı sağlayan bulutta yerel hibrit işlem ve analitik işleme (HTAP) özelliğidir. Synapse Link, Azure Cosmos DB ile Azure Synapse Analytics arasında sıkı bir sorunsuz tümleştirme oluşturur.
Önemli
Microsoft Fabric'te yansıtma artık NoSql API'sinde önizlemede kullanılabilir. Bu özellik, Azure Synapse Link'in tüm özelliklerini daha iyi analiz performansıyla sağlar, Doku OneLake ile veri varlığınızı birleştirme ve Delta Parquet biçimiyle OneLake'te verilerinize erişimi açma olanağı sunar. Azure Synapse Link'i düşünüyorsanız, kuruluşunuza genel uyumu değerlendirmek için yansıtmayı denemenizi öneririz. Yansıtmayı kullanmaya başlamak için buraya tıklayın.
Azure Synapse Link, Azure Cosmos DB SQL API'sinde veya Mongo DB hesapları için Azure Cosmos DB API'sinde kullanılabilir. Ayrıca CLI komutları aracılığıyla etkinleştirme özelliğiyle Gremlin API'sinde önizleme aşamasındadır. Azure Cosmos DB için Azure Synapse Link ile analiz sorguları çalıştırmak için aşağıdaki adımları kullanın:
- Azure Cosmos DB hesaplarınız için Azure Synapse Link'i etkinleştirme
- Kapsayıcılarınız için Azure Synapse Link'i etkinleştirme
- Azure Cosmos DB veritabanınızı bir Azure Synapse çalışma alanına bağlama
- Azure Synapse Analytics kullanarak analiz deposunu sorgulama
- En İyi Yöntemler ile performansı geliştirme
- Power BI'da verileri analiz etmek ve görselleştirmek için Azure Synapse sunucusuz SQL havuzunu kullanma
Ayrıca, Azure Cosmos DB için Azure Synapse Link'i yapılandırma hakkında eğitim modülünü de kontrol edebilirsiniz.
Azure Cosmos DB hesapları için Azure Synapse Link'i etkinleştirme
Synapse Link'i kullanmanın ilk adımı, Bunu Azure Cosmos DB veritabanı hesabınız için etkinleştirmektir.
Not
Müşteri tarafından yönetilen anahtarları Azure Synapse Link ile kullanmak istiyorsanız, hesabınızda Synapse Link'i etkinleştirmeden önce Azure Key Vault erişim ilkenizde hesabınızın yönetilen kimliğini yapılandırmanız gerekir. Daha fazla bilgi edinmek için Azure Cosmos DB hesaplarının yönetilen kimliklerini kullanarak müşteri tarafından yönetilen anahtarları yapılandırma makalesine bakın.
Not
NoSQL hesapları için API için Tam Uygunluk Şeması'nı kullanmak istiyorsanız, Synapse Link'i etkinleştirmek için Azure portalını kullanamazsınız. Hesabınızda Synapse Link etkinleştirildikten sonra bu seçenek değiştirilemez ve bunu ayarlamak için Azure CLI veya PowerShell kullanmanız gerekir. Daha fazla bilgi için analiz deposu şema gösterimi belgelerine bakın.
Not
Synapse Link'i hesap düzeyinde etkinleştirmek için Katkıda Bulunan rolüne sahip olmanız gerekir. Ayrıca kapsayıcılarınızda veya koleksiyonlarınızda Synapse Link'i etkinleştirmek için en azından Operatöre ihtiyacınız vardır.
Azure portal
Azure Portal’ında oturum açın.
Yeni bir Azure hesabı oluşturun veya mevcut Azure Cosmos DB hesabını seçin.
Azure Cosmos DB hesabınıza gidin ve sol bölmedeki Tümleştirmeler'in altında Azure Synapse Link'i açın.
Etkinleştir'i seçin. Bu işlemin tamamlanması 1-5 dakika sürebilir.
Hesabınız artık Synapse Link kullanacak şekilde etkinleştirilmiştir. Ardından işletimsel verilerinizi otomatik olarak işlem deposundan analiz deposuna çoğaltmaya başlamak için analiz deposu özellikli kapsayıcıların nasıl oluşturulacağına bakın.
Not
Synapse Link'in açılması otomatik olarak analiz deposunun açılmasını sağlamaz. Cosmos DB hesabında Synapse Link'i etkinleştirdikten sonra, Synapse Link'i kullanmaya başlamak için kapsayıcılarda analiz deposunu etkinleştirin.
Not
Sol gezinti menüsünün Tümleştirmeler bölümünde Power BI ve Synapse Link bölmesini kullanarak hesabınız için Synapse Link'i de etkinleştirebilirsiniz.
Komut Satırı Araçları
Azure CLI veya PowerShell kullanarak NoSQL veya MongoDB hesabınız için Azure Cosmos DB API'nizde Synapse Link'i etkinleştirin.
Azure CLI
Hem oluşturma hem de güncelleştirme işlemleri için kullanın--enable-analytical-storage true
. Ayrıca gösterim şeması türünü de seçmeniz gerekir. NoSQL hesapları için API için veya WellDefined
değerleriyle FullFidelity
kullanabilirsiniz--analytical-storage-schema-type
. MongoDB hesapları için API için her zaman kullanın --analytical-storage-schema-type FullFidelity
.
- Synapse Link'in etkinleştirildiği yeni bir Azure Cosmos DB hesabı oluşturma
- Synapse Link'i etkinleştirmek için mevcut Azure Cosmos DB hesabını güncelleştirme
Gremlin API hesabı için Azure Synapse Link'i etkinleştirmek için Azure CLI kullanın.
Gremlin API için Synapse Link artık önizleme aşamasındadır. Synapse Link'i Azure CLI kullanarak yeni veya mevcut grafiklerinizde etkinleştirebilirsiniz. Gremlin API hesabınız için Synapse Link'i etkinleştirmek için aşağıdaki CLI komutunu kullanın:
az cosmosdb create --capabilities EnableGremlin --name MyCosmosDBGremlinDatabaseAccount --resource-group MyResourceGroup --enable-analytical-storage true
Mevcut Gremlin API hesapları için değerini ile update
değiştirincreate
.
PowerShell
Hem oluşturma hem de güncelleştirme işlemleri için kullanınEnableAnalyticalStorage true
. Ayrıca gösterim şeması türünü de seçmeniz gerekir. NoSQL hesapları için API için veya WellDefined
değerleriyle FullFidelity
kullanabilirsiniz--analytical-storage-schema-type
. MongoDB hesapları için API için her zaman kullanın -AnalyticalStorageSchemaType FullFidelity
.
- Synapse Link'in etkinleştirildiği yeni bir Azure Cosmos DB hesabı oluşturma
- Synapse Link'i etkinleştirmek için mevcut Azure Cosmos DB hesabını güncelleştirme
Azure Resource Manager şablonu
Bu Azure Resource Manager şablonu , SQL API için Synapse Link özellikli bir Azure Cosmos DB hesabı oluşturur. Bu şablon, analitik TTL etkinleştirilmiş bir kapsayıcıyla yapılandırılmış bir bölgede Çekirdek (SQL) API hesabı ve el ile veya otomatik ölçeklendirme aktarım hızı kullanma seçeneği oluşturur. Bu şablonu dağıtmak için benioku sayfasında Azure'a dağıt'a tıklayın.
Kapsayıcılarınız için Azure Synapse Link'i etkinleştirme
İkinci adım, kapsayıcılarınız veya koleksiyonlarınız için Synapse Link'i etkinleştirmektir. Bu, özelliğini -1
sonsuz saklama için olarak veya analiz deposunda tutmak istediğiniz saniye sayısı olan pozitif bir tamsayıya ayarlayarak analytical TTL
gerçekleştirilir. Bu ayar daha sonra değiştirilebilir. Daha fazla bilgi için TTL tarafından desteklenen analiz değerleri makalesine bakın.
Mevcut SQL API kapsayıcılarınızda Azure Synapse Link'i etkinleştirirken aşağıdaki ayrıntılara dikkat edin:
- Analiz deposu otomatik eşitleme işleminin aynı performans yalıtımı ilk eşitleme için geçerlidir ve OLTP iş yükünüz üzerinde performans etkisi yoktur.
- Bir kapsayıcının analiz deposu toplam süresiyle ilk eşitlemesi, veri hacmine ve belgelerin karmaşıklığına bağlı olarak değişir. Bu işlem birkaç saniye ile birden çok gün arasında sürebilir. Geçiş ilerleme durumunu izlemek için lütfen Azure portalını kullanın.
- Kapsayıcınızın veya veritabanı hesabınızın aktarım hızı, toplam ilk eşitleme süresini de etkiler. Bu geçişte RU/sn kullanılmasa da, kullanılabilir toplam RU/sn, işlemin performansını etkiler. süreci hızlandırmak için ortamınızın kullanılabilir RU'larını geçici olarak artırabilirsiniz.
- Synapse Link bu kapsayıcıda etkinleştirilirken mevcut bir kapsayıcının analiz deposunu sorgulayamazsınız. OLTP iş yükünüz etkilenmez ve verileri normal şekilde okumaya devam edebilirsiniz. İlk eşitlemenin başlangıcından sonra alınan veriler, normal analiz deposu otomatik eşitleme işlemi tarafından analiz deposuyla birleştirilir.
Not
Artık Azure CLI veya PowerShell kullanarak mevcut MongoDB API koleksiyonlarınızda Synapse Link'i etkinleştirebilirsiniz.
Azure portal
Yeni konteyner
Azure portalında veya Azure Cosmos DB Gezgini'nde oturum açın.
Azure Cosmos DB hesabınıza gidin ve Veri Gezgini sekmesini açın.
Yeni Kapsayıcı'yı seçin ve veritabanınız, kapsayıcınız, bölüm anahtarınız ve aktarım hızı ayrıntılarınız için bir ad girin. Analiz deposu seçeneğini açın. Analiz deposunu etkinleştirdikten sonra, özelliği -1 (sonsuz saklama) varsayılan değerine ayarlanmış bir kapsayıcı
analytical TTL
oluşturur. Kayıtların tüm geçmiş sürümlerini koruyan ve daha sonra değiştirilebilen bu analiz deposu.Daha önce bu hesapta Synapse Link'i etkinleştirmediyseniz, analiz deposu etkin bir kapsayıcı oluşturmanın önkoşulu olduğundan bunu yapmanızı ister. İstenirse Synapse Bağlantısını Etkinleştir'i seçin. Bu işlemin tamamlanması 1-5 dakika sürebilir.
Analiz deposu etkinleştirilmiş bir Azure Cosmos DB kapsayıcısı oluşturmak için Tamam'ı seçin.
Kapsayıcı oluşturulduktan sonra, Veri Gezgini Belgeler'in hemen altındaki Ayarlar'a tıklayarak analiz deposunun etkinleştirildiğini doğrulayın ve Analiz Deposu Yaşam Süresi seçeneğinin açık olup olmadığını denetleyin.
Mevcut kapsayıcı
Azure portalında veya Azure Cosmos DB Gezgini'nde oturum açın.
Azure Cosmos DB hesabınıza gidin ve Azure Synapse Link sekmesini açın.
Kapsayıcılarınız için Azure Synapse Link'i etkinleştir bölümünün altında kapsayıcıyı seçin.
Kapsayıcı etkinleştirildikten sonra, Veri Gezgini Belgeler'in hemen altındaki Ayarlar'a tıklayarak analiz deposunun etkinleştirildiğini doğrulayın ve Analiz Deposu Yaşam Süresi seçeneğinin açık olup olmadığını denetleyin.
Not
Sol gezinti menüsünün Tümleştirmeler bölümünde Power BI ve Synapse Link bölmesini kullanarak hesabınız için Synapse Link'i de etkinleştirebilirsiniz.
Komut Satırı Araçları
Azure CLI
Aşağıdaki seçenekler, özelliğini ayarlayarak Azure CLI kullanarak bir kapsayıcıda Synapse Link'i --analytical-storage-ttl
etkinleştirir.
- Azure Cosmos DB MongoDB koleksiyonu oluşturma veya güncelleştirme
- Azure Cosmos DB SQL API kapsayıcısı oluşturma veya güncelleştirme
Gremlin API Graphs için Azure Synapse Link'i etkinleştirmek için Azure CLI kullanma
Gremlin API için Synapse Link artık önizleme aşamasındadır. Synapse Link'i Azure CLI kullanarak yeni veya mevcut Graph'lerinizde etkinleştirebilirsiniz. Gremlin API grafiklerinizde Synapse Link'i etkinleştirmek için aşağıdaki CLI komutunu kullanın:
az cosmosdb gremlin graph create --g MyResourceGroup --a MyCosmosDBGremlinDatabaseAccount --d MyGremlinDB --n MyGraph --analytical-storage-ttl –1
Mevcut grafikler için değerini ile update
değiştirincreate
.
PowerShell
Aşağıdaki seçenekler, özelliğini ayarlayarak Azure CLI kullanarak bir kapsayıcıda Synapse Link'i -AnalyticalStorageTtl
etkinleştirir.
- Azure Cosmos DB MongoDB koleksiyonu oluşturma veya güncelleştirme
- Azure Cosmos DB SQL API kapsayıcısı oluşturma veya güncelleştirme
Azure Cosmos DB SDK'ları - yalnızca SQL API'leri
.NET SDK
Aşağıdaki .NET kodu, özelliğini ayarlayarak AnalyticalStoreTimeToLiveInSeconds
Synapse Link özellikli bir kapsayıcı oluşturur. Mevcut bir kapsayıcıyı Container.ReplaceContainerAsync
güncelleştirmek için yöntemini kullanın.
CosmosClient cosmosClient = new CosmosClient(
accountEndpoint: "<nosql-account-endpoint>",
tokenCredential: new DefaultAzureCredential()
);
// Create a container with a partition key, and analytical TTL configured to -1 (infinite retention)
ContainerProperties properties = new ContainerProperties()
{
Id = "myContainerId",
PartitionKeyPath = "/id",
AnalyticalStoreTimeToLiveInSeconds = -1,
};
await cosmosClient.GetDatabase("myDatabase").CreateContainerAsync(properties);
Java V4 SDK
Aşağıdaki Java kodu, özelliğini ayarlayarak setAnalyticalStoreTimeToLiveInSeconds
Synapse Link özellikli bir kapsayıcı oluşturur. Mevcut kapsayıcıyı güncelleştirmek için sınıfını container.replace
kullanın.
// Create a container with a partition key and analytical TTL configured to -1 (infinite retention)
CosmosContainerProperties containerProperties = new CosmosContainerProperties("myContainer", "/myPartitionKey");
containerProperties.setAnalyticalStoreTimeToLiveInSeconds(-1);
container = database.createContainerIfNotExists(containerProperties, 400).block().getContainer();
Python V4 SDK
Aşağıdaki Python kodu, özelliğini ayarlayarak analytical_storage_ttl
Synapse Link özellikli bir kapsayıcı oluşturur. Mevcut bir kapsayıcıyı replace_container
güncelleştirmek için yöntemini kullanın.
# Client
client = cosmos_client.CosmosClient(HOST, KEY )
# Database client
try:
db = client.create_database(DATABASE)
except exceptions.CosmosResourceExistsError:
db = client.get_database_client(DATABASE)
# Creating the container with analytical store enabled
try:
container = db.create_container(
id=CONTAINER,
partition_key=PartitionKey(path='/id', kind='Hash'),analytical_storage_ttl=-1
)
properties = container.read()
print('Container with id \'{0}\' created'.format(container.id))
print('Partition Key - \'{0}\''.format(properties['partitionKey']))
except exceptions.CosmosResourceExistsError:
print('A container with already exists')
Synapse çalışma alanına bağlanma
Azure Synapse Link ile Azure Synapse Analytics Studio'dan Azure Cosmos DB veritabanına erişme hakkında Azure Synapse Link'e bağlanma yönergelerini kullanın.
Azure Synapse Analytics kullanarak analiz deposunu sorgulama
Azure Synapse Analytics için Apache Spark kullanarak analiz deposunu sorgulama
Synapse Spark 3 ile sorgulama hakkında Spark 3 kullanarak Azure Cosmos DB analiz deposunu sorgulama makalesindeki yönergeleri kullanın. Bu makalede Synapse hareketlerinden analiz deposuyla nasıl etkileşim kurabileceğinize ilişkin bazı örnekler verilmektedir. Bir kapsayıcıya sağ tıkladığınızda bu hareketler görünür. Hareketlerle hızlı bir şekilde kod oluşturabilir ve gereksinimlerinize göre ayarlayabilirsiniz. Tek tıklamayla verileri bulmak için de mükemmeldir.
Spark 2 tümleştirmesi için Spark 2 kullanarak Azure Cosmos DB analiz deposunu sorgulama makalesindeki yönergeleri kullanın.
Azure Synapse Analytics'te sunucusuz SQL havuzunu kullanarak analiz deposunu sorgulama
Sunucusuz SQL havuzu, Azure Synapse Link ile etkinleştirilen Azure Cosmos DB kapsayıcılarınızdaki verileri sorgulamanıza ve analiz etmenizi sağlar. İşlem iş yüklerinizin performansını etkilemeden verileri neredeyse gerçek zamanlı olarak analiz edebilirsiniz. Analiz deposundaki verileri sorgulamak için tanıdık bir T-SQL söz dizimi ve T-SQL arabirimi aracılığıyla çok çeşitli BI ve geçici sorgulama araçlarıyla tümleşik bağlantı sunar. Daha fazla bilgi edinmek için Sunucusuz SQL havuzu kullanarak analiz deposunu sorgulama makalesine bakın.
Power BI'da verileri çözümlemek ve görselleştirmek için sunucusuz SQL havuzunu kullanma
Yalnızca birkaç tıklamayla Synapse Link kullanarak BI panoları oluşturmak için Azure Cosmos DB portalında tümleşik BI deneyimini kullanabilirsiniz. Daha fazla bilgi edinmek için bkz . Synapse Link kullanarak BI panoları oluşturma. Bu tümleşik deneyim, Azure Cosmos DB kapsayıcılarınız için Synapse sunucusuz SQL havuzlarında basit T-SQL görünümleri oluşturur. Bu görünümler üzerinden BI panoları oluşturabilirsiniz. Bu panolar, Direct Query kullanarak Azure Cosmos DB kapsayıcılarınızı gerçek zamanlı olarak sorgulayabilir ve verilerinizde yapılan en son değişiklikleri yansıtır. İşlem iş yüklerinizde performans veya maliyet etkisi yoktur ve ETL işlem hatlarını yönetmenin karmaşıklığı yoktur.
Kapsayıcılarınızda birleşimlerle gelişmiş T-SQL görünümlerini kullanmak veya İçeri Aktarma modunda Power BI panoları oluşturmak istiyorsanız bkz. Synapse Link ile Azure Cosmos DB verilerini analiz etmek için sunucusuz SQL havuzu kullanma.
En İyi Yöntemlerle Performansı Geliştirme
Özel Bölümleme
Özel bölümleme, analitik sorgularda filtre olarak yaygın olarak kullanılan alanlarda analiz deposu verilerini bölümlemenize olanak tanır ve böylece sorgu performansı iyileştirilir. Daha fazla bilgi edinmek için özel bölümlemeye giriş ve özel bölümleme makalelerini yapılandırma makalelerine bakın.
Cosmos DB için Azure Synapse Link için Synapse SQL Sunucusuz en iyi yöntemleri
SQL sunucusuz sorgularınız için bu zorunlu en iyi yöntemleri kullanın.
Azure Synapse Link'i kullanmaya başlama - Örnekler
GitHub'da Azure Synapse Link'i kullanmaya başlamak için örnekler bulabilirsiniz. Bunlar IoT ve perakende senaryolarıyla uçtan uca çözümleri gösterir. MongoDB için Azure Cosmos DB'ye karşılık gelen örnekleri mongoDB klasörünün altındaki aynı depoda da bulabilirsiniz.
Sonraki adımlar
Daha fazla bilgi edinmek için aşağıdaki belgelere bakın:
- Azure Cosmos DB için Azure Synapse Link'i yapılandırma hakkında eğitim modülünü gözden geçirin.
- Azure Cosmos DB analiz deposuna genel bakış.
- Azure Cosmos DB için Synapse Link hakkında sık sorulan sorular.
- Azure Synapse Analytics'te Apache Spark.
- Azure Synapse Analytics'te sunucusuz SQL havuzu çalışma zamanı desteği.