Mengonfigurasi dan menggunakan Azure Synapse Link untuk Azure Cosmos DB

BERLAKU UNTUK: Nosql MongoDB Gremlin

Azure Synapse Link untuk Azure Cosmos DB adalah kemampuan pemrosesan transaksional dan analitik hibrida native cloud yang memungkinkan Anda menjalankan analitik mendekati real-time melalui data operasional di Azure Cosmos DB. Synapse Link menciptakan integrasi mulus yang ketat antara Azure Cosmos DB dan Azure Synapse Analytics.

Azure Synapse Link tersedia untuk Azure Cosmos DB SQL API atau untuk akun Azure Cosmos DB API for Mongo DB. Dan dalam pratinjau untuk Gremlin API, dengan aktivasi melalui perintah CLI. Gunakan langkah-langkah berikut untuk menjalankan kueri analitik dengan Azure Synapse Link untuk Azure Cosmos DB:

Anda juga dapat memeriksa modul pelatihan tentang cara mengonfigurasi Azure Synapse Link untuk Azure Cosmos DB.

Langkah pertama untuk menggunakan Synapse Link adalah mengaktifkannya untuk akun database Azure Cosmos DB Anda.

Catatan

Jika Anda ingin menggunakan kunci yang dikelola pelanggan dengan Azure Synapse Link, Anda harus mengonfigurasi identitas terkelola akun Anda dalam kebijakan akses Azure Key Vault Anda sebelum mengaktifkan Synapse Link di akun Anda. Untuk mempelajari selengkapnya, lihat artikel cara Mengonfigurasi kunci yang dikelola pelanggan menggunakan identitas yang dikelola akun Azure Cosmos DB.

Catatan

Jika Anda ingin menggunakan Skema Keakuratan Penuh untuk API untuk akun NoSQL, Anda tidak dapat menggunakan portal Azure untuk mengaktifkan Synapse Link. Opsi ini tidak dapat diubah setelah Synapse Link diaktifkan di akun Anda dan untuk mengaturnya Anda harus menggunakan Azure CLI atau PowerShell. Untuk informasi lebih lanjut, periksa dokumentasi representasi skema toko analitis.

Catatan

Anda memerlukan peran Kontributor untuk mengaktifkan Synapse Link di tingkat akun. Dan Anda memerlukan setidaknya peran Operator untuk mengaktifkan Synapse Link dalam kontainer atau koleksi Anda.

Portal Azure

  1. Masuk ke portal Azure.

  2. Buat akun Azure baru, atau pilih akun Azure Cosmos DB yang sudah ada.

  3. Navigasikan ke akun Azure Cosmos DB Anda dan buka Azure Synapse Link di bawah Integrasi di panel kiri.

  4. Klik Aktifkan. Diperlukan waktu 1 hingga 5 menit untuk menyelesaikan proses ini.

    Screenshot showing how to enable Synapse Link feature.

  5. Akun Anda sekarang diaktifkan untuk menggunakan Synapse Link. Selanjutnya, lihat cara membuat kontainer yang diaktifkan oleh penyimpanan analitik untuk secara otomatis mulai mereplikasi data operasional Anda dari penyimpanan transaksional ke penyimpanan analitis.

Catatan

Mengaktifkan Synapse Link tidak mengaktifkan penyimpanan analitis secara otomatis. Setelah Anda mengaktifkan Synapse Link pada akun Cosmos DB, aktifkan penyimpanan analitik pada kontainer untuk mulai menggunakan Synapse Link.

Catatan

Anda juga bisa mengaktifkan Synapse Link untuk akun Anda menggunakan Power BI dan panel Synapse Link , di bagian Integrasi di menu navigasi kiri.

Alat Baris Perintah

Aktifkan Synapse Link di akun API SQL Cosmos DB atau API MongoDB Anda menggunakan Azure CLI atau PowerShell.

Azure CLI

Gunakan --enable-analytical-storage true untuk membuat atau memperbarui operasi. Anda juga perlu memilih tipe skema representasi. Untuk API untuk akun NoSQL, Anda dapat menggunakan --analytical-storage-schema-type dengan nilai FullFidelity atau WellDefined. Untuk API untuk akun MongoDB, selalu gunakan --analytical-storage-schema-type FullFidelity.

Synapse Link untuk Gremlin API sekarang dalam pratinjau. Anda dapat mengaktifkan Synapse Link di grafik baru atau yang sudah ada menggunakan Azure CLI. Gunakan perintah CLI di bawah ini untuk mengaktifkan Synapse Link untuk akun Gremlin API Anda:

az cosmosdb create --capabilities EnableGremlin --name MyCosmosDBGremlinDatabaseAccount --resource-group MyResourceGroup --enable-analytical-storage true

Untuk akun Gremlin API yang ada, ganti create dengan update.

PowerShell

Gunakan EnableAnalyticalStorage true untuk membuat atau memperbarui operasi. Anda juga perlu memilih tipe skema representasi. Untuk API untuk akun NoSQL, Anda dapat menggunakan --analytical-storage-schema-type dengan nilai FullFidelity atau WellDefined. Untuk API untuk akun MongoDB, selalu gunakan -AnalyticalStorageSchemaType FullFidelity.

Templat Azure Resource Manager

Templat Azure Resource Manager ini membuat akun Azure Cosmos DB yang diaktifkan Synapse Link untuk SQL API. Templat ini membuat akun Core (SQL) AP di satu wilayah dengan kontainer yang dikonfigurasi menggunakan TTL analitis yang diaktifkan, dan opsi untuk menggunakan throughput manual atau autoscale. Untuk menerapkan templat ini, klik Sebarkan ke Azure pada halaman readme.

Aktifkan Azure Synapse Link untuk kontainer Anda

Langkah kedua adalah mengaktifkan Synapse Link untuk kontainer atau koleksi Anda. Ini dicapai dengan mengatur analytical TTL properti ke -1 untuk retensi tak terbatas, atau ke bilangan bulat positif, yaitu jumlah detik yang ingin Anda simpan di penyimpanan analitis. Pengaturan ini dapat diubah nanti. Untuk informasi selengkapnya, lihat artikel nilai yang didukung TTL analitis.

Harap perhatikan detail berikut saat mengaktifkan Azure Synapse Link pada kontainer SQL API yang ada:

  • Isolasi performa yang sama dari proses sinkronisasi otomatis penyimpanan analitik berlaku untuk sinkronisasi awal dan tidak ada dampak perfromapada beban kerja OLTP Anda.
  • Sinkronisasi awal kontainer dengan total waktu penyimpanan analitik akan bervariasi tergantung pada volume data dan kompleksitas dokumen. Proses ini dapat memerlukan waktu dari beberapa detik hingga beberapa hari. Harap gunakan portal Azure untuk memantau kemajuan migrasi.
  • Throughput kontainer Anda, atau akun database, juga memengaruhi total waktu sinkronisasi awal. Meskipun RU/dtk tidak digunakan dalam migrasi ini, total RU/dtk yang tersedia memengaruhi performa proses. Anda dapat meningkatkan RU/dtk yang tersedia dari lingkungan untuk mempercepat proses untuk sementara waktu.
  • Anda tidak akan dapat mengkueri penyimpanan analitik dari kontainer yang ada saat Synapse Link diaktifkan pada kontainer tersebut. Beban kerja OLTP Anda tidak terpengaruh dan Anda dapat terus membaca data secara normal. Data yang diserap setelah dimulainya sinkronisasi awal akan digabungkan ke dalam penyimpanan analitik oleh proses sinkronisasi otomatis penyimpanan analitik reguler.

Catatan

Sekarang Anda dapat mengaktifkan Synapse Link pada koleksi API MongoDB yang ada, menggunakan Azure CLI atau PowerShell.

Portal Azure

Kontainer baru

  1. Masuk ke portal Microsoft Azure atau Azure Cosmos DB Explorer.

  2. Buka akun Microsoft Azure Cosmos DB Anda dan buka tab Azure Data Explorer.

  3. Pilih Kontainer Baru dan masukkan nama untuk database, kontainer, kunci partisi, dan detail throughput Anda. Aktifkan opsi Penyimpanan analitik. Setelah Anda mengaktifkan penyimpanan analitis, kontainer akan dibuat dengan properti analytical TTL diatur ke nilai default -1 (retensi tak terbatas). Penyimpanan analitik ini yang menyimpan semua versi historis catatan dan dapat diubah nanti.

    Turn on analytical store for Azure Cosmos DB container

  4. Jika sebelumnya Anda belum mengaktifkan Synapse Link di akun ini, Anda akan diminta melakukannya karena prasyarat untuk membuat kontainer yang diaktifkan penyimpanan analitis. Jika diminta, pilih Aktifkan Synapse Link. Diperlukan waktu 1 hingga 5 menit untuk menyelesaikan proses ini.

  5. Pilih OK, untuk membuat kontainer Azure Cosmos DB yang diaktifkan penyimpanan analitik.

  6. Setelah kontainer dibuat, pastikan penyimpanan analitik telah diaktifkan dengan mengklik Pengaturan, tepat di bawah Dokumen di Data Explorer, dan pastikan opsi Time to Live Penyimpanan Analitis telah diaktifkan.

Kontainer yang ada

  1. Masuk ke portal Microsoft Azure atau Azure Cosmos DB Explorer.

  2. Navigasi ke akun Azure Cosmos DB Anda dan buka tab Azure Synapse Link .

  3. Di bawah bagian Aktifkan Azure Synapse Link untuk kontainer Anda pilih kontainer.

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

  4. Setelah pengaktifan kontainer, verifikasi bahwa penyimpanan analitik telah diaktifkan dengan mengeklik Pengaturan, tepat di bawah Dokumen di Data Explorer, dan periksa apakah opsi Analytical Store Time to Live diaktifkan.

Catatan

Anda juga bisa mengaktifkan Synapse Link untuk akun Anda menggunakan Power BI dan panel Synapse Link , di bagian Integrasi di menu navigasi kiri.

Alat Baris Perintah

Azure CLI

Opsi berikut mengaktifkan Synapse Link dalam kontainer dengan menggunakan Azure CLI dengan mengatur --analytical-storage-ttl properti .

Synapse Link untuk Gremlin API sekarang dalam pratinjau. Anda dapat mengaktifkan Synapse Link di Grafik baru atau yang sudah ada menggunakan Azure CLI. Gunakan perintah CLI di bawah ini untuk mengaktifkan Synapse Link untuk grafik Gremlin API Anda:

az cosmosdb gremlin graph create --g MyResourceGroup --a MyCosmosDBGremlinDatabaseAccount --d MyGremlinDB --n MyGraph --analytical-storage-ttl –1

Untuk grafik yang ada, ganti create dengan update.

PowerShell

Opsi berikut mengaktifkan Synapse Link dalam kontainer dengan menggunakan Azure CLI dengan mengatur -AnalyticalStorageTtl properti .

Azure Cosmos DB SDK - SQL API saja

.NET SDK

Kode .NET berikut membuat kontainer yang diaktifkan Synapse Link dengan mengatur AnalyticalStoreTimeToLiveInSeconds properti . Untuk memperbarui kontainer yang ada, gunakan metode .Container.ReplaceContainerAsync

// 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

Kode Java berikut membuat kontainer yang diaktifkan Synapse Link dengan mengatur setAnalyticalStoreTimeToLiveInSeconds properti . Untuk memperbarui kontainer yang ada, gunakan container.replace kelas .

// 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

Kode Python berikut membuat kontainer yang diaktifkan Synapse Link dengan mengatur analytical_storage_ttl properti . Untuk memperbarui kontainer yang ada, gunakan metode .replace_container

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

Menyambungkan ke ruang kerja Synapse

Gunakan instruksi di Menghubungkan ke Azure Synapse Link tentang cara mengakses database Azure Cosmos DB dari Azure Synapse Analytics Studio dengan Azure Synapse Link.

Penyimpanan analitik kueri menggunakan Azure Synapse Analytics

Mengkueri penyimpanan analitik menggunakan Apache Spark untuk Azure Synapse Analytics

Gunakan petunjuk di artikel Query Azure Cosmos DB analytic store using Spark 3 tentang cara membuat kueri dengan Synapse Spark 3. Artikel tersebut memberikan beberapa contoh bagaimana Anda dapat berinteraksi dengan penyimpanan analitik dari isyarat Synapse. Gerakan-gerakan tersebut terlihat saat Anda mengklik kanan pada kontainer. Dengan gerakan, Anda dapat dengan cepat menghasilkan kode dan mengubahnya sesuai kebutuhan Anda. Gesture juga sempurna untuk menemukan data dengan satu klik.

Untuk integrasi Spark 2, gunakan instruksi di artikel Penyimpanan analitik Query Azure Cosmos DB menggunakan Spark 2.

Mengkueri penyimpanan analitik menggunakan kumpulan SQL tanpa server di Azure Synapse Analytics

Kumpulan SQL serverless memungkinkan Anda untuk mengkueri dan menganalisis data dalam kontainer Azure Cosmos DB Anda yang diaktifkan dengan Azure Synapse Link. Anda dapat menganalisis data dalam waktu dekat secara real-time tanpa memengaruhi performa beban kerja transaksional Anda. Ini menawarkan sintaks T-SQL yang akrab untuk mengkueri data dari penyimpanan analitis dan konektivitas terintegrasi ke berbagai alat BI dan kueri ad-hoc melalui antarmuka T-SQL. Untuk mempelajari selengkapnya, lihat artikel Penyimpanan analitik kueri menggunakan kumpulan SQL serverless.

Menggunakan kumpulan SQL tanpa server untuk menganalisis dan memvisualisasikan data di Power BI

Anda dapat menggunakan pengalaman BI terintegrasi di portal Azure Cosmos DB, untuk membangun dasbor BI menggunakan Synapse Link hanya dengan beberapa klik. Untuk mempelajari selengkapnya, lihat cara membuat dasbor BI menggunakan Synapse Link. Pengalaman terintegrasi ini akan menciptakan tampilan T-SQL sederhana di kumpulan SQL tanpa server Synapse, untuk kontainer Azure Cosmos DB Anda. Anda dapat membuat dasbor BI di atas tampilan ini, yang akan mengkueri kontainer Azure Cosmos DB Anda secara real time, menggunakan Direct Query, yang mencerminkan perubahan terbaru pada data Anda. Tidak ada dampak performa atau biaya pada beban kerja transaksional Anda, dan tidak ada kompleksitas dalam mengelola alur ETL.

Jika Anda ingin menggunakan tampilan T-SQL tingkat lanjut dengan gabungan di seluruh kontainer Anda atau membangun dasbor Power BI dalam mode Impor, lihat Menggunakan kumpulan SQL tanpa server untuk menganalisis data Azure Cosmos DB dengan Synapse Link.

Meningkatkan Performa dengan Praktik Terbaik

Pemartisian Kustom

Pemartisian kustom memungkinkan Anda untuk mempartisi data penyimpanan analitik pada bidang yang umumnya digunakan sebagai filter dalam kueri analitik, menghasilkan peningkatan performa kueri. Untuk mempelajari selengkapnya, lihat artikel pengantar partisi kustom dan cara mengonfigurasi partisi kustom.

Gunakan praktik terbaik wajib ini untuk kueri tanpa server SQL Anda.

Anda dapat menemukan sampel untuk memulai dengan Azure Synapse Link di GitHub. Ini menampilkan solusi end-to-end dengan IoT dan skenario retail. Anda juga dapat menemukan sampel yang sesuai dengan Azure Cosmos DB for MongoDB dalam repositori yang sama di bawah folder MongoDB .

Langkah berikutnya

Untuk mempelajari lebih lanjut, lihat dokumen berikut ini: