Azure Cosmos DB için Azure Synapse Link'i yapılandırma ve kullanma

Uygulama hedefı: MongoDB IÇIN SQL API Azure Cosmos DB API 'si

Azure Cosmos DB için Azure Synapse Link, Azure Cosmos DB'de işlem verileri üzerinde neredeyse gerçek zamanlı analiz çalıştırmanızı sağlayan buluta özel bir hibrit işlem ve analitik işleme (HTAP) özelliğidir. Synapse Link, Azure Cosmos DB ile Azure Synapse Analytics.

Azure Synapse Link, Azure Cosmos DB SQL API'si veya Mongo DB hesapları için Azure Cosmos DB API'si için kullanılabilir. Azure Cosmos DB için Azure Synapse Link ile analiz sorguları çalıştırmak için aşağıdaki Cosmos kullanın:

Azure Cosmos DB için Azure Synapse Link'i yapılandırma hakkında bilgi edinin modülünü de Cosmos edinebilirsiniz.

Not

Azure Synapse Link ile müşteri tarafından yönetilen anahtarları kullanmak için, Azure Key Vault erişim ilkeniz ile hesabınız için yönetilen kimliği Synapse Link yapılandırmanız gerekir. Daha fazla bilgi edinmek için Azure veritabanı hesaplarının yönetilen kimliklerini kullanarak Cosmos yönetilen anahtarları yapılandırma makalesine bakın.

Not

SQL (CORE) API hesapları için Tam Uygunluk Şeması'Azure portal kullanmak için Synapse Link. Bu seçenek, Synapse Link etkinleştirildikten sonra değiştirilemez ve bunu ayarlamak için Azure CLI veya PowerShell kullansanız gerekir. Daha fazla bilgi için analiz deposu şema gösterimi belgelerini inceleyin.

Azure portal

  1. Azure portal oturum açın.

  2. Yeni bir Azure hesabı oluşturunveya var olan bir Azure Cosmos DB hesabını seçin.

  3. Azure Cosmos DB hesabınıza gidin ve Özellikler bölmesini açın.

  4. Özellikler Synapse Link'yi seçin.

    Özellik Synapse Link bulma

  5. Ardından, synapse bağlantısını hesabınız üzerinde etkinleştirmeniz istenir. Etkinleştir’i seçin. Bu sürecin tamamlanması 1-5 dakika sürebilir.

    Synapse Link özelliğini etkinleştirme

  6. Hesabınız artık Synapse Link. Ardından işlemsel verilerinizi işlem mağazasından analiz deposuna otomatik olarak çoğaltmaya başlamak için analiz deposu özellikli kapsayıcılar oluşturma hakkında bilgi edinebilirsiniz.

Not

Analiz Synapse Link otomatik olarak açmaz. Cosmos DB hesabında Synapse Link etkinleştir Synapse Link kapsayıcılarda analiz depolarını kullanmaya Synapse Link.

Komut Satırı Araçları

Azure CLI Synapse Link PowerShell kullanarak Cosmos DB SQL API'si veya MongoDB API'si hesabınızla oturum açın.

Azure CLI

Oluşturma --enable-analytical-storage true veya güncelleştirme işlemleri için kullanın. Ayrıca gösterim şeması türünü de seçmeniz gerekir. Api SQL için veya --analytical-storage-schema-type değerleriyle FullFidelity WellDefined kullanabilirsiniz. MongoDB API hesapları için her zaman --analytical-storage-schema-type FullFidelity kullanın.

PowerShell

Oluşturma EnableAnalyticalStorage true veya güncelleştirme işlemleri için kullanın. Ayrıca gösterim şeması türünü de seçmeniz gerekir. Api SQL için veya --analytical-storage-schema-type değerleriyle FullFidelity WellDefined kullanabilirsiniz. MongoDB API hesapları için her zaman -AnalyticalStorageSchemaType FullFidelity kullanın.

Analiz deposu etkin kapsayıcı oluşturma

Aşağıdaki seçeneklerden birini kullanarak Azure Cosmos DB kapsayıcısı oluştururken analiz depolarını açabilirsiniz.

Azure portal

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

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

  3. Yeni Kapsayıcı'ya tıklayın 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çma. Analiz depolarını etkinleştirdikten sonra özelliği varsayılan -1 (sonsuz saklama) değerine ayarlanmış analytical TTL bir kapsayıcı oluşturur. Bu analiz deposu, kayıtların tüm geçmiş sürümlerini korur ve daha sonra değiştirilebilir.

    Azure Cosmos DB kapsayıcısı için analiz depolarını açma

  4. Daha önce bu hesapta Synapse Link etkinleştirilmediyse, analiz deposu etkin bir kapsayıcı oluşturmak için önkul olduğundan bunu sizden istenir. İstendiğinde, Etkinleştir'i Synapse Link. Bu sürecin tamamlanması 1-5 dakika sürebilir.

  5. Tamam'ı seçerek azure veritabanı kapsayıcısı etkinleştirilmiş bir analiz Cosmos oluşturun.

  6. Kapsayıcı oluşturulduktan sonra Analiz Deposu'Ayarlar'nin hemen altındaki Veri Gezgini seçeneğine tıklayarak analiz deposu'Veri Gezgini etkinleştirildiğinden emin olun ve Analiz Deposu Yaşam Süresi seçeneğinin açık olup değildir.

Azure Cosmos DB SDK'ları

Analiz deposu analytical TTL özellikli bir kapsayıcı oluşturmak için özelliğini gerekli değere ayarlayın. İzin verilen değerlerin listesi için analiz TTL desteklenen değerler makalesine bakın.

.NET SDK

Aşağıdaki kod, .NET SDK'sı kullanarak analiz deposu ile bir kapsayıcı oluşturur. özelliğini AnalyticalStoreTimeToLiveInSeconds saniyeler içinde gerekli değere ayarlayın veya sonsuz saklama -1 için kullanın. Bu ayar daha sonra değiştirilebilir.

// 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 kod, Java V4 SDK'sı kullanarak analiz deposu ile bir kapsayıcı oluşturur. özelliğini AnalyticalStoreTimeToLiveInSeconds saniyeler içinde gerekli değere ayarlayın veya sonsuz saklama -1 için kullanın. Bu ayar daha sonra değiştirilebilir.

// 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'sı

Aşağıdaki kod Python V4 SDK'sı kullanarak analiz deposu ile bir kapsayıcı oluşturur. özelliğini analytical_storage_ttl saniyeler içinde gerekli değere ayarlayın veya sonsuz saklama -1 için kullanın. Bu ayar daha sonra değiştirilebilir.

# Azure Cosmos DB Python SDK, for SQL API only.
# Creating an analytical store enabled container.

import azure.cosmos as cosmos
import azure.cosmos.cosmos_client as cosmos_client
import azure.cosmos.exceptions as exceptions
from azure.cosmos.partition_key import PartitionKey

HOST = 'your-cosmos-db-account-URI'
KEY = 'your-cosmos-db-account-key'
DATABASE = 'your-cosmos-db-database-name'
CONTAINER = 'your-cosmos-db-container-name'

# 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')

Komut Satırı Araçları

Analiz deposu analytical TTL özellikli bir kapsayıcı oluşturmak için özelliğini gerekli değere ayarlayın. İzin verilen değerlerin listesi için analiz TTL desteklenen değerler makalesine bakın.

Azure CLI

Aşağıdaki seçenekler, Azure CLI kullanarak analiz deposu ile bir kapsayıcı oluşturun. özelliğini --analytical-storage-ttl saniyeler içinde gerekli değere ayarlayın veya sonsuz saklama -1 için kullanın. Bu ayar daha sonra değiştirilebilir.

PowerShell

Aşağıdaki seçenekler PowerShell kullanarak analiz deposu ile bir kapsayıcı oluşturabilir. özelliğini -AnalyticalStorageTtl saniyeler içinde gerekli değere ayarlayın veya sonsuz saklama -1 için kullanın. Bu ayar daha sonra değiştirilebilir.

Analiz depolarını mevcut bir kapsayıcıda etkinleştirme

Not

Kısa vadeli kapasite kısıtlamaları nedeniyle, mevcut kapsayıcılar üzerinde Synapse Link için kaydolmanız gerekir. Bekleyen isteklere bağlı olarak, bu isteğin onaylanması bir günden bir haftaya kadar herhangi bir zaman alır. İstek durumunu denetleme yönergeleri aşağıda verilmiştir. Bu adım abonelik başına bir kez gereklidir ve tüm yeni veritabanı hesaplarda da bu özellik etkinleştirilir. Mevcut kapsayıcılar özelliğini kullanma isteğinizi kaydede için aboneliğinizin katkıda bulunan veya yönetici Azure yerleşik rollerine ihtiyacınız vardır. Herhangi bir sorun veya sorularınız varsa lütfen ile iletişime cosmosdbsynapselink@microsoft.com erişin.

Not

Analiz depolarını mevcut Azure Cosmos DB SQL API kapsayıcılarında açabilirsiniz. Bu özellik genel olarak kullanılabilir ve üretim iş yükleri için kullanılabilir.

Var olan kapsayıcılar üzerinde Synapse Link aşağıdaki ayrıntıları not 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 deposuyla ilk eşitlemesi, veri hacmine ve belgelerin karmaşıklığına bağlı olarak değişir. Bu işlem birkaç saniyeden birkaç gün sonraya kadar sürebilir. Geçişin ilerleme Azure portal için lütfen aşağıdaki bilgileri kullanın.

  • Kapsayıcının veya veritabanı hesabının aktarım hızı, toplam ilk eşitleme zamanını da etkiler. Ru/sn bu geçişte kullanılmasa da, kullanılabilir toplam RU/sn, sürecin performansını etkiler. Süreci hızlandırmak için ortamınıza uygun RU'ları geçici olarak artırabilirsiniz.

  • Bu kapsayıcıda etkin olan bir kapsayıcının analiz deposunu Synapse Link sorgulayamayabilirsiniz. OLTP iş yükünüz etkilenmez ve verileri normal şekilde okumaya devam edin. İlk eşitleme başladıktan sonra gelen veriler, normal analiz deposu otomatik eşitleme işlemiyle analiz deposuyla birleştirilir.

  • Şu anda mevcut MongoDB API koleksiyonları desteklenmiyor. Alternatif olarak, verileri analiz deposu açık şekilde oluşturulmuş yeni bir koleksiyona geçirebilirsiniz.

Not

Şu anda analiz depolarını bir kapsayıcıdan kapatmak mümkün değildir. Analiz deposu fiyatlandırması hakkında daha fazla bilgi için buraya tıklayın.

Azure portal

  1. Azure portal veya Azure Cosmos DB Gezgini'nde oturum açın.
  2. Azure Cosmos DB hesabınıza gidin ve Tümleştirmeler Synapse Link" sekmesini açın. Bu sekmede şunları yapın:
  3. Aboneliğinizin onayını almak için Kaydol'a tıklayın. İsteğin durumunu görmek için lütfen aynı portal bölmesine geri dönebilirsiniz.
  4. Onaylandıktan sonra, hesap kapsayıcıları listesini görebilir ve analiz deposu etkinleştirilmiş olan kapsayıcıları seçebilirsiniz.
  5. İsteğe bağlı olarak, Power BI kapsayıcılar üzerinde yeni panolar oluşturmak için Tümleştirmeler Power BI Synapse Link gidebilirsiniz.

Komut Satırı Araçları

Analiz deposu analytical TTL özellikli bir kapsayıcı oluşturmak için özelliğini gerekli değere ayarlayın. İzin verilen değerlerin listesi için analiz TTL desteklenen değerler makalesine bakın.

Azure CLI

Azure CLI kullanarak var olan bir kapsayıcıda analiz depolarını etkinleştirmek için aşağıdaki adımları kullanın. özelliğini --analytical-storage-ttl saniyeler içinde gerekli değere ayarlayın veya sonsuz saklama -1 için kullanın. Bu ayar daha sonra değiştirilebilir.

  • kullanarak onay için az feature registration create --namespace Microsoft.DocumentDB --name AnalyticalStoreMigration kaydolma.
  • kullanarak istek durumunu kontrol az feature registration show --namespace Microsoft.DocumentDB --name AnalyticalStoreMigration edin.
  • İstek onaydan sonra Analiz ttl -1 değerini olarak güncelleştirin.
  • Geçiş durumunu Azure portal.

PowerShell

PowerShell kullanarak var olan bir kapsayıcıda analiz depolarını etkinleştirmek için aşağıdaki adımları kullanın. özelliğini -AnalyticalStorageTtl saniyeler içinde gerekli değere ayarlayın veya sonsuz saklama -1 için kullanın. Bu ayar daha sonra değiştirilebilir.

İsteğe bağlı - Analiz deposu yaşam süresi güncelleştirildi

Analiz deposu belirli bir TTL değeriyle etkinleştirildikten sonra bunu farklı bir geçerli değere güncelleştirmek istiyor olabilir. Azure portal, Azure CLI, PowerShell veya Cosmos DB SDK'larını kullanarak değeri güncelleştirin. Çeşitli Analiz TTL yapılandırma seçenekleri hakkında bilgi için analiz TTL'sinde desteklenen değerler makalesine bakın.

Azure portal

Analiz deposu etkin bir kapsayıcı oluşturduysanız Azure portal analytical TTL değerine sahip -1 olur. Bu değeri güncelleştirmek için aşağıdaki adımları kullanın:

  1. Azure portal veya Azure Cosmos DB Gezgini'nde oturum açın.
  2. Azure Cosmos DB hesabınıza gidin ve Veri Gezgini açın.
  3. Analiz deposu etkinleştirilmiş mevcut bir kapsayıcı seçin. Genişletin ve aşağıdaki değerleri yapın:
    1. Ölçek ve & Ayarlar açın.
    2. Ayar bul altında Analiz Depolama Yaşam Süresi'ne sahip olur.
    3. On (varsayılan yok) seçeneğini veya On (Varsayılan yok) öğesini seçin ve bir TTL değeri ayarlayın.
    4. Değişiklikleri kaydetmek için Kaydet’e tıklayın.

.NET SDK

Aşağıdaki kod, .NET SDK'sı kullanılarak analiz deposu için TTL'nin nasıl güncelleştirilerek oluşturulduğu gösterir:

// Get the container, update AnalyticalStorageTimeToLiveInSeconds 
ContainerResponse containerResponse = await client.GetContainer("database", "container").ReadContainerAsync();
// Update analytical store TTL
containerResponse.Resource. AnalyticalStorageTimeToLiveInSeconds = 60 * 60 * 24 * 180  // Expire analytical store data in 6 months;
await client.GetContainer("database", "container").ReplaceContainerAsync(containerResponse.Resource);

Java V4 SDK

Aşağıdaki kod, Java V4 SDK'sı kullanılarak analiz deposu için TTL'nin nasıl güncelleştirilerek güncelleştirilerek güncelleştirilerek oluşturulduğu gösterir:

CosmosContainerProperties containerProperties = new CosmosContainerProperties("myContainer", "/myPartitionKey");

// Update analytical store TTL to expire analytical store data in 6 months;
containerProperties.setAnalyticalStoreTimeToLiveInSeconds (60 * 60 * 24 * 180 );  
 
// Update container settings
container.replace(containerProperties).block();

Python V4 SDK'sı

Şu anda desteklenmiyor.

Azure CLI

Aşağıdaki bağlantılarda, Azure CLI kullanarak kapsayıcılar analiz TTL'sini güncelleştirme işlemi yer alır:

PowerShell

Aşağıdaki bağlantılarda Kapsayıcılar analiz TTL'sini PowerShell kullanarak güncelleştirme işlemi listelemektedir:

Bağlan Synapse çalışma alanına ekleme

Azure Synapse Analytics Studio'Bağlan Azure Cosmos DB veritabanına Azure Synapse Link ile erişme hakkında bilgi için Azure Synapse Analytics'daki Azure Synapse kullanın.

Analiz deposu için Apache Spark sorgu Azure Synapse Analytics

Synapse Spark 3 ile sorgulama hakkında Spark 3 Cosmos DB analiz deposu sorgulama makalesinde yer alan yönergeleri kullanın. Bu makalede Synapse hareketleriyle analiz deposuyla nasıl etkileşim kurabilirsiniz? ile ilgili bazı örnekler verilmiştir. Bir kapsayıcıya sağ tıklarken bu hareketler görünür. Hareketlerle hızlıca kod oluşturabilir ve bu kodu ihtiyaçlarınıza göre ince ayarlayabilirsiniz. Ayrıca tek tıklamayla verileri bulmak için de mükemmeldir.

Spark 2 tümleştirmesi için, Spark 2 kullanarak Azure Cosmos DB analiz deposu sorgulama makalesinde yer alan yönergeyi kullanın.

Analiz deposunun içinde sunucusuz havuz SQL analiz Azure Synapse Analytics

Sunucusuz SQL havuzu, Azure Synapse Link ile etkinleştirilen Azure Cosmos DB kapsayıcıları içinde verileri sorgulamanıza ve analiz etmenize olanak sağlar. İşlemsel iş yüklerinin performansını etkilemeden verileri neredeyse gerçek zamanlı olarak analiz edersiniz. Analiz mağazasından veri sorgulamak SQL 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ına tümleşik bağlantı sunar. Daha fazla bilgi edinmek için Sunucusuz havuz kullanarak analiz SQL makalesine bakın.

Veri havuzu SQL analiz etmek ve görselleştirmek için sunucusuz Power BI

Azure veritabanı veritabanı için SQL sunucusuz bir havuz veritabanı ve Synapse Link sunucusuz Cosmos oluşturabilirsiniz. Daha sonra Azure Cosmos DB kapsayıcılarını sorgular ve ardından bu görünümler Power BI bu sorguyu yansıtacak şekilde bir model oluşturun. İşlem iş yükleriniz üzerinde performans veya maliyet etkisi yoktur ve ETL işlem hatlarını yönetme karmaşıklığı yoktur. DirectQuery veya içeri aktarma modlarını kullanabilirsiniz. Daha fazla bilgi edinmek için, Azure SQL DB verilerini analiz etmek için Sunucusuz Cosmos havuzu kullanma makalesine Synapse Link bakın.

Özel bölümleme yapılandırma

Özel bölümleme, analiz deposu verilerini analiz sorgularında filtre olarak kullanılan alanlara bölümlemenizi ve bu sayede daha iyi sorgu performansı elde ekleyebilirsiniz.Daha fazla bilgi edinmek için bkz. Özel bölümlemeye giriş ve özel bölümleme makalelerini yapılandırma.

Azure Resource Manager şablonu

Bu Azure Resource Manager API için Synapse Link azure Cosmos DB hesabı SQL oluşturur. Bu şablon, analiz TTL'si etkin olarak yapılandırılmış bir kapsayıcının ve el ile veya otomatik ölçeklendirme aktarım hızını kullanma seçeneğinin olduğu bir bölgede Çekirdek (SQL) API hesabı oluşturur. Bu şablonu dağıtmak için beni oku sayfasında Azure'a dağıt'a tıklayın.

GitHub'da Azure Synapse Link ile çalışmaya başlamaya GitHub. Bu çözümler, IoT ve perakende senaryolarıyla uzamaz. MongoDB için Azure Cosmos DB API'sini karşılık gelen örnekleri MongoDB klasörünün altındaki aynı klasörde de bulabilirsiniz.

Sonraki adımlar

Daha fazla bilgi edinmek için aşağıdaki belgelere bakın: