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.

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:

Ayrıca, Azure Cosmos DB için Azure Synapse Link'i yapılandırma hakkında eğitim modülünü de kontrol edebilirsiniz.

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ör rolüne ihtiyacınız vardır.

Azure portal

  1. Azure Portal’ında oturum açın.

  2. Yeni bir Azure hesabı oluşturun veya mevcut Azure Cosmos DB hesabını seçin.

  3. Azure Cosmos DB hesabınıza gidin ve sol bölmedeki Tümleştirmeler'in altında Azure Synapse Link'i açın.

  4. Etkinleştir'i seçin. Bu işlemin tamamlanması 1-5 dakika sürebilir.

    Screenshot showing how to enable Synapse Link feature.

  5. 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 WellDefineddeğerleriyle FullFidelity kullanabilirsiniz--analytical-storage-schema-type. MongoDB hesapları için API için her zaman kullanın --analytical-storage-schema-type FullFidelity.

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 updatedeğ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 WellDefineddeğerleriyle FullFidelity kullanabilirsiniz--analytical-storage-schema-type. MongoDB hesapları için API için her zaman kullanın -AnalyticalStorageSchemaType FullFidelity.

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

  1. Azure portalında veya Azure Cosmos DB Gezgini'nde oturum açın.

  2. Azure Cosmos DB hesabınıza gidin ve Veri Gezgini sekmesini açın.

  3. 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.

    Turn on analytical store for Azure Cosmos DB container

  4. 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.

  5. Analiz deposu etkinleştirilmiş bir Azure Cosmos DB kapsayıcısı oluşturmak için Tamam'ı seçin.

  6. Kapsayıcı oluşturulduktan sonra, Veri Gezgini Belgeler'in hemen altındaki Ayarlar 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ı

  1. Azure portalında veya Azure Cosmos DB Gezgini'nde oturum açın.

  2. Azure Cosmos DB hesabınıza gidin ve Azure Synapse Link sekmesini açın.

  3. 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.

    Screenshot showing how to turn on analytical store for an Azure Cosmos DB existing container.

  4. Kapsayıcı etkinleştirildikten sonra, Veri Gezgini Belgeler'in hemen altındaki Ayarlar 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.

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 updatedeğ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 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.

// 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,
};
CosmosClient cosmosClient = new CosmosClient("myConnectionString");
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ğlan

Azure Synapse Link ile Azure Synapse Analytics Studio'dan Azure Cosmos DB veritabanına erişme hakkında Azure Synapse Link'e Bağlan 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.

SQL sunucusuz sorgularınız için bu zorunlu en iyi yöntemleri kullanın.

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: