All Products
Search
Document Center

PolarDB:Kompatibilitas dan keterbatasan

Last Updated:Jul 29, 2026

PolarDB for PostgreSQL dan sangat kompatibel dengan API utama Amazon DynamoDB. Sebelum menggunakan fitur ini atau melakukan migrasi data, pastikan Anda memahami cakupan kompatibilitas, keterbatasan, dan perbedaan perilaku yang dijelaskan dalam bagian ini agar layanan Anda dapat berjalan dengan lancar dan andal.

Alat penilaian kompatibilitas

Untuk membantu menilai kompatibilitas proyek dengan PolarDB, PolarDB menyediakan dua alat penilaian. Pilih salah satu berdasarkan lingkungan pengembangan Anda:

  • (Direkomendasikan) Kemampuan penilaian berbasis AI (dynamodb-compat-checker):

    • Paket kemampuan: dynamodb-compat-checker.zip

    • Kemampuan analisis cerdas yang dibangun di atas agen coding berbasis AI. AI secara langsung membaca dan memahami kode sumber proyek Anda untuk menghasilkan laporan penilaian kompatibilitas lengkap beserta rekomendasi migrasi.

  • Alat analisis kode statis lokal (polardb_ddb_code_digest):

    • Alat analisis: polardb_ddb_code_digest.tar.gz

    • Alat pemindaian statis tradisional yang mengekstraksi penggunaan API berdasarkan kata kunci dan aturan sintaksis, menghasilkan laporan penggunaan API untuk dievaluasi terhadap dokumen ini.

Panduan pemilihan alat

Kami merekomendasikan menggunakan kemampuan penilaian berbasis AI terlebih dahulu. Jika lingkungan pengembangan Anda memiliki asisten coding berbasis AI yang mendukung kemampuan (agent skills), seperti Qoder, Claude Code, atau Codex, gunakan dynamodb-compat-checker secara langsung. Keunggulannya meliputi:

  • Cakupan bahasa tanpa batas: Tidak bergantung pada parser bahasa yang telah ditentukan sebelumnya dan dapat menganalisis proyek dalam bahasa apa pun, termasuk Go, Python, Java, dan JavaScript/TypeScript, serta versi SDK AWS mana pun (termasuk wrapper tingkat tinggi seperti DocumentClient dan Enhanced Client).

  • Pemahaman lebih baik, hasil lebih akurat: AI dapat melacak kelas wrapper, pemanggilan tidak langsung, dan logika konstruksi parameter dalam proyek Anda, mengidentifikasi pola penggunaan yang tidak terdeteksi oleh pencocokan kata kunci statis. Hal ini secara efektif mengurangi false positive dan false negative.

  • Kesimpulan yang langsung dapat ditindaklanjuti: Selain mencantumkan API dan parameter yang digunakan, kemampuan ini secara otomatis melakukan cross-reference terhadap matriks kompatibilitas PolarDB dan memberikan kesimpulan migrasi, item yang memerlukan tindakan, peringatan perbedaan perilaku, serta rekomendasi migrasi. Anda tidak perlu mengevaluasi setiap item secara manual terhadap dokumen ini.

Jika lingkungan Anda tidak memiliki asisten coding berbasis AI, pertimbangkan menggunakan alat analisis kode statis lokal polardb_ddb_code_digest. Perhatikan bahwa alat statis ini memiliki beberapa keterbatasan: cakupan bahasa terbatas (saat ini hanya Go dan Python), serta bergantung pada pencocokan kata kunci statis yang dapat menghasilkan false positive atau false negative untuk pemanggilan yang dibungkus dan semantik dinamis. Output-nya hanya berupa daftar penggunaan API, sehingga Anda tetap perlu mengevaluasinya terhadap daftar keterbatasan dalam dokumen ini.

(Direkomendasikan) Kemampuan penilaian berbasis AI: dynamodb-compat-checker

Cara kerja

  1. Pemindaian kode: Setelah kemampuan ini dimuat, asisten coding berbasis AI langsung membaca dan memahami kode sumber proyek Anda, mengidentifikasi pola pembuatan klien DynamoDB serta semua lokasi pemanggilan API—termasuk kelas wrapper dan pemanggilan tidak langsung—tanpa mempertimbangkan bahasa pemrograman atau versi SDK yang digunakan.

  2. Perbandingan kompatibilitas: API, parameter, dan field respons yang terdeteksi dibandingkan satu per satu dengan matriks kompatibilitas PolarDB untuk mengidentifikasi item yang tidak didukung, parameter yang sudah usang, serta perbedaan perilaku.

  3. Generasi laporan: Laporan penilaian kompatibilitas terstruktur dynamodb_api_analysis_[project_name].md dihasilkan secara otomatis, berisi kesimpulan migrasi, item yang memerlukan tindakan, peringatan mengenai perbedaan perilaku, dan rekomendasi migrasi. Laporan ini hanya mencatat metadata seperti nama API dan nama parameter, tanpa menyertakan nilai data bisnis apa pun.

Instruksi penggunaan

  1. Unduh paket kemampuan penilaian berbasis AI.

  2. Ekstrak paket tersebut dan letakkan direktori dynamodb-compat-checker ke dalam direktori kemampuan asisten coding berbasis AI Anda (jalur pastinya bergantung pada produk, misalnya direktori kemampuan tingkat proyek .qoder/skills/ atau .claude/skills/).

  3. Buka proyek yang akan dinilai di asisten coding berbasis AI Anda dan kirim instruksi, contohnya:

    Please scan the DynamoDB API usage in the current project and generate a compatibility assessment report with PolarDB.
  4. Setelah penilaian selesai, lihat laporan yang dihasilkan dynamodb_api_analysis_[project_name].md di direktori root proyek.

Alat analisis kode statis lokal: polardb_ddb_code_digest

Cara kerja

  1. Pemindaian kode: Alat ini memindai direktori proyek yang ditentukan secara rekursif untuk mengidentifikasi dan mengurai file sumber. Saat ini mendukung Go dan Python.

  2. Analisis API: Berdasarkan spesifikasi resmi AWS SDK, alat ini mengekstraksi semua pemanggilan API DynamoDB, nama parameter, konstanta, dan struktur ekspresi.

  3. Generasi laporan: Alat ini membersihkan informasi yang dikumpulkan dengan menghapus semua nilai data bisnis, mengagregasi statistik, dan menghasilkan laporan penggunaan API terstruktur yang mencantumkan secara jelas API dan parameter yang digunakan oleh proyek Anda beserta frekuensi pemanggilannya.

Anda dapat menggunakan laporan ini untuk menilai kompatibilitas proyek Anda terhadap daftar keterbatasan dalam dokumen ini.

Instruksi penggunaan

  1. Unduh alat analisis kode statis lokal ke lingkungan aplikasi Anda.

  2. Ekstrak paket tersebut, masuk ke direktori hasil ekstraksi, lalu jalankan perintah berikut untuk menginstal dependensi proyek.

    1. Pastikan Anda telah menginstal Python 3.9.6 atau versi yang lebih baru.

    2. (Opsional) Untuk mengisolasi dependensi proyek dan mencegah konflik dengan paket global, buat dan aktifkan lingkungan virtual.

      python3 -m venv venv && source venv/bin/activate
    3. Instal dependensi proyek.

      pip3 install -r requirements.txt
  3. Pindai file sumber:

    • Untuk direktori file sumber Python: python3 main.py --dir <path/to/dir> --lang python > scan_output.log

    • Untuk direktori file sumber Go: python3 main.py --dir <path/to/dir> --lang go > scan_output.log

Keterbatasan dan perbedaan perilaku

Bagian ini menjelaskan perbedaan utama dalam fungsi dan perilaku antara PolarDB dan DynamoDB asli.

Keterbatasan umum

  • Parameter yang sudah usang: PolarDB mengikuti spesifikasi API terbaru. Parameter yang sudah usang dari versi lama, seperti AttributeUpdates, Expected, atau AttributesToGet, akan diabaikan atau menghasilkan error. Pastikan aplikasi Anda menggunakan parameter versi terbaru yang sesuai, seperti UpdateExpression, ConditionExpression, atau ProjectionExpression.

  • Pesan error: Pesan error untuk beberapa operasi mungkin berbeda dari DynamoDB asli.

  • Parameter statistik dan penagihan: PolarDB menerima parameter permintaan seperti ReturnConsumedCapacity, tetapi karena PolarDB menggunakan mode penagihan yang berbeda dari DynamoDB, parameter ini secara otomatis diabaikan. Field ConsumedCapacity yang dikembalikan tidak sepenuhnya selaras dengan semantik unit kapasitas DynamoDB AWS. Nilai ini hanya mencerminkan perilaku baca-tulis aktual di sisi PolarDB dan tidak digunakan untuk tujuan penagihan.

  • Proyeksi indeks: Saat Anda menentukan atribut yang diproyeksikan (NonKeyAttributes) untuk indeks sekunder, field yang diproyeksikan tidak boleh mencakup kunci primer tabel (kunci partisi dan kunci pengurutan) atau kunci primer milik indeks tersebut.

Perbedaan perilaku spesifik API

  • UpdateItem

    • Saat menggunakan REMOVE a.b untuk menghapus atribut bersarang yang induknya a tidak ada, DynamoDB asli mengembalikan error. Sebaliknya, PolarDB diam-diam mengabaikan operasi tersebut.

  • BatchWriteItem

    • Atomisitas: Penulisan batch di PolarDB merupakan operasi atomik. Artinya, semua operasi dalam satu permintaan berhasil atau gagal secara bersamaan. Akibatnya, field UnprocessedItems dalam respons selalu kosong.

    • Konflik kunci primer: DynamoDB asli tidak mengizinkan operasi PutItem dan DeleteItem pada kunci primer yang sama dalam satu permintaan. Namun, PolarDB saat ini mengizinkan operasi semacam itu.

  • BatchGetItem

    • Atomisitas: Mirip dengan penulisan batch, pembacaan batch juga merupakan operasi atomik. Akibatnya, field UnprocessedKeys dalam respons selalu kosong.

    • Kunci primer duplikat: DynamoDB asli tidak mengizinkan permintaan mencakup kunci primer duplikat. PolarDB mengizinkan kunci primer duplikat dan mengembalikan satu item untuk setiap kunci tersebut.

  • Query/Scan

    • Dalam respons, ScannedCount selalu sama dengan Count. PolarDB tidak membedakan jumlah item sebelum dan sesudah penerapan filter (FilterExpression).

  • TransactGetItems/TransactWriteItems

    • DynamoDB asli tidak mengizinkan beberapa operasi pada kunci primer yang sama dalam satu transaksi. Namun, PolarDB saat ini mengizinkan operasi semacam itu.

    • TransactionCanceledException saat ini hanya memiliki dua alasan: ConditionalCheckFailed dan TransactionConflict. Alasan ItemCollectionSizeLimitExceeded, ProvisionedThroughputExceeded, dan ThrottlingError tidak terjadi di PolarDB. Alih-alih menyertakan ValidationError sebagai alasan dalam TransactionCanceledException, PolarDB melemparkan CommonError.

Perintah dan parameter

Catatan
  • Kolom Didukung:

    • Ya: Parameter ini didukung.

    • Tidak: Parameter ini tidak didukung.

  • Kolom Catatan: Memberikan informasi tambahan tentang parameter yang tidak didukung atau memiliki perilaku khusus.

CreateTable

API

Jenis parameter

Parameter

Wajib

Didukung

Keterangan

CreateTable

Parameter permintaan

AttributeDefinitions

Ya

Ya

-

KeySchema

Ya

Ya

-

TableName

Ya

Ya

-

BillingMode

Tidak

Tidak

Diabaikan jika ditentukan.

DeletionProtectionEnabled

Tidak

Ya

-

GlobalSecondaryIndexes

Tidak

Ya

-

LocalSecondaryIndexes

Tidak

Ya

-

OnDemandThroughput

Tidak

Tidak

Diabaikan jika ditentukan.

ProvisionedThroughput

Tidak

Ya

-

ResourcePolicy

Tidak

Tidak

Diabaikan jika ditentukan.

SSESpecification

Tidak

Tidak

Diabaikan jika ditentukan.

Catatan

Gunakan Transparent Data Encryption (TDE) untuk enkripsi.

StreamSpecification

Tidak

Tidak

Diabaikan jika ditentukan.

Catatan

Gunakan manajemen langganan untuk replikasi stream.

TableClass

Tidak

Tidak

Diabaikan jika ditentukan.

Tags

Tidak

Tidak

Diabaikan jika ditentukan.

WarmThroughput

Tidak

Tidak

Diabaikan jika ditentukan.

Parameter respons

TableDescription

-

Ya

-

DescribeTable

API

Jenis

Parameter

Wajib

Didukung

Catatan

DescribeTable

Permintaan

TableName

Ya

Ya

-

Respons

Table

-

Ya

-

ListTables

API

Jenis

Parameter

Wajib

Didukung

Catatan

ListTables

Parameter permintaan

ExclusiveStartTableName

Tidak

Ya

—

Limit

Tidak

Ya

—

Parameter respons

LastEvaluatedTableName

—

Ya

—

TableNames

—

Ya

—

UpdateTable

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

UpdateTable

parameter permintaan

TableName

Ya

Ya

-

AttributeDefinitions

Tidak

Ya

-

BillingMode

Tidak

Tidak

Parameter ini diabaikan.

DeletionProtectionEnabled

Tidak

Ya

-

GlobalSecondaryIndexUpdates

Tidak

Ya

Lakukan operasi ini selama jam sepi.

GlobalTableWitnessUpdates

Tidak

Tidak

Menyertakan parameter ini dalam permintaan akan mengembalikan error.

MultiRegionConsistency

Tidak

Tidak

Menyertakan parameter ini dalam permintaan akan mengembalikan error.

OnDemandThroughput

Tidak

Tidak

Parameter ini diabaikan.

ProvisionedThroughput

Tidak

Tidak

Parameter ini diabaikan.

ReplicaUpdates

Tidak

Tidak

Menyertakan parameter ini dalam permintaan akan mengembalikan error.

SSESpecification

Tidak

Tidak

Parameter ini diabaikan.

Catatan

Untuk enkripsi, gunakan Set transparent data encryption (TDE).

StreamSpecification

Tidak

Tidak

Parameter ini diabaikan.

Catatan

Untuk replikasi stream, gunakan manajemen langganan.

TableClass

Tidak

Tidak

Parameter ini diabaikan.

WarmThroughput

Tidak

Tidak

Parameter ini diabaikan.

parameter respons

TableDescription

-

Ya

-

DeleteTable

API

Jenis

Parameter

Wajib

Didukung

Catatan

DeleteTable

parameter permintaan

TableName

Ya

Ya

-

parameter respons

TableDescription

-

Ya

-

PutItem

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

PutItem

parameter permintaan

Item

Ya

Ya

-

TableName

Ya

Ya

-

ConditionalOperator

Tidak

Tidak

Sudah usang. Gunakan ConditionExpression sebagai gantinya.

ConditionExpression

Tidak

Ya

-

Expected

Tidak

Tidak

Sudah usang. Gunakan ConditionExpression sebagai gantinya.

ExpressionAttributeNames

Tidak

Ya

-

ExpressionAttributeValues

Tidak

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Diabaikan.

ReturnItemCollectionMetrics

Tidak

Ya

-

ReturnValues

Tidak

Ya

-

ReturnValuesOnConditionCheckFailure

Tidak

Ya

-

parameter respons

Attributes

-

Ya

-

ConsumedCapacity

-

Tidak

Tidak dikembalikan.

ItemCollectionMetrics

-

Ya

-

UpdateItem

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

UpdateItem

Parameter permintaan

Key

Ya

Ya

-

TableName

Ya

Ya

-

AttributeUpdates

Tidak

Tidak

Sudah usang. Gunakan UpdateExpression sebagai gantinya.

ConditionalOperator

Tidak

Tidak

Sudah usang. Gunakan UpdateExpression sebagai gantinya.

ConditionExpression

Tidak

Ya

-

Expected

Tidak

Tidak

Sudah usang. Gunakan UpdateExpression sebagai gantinya.

ExpressionAttributeNames

Tidak

Ya

-

ExpressionAttributeValues

Tidak

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Parameter ini diabaikan.

ReturnItemCollectionMetrics

Tidak

Ya

-

ReturnValues

Tidak

Ya

-

ReturnValuesOnConditionCheckFailure

Tidak

Ya

-

UpdateExpression

Tidak

Ya

-

Parameter respons

Attributes

-

Ya

-

ConsumedCapacity

-

Tidak

Parameter ini tidak dikembalikan.

ItemCollectionMetrics

-

Ya

-

GetItem

API

Jenis parameter

Parameter

Wajib

Didukung

Deskripsi

GetItem

parameter permintaan

Key

Ya

Ya

-

TableName

Ya

Ya

-

AttributesToGet

Tidak

Tidak

Sudah usang. Gunakan ProjectionExpression sebagai gantinya.

ConsistentRead

Tidak

Ya

-

ExpressionAttributeNames

Tidak

Ya

-

ProjectionExpression

Tidak

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Diabaikan. Ini adalah parameter terkait penagihan.

parameter respons

ConsumedCapacity

-

Tidak

Tidak dikembalikan. Ini adalah parameter terkait penagihan.

Item

-

Ya

-

DeleteItem

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

DeleteItem

parameter permintaan

Key

Ya

Ya

-

TableName

Ya

Ya

-

ConditionalOperator

Tidak

Tidak

Sudah usang. Gunakan ConditionExpression sebagai gantinya.

ConditionExpression

Tidak

Ya

-

Expected

Tidak

Tidak

Sudah usang. Gunakan ConditionExpression sebagai gantinya.

ExpressionAttributeNames

Tidak

Ya

-

ExpressionAttributeValues

Tidak

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Parameter terkait penagihan ini diabaikan.

ReturnItemCollectionMetrics

Tidak

Ya

-

ReturnValues

Tidak

Ya

-

ReturnValuesOnConditionCheckFailure

Tidak

Ya

-

parameter respons

Attributes

-

Ya

-

ConsumedCapacity

-

Tidak

Parameter terkait penagihan ini tidak dikembalikan.

ItemCollectionMetrics

-

Ya

-

BatchWriteItem

Nama API

Jenis parameter

Nama parameter

Wajib

Didukung

Deskripsi

BatchWriteItem

parameter permintaan

RequestItems

Ya

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Parameter terkait penagihan diabaikan.

ReturnItemCollectionMetrics

Tidak

Ya

-

parameter respons

ConsumedCapacity

-

Tidak

Parameter terkait penagihan tidak dikembalikan.

ItemCollectionMetrics

-

Ya

-

UnprocessedItems

-

Ya

Parameter ini selalu dikembalikan kosong. Lihat keterbatasan yang dijelaskan di atas.

Parameter

Parameter tingkat kedua

Parameter tingkat ketiga

Wajib

Didukung

Deskripsi

RequestItems

DeleteRequest

Key

Ya

Ya

-

PutRequest

Item

Ya

Ya

-

BatchGetItem

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

BatchGetItem

parameter permintaan

RequestItems

Ya

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Parameter ini diabaikan.

parameter respons

ConsumedCapacity

-

Tidak

Parameter ini tidak dikembalikan.

Responses

-

Ya

-

UnprocessedKeys

-

Ya

Perilaku berbeda: parameter ini selalu kosong. Lihat keterbatasan yang dijelaskan di atas untuk detailnya.

Parameter

Parameter bersarang

Wajib

Didukung

Deskripsi

RequestItems

ConsistentRead

Tidak

Ya

-

ExpressionAttributeNames

Tidak

Ya

-

Keys

Ya

Ya

-

ProjectionExpression

Tidak

Ya

-

AttributesToGet

Tidak

Tidak

Sudah usang. Gunakan ProjectionExpression. Menyertakan parameter ini dalam permintaan akan menyebabkan error.

Query

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

Query

parameter permintaan

TableName

Ya

Ya

-

AttributesToGet

Tidak

Tidak

Sudah usang. Gunakan ProjectionExpression.

ConditionalOperator

Tidak

Tidak

Sudah usang. Gunakan FilterExpression.

ConsistentRead

Tidak

Ya

-

ExclusiveStartKey

Tidak

Ya

-

ExpressionAttributeNames

Tidak

Ya

-

ExpressionAttributeValues

Tidak

Ya

-

FilterExpression

Tidak

Ya

-

IndexName

Tidak

Ya

-

KeyConditionExpression

Tidak

Ya

-

KeyConditions

Tidak

Tidak

Sudah usang. Gunakan KeyConditionExpression.

Limit

Tidak

Ya

-

ProjectionExpression

Tidak

Ya

-

QueryFilter

Tidak

Tidak

Sudah usang. Gunakan FilterExpression.

ReturnConsumedCapacity

Tidak

Ya

Parameter terkait penagihan ini diabaikan.

ScanIndexForward

Tidak

Ya

-

Select

Tidak

Ya

-

parameter respons

ConsumedCapacity

-

Tidak

Parameter terkait penagihan ini tidak dikembalikan.

Count

-

Ya

Parameter ini berperilaku berbeda: nilainya selalu sama dengan ScannedCount.

Items

-

Ya

-

LastEvaluatedKey

-

Ya

-

ScannedCount

-

Ya

-

Scan

Nama API

Jenis

Parameter

Wajib

Didukung

Deskripsi

Scan

parameter permintaan

TableName

Ya

Ya

-

AttributesToGet

Tidak

Tidak

Sudah usang. Gunakan ProjectionExpression sebagai gantinya.

ConditionalOperator

Tidak

Tidak

Sudah usang. Gunakan FilterExpression sebagai gantinya.

ConsistentRead

Tidak

Ya

-

ExclusiveStartKey

Tidak

Ya

-

ExpressionAttributeNames

Tidak

Ya

-

ExpressionAttributeValues

Tidak

Ya

-

FilterExpression

Tidak

Ya

-

IndexName

Tidak

Ya

-

Limit

Tidak

Ya

-

ProjectionExpression

Tidak

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Parameter terkait penagihan ini tidak didukung dan diabaikan jika disertakan.

ScanFilter

Tidak

Tidak

Sudah usang. Gunakan FilterExpression sebagai gantinya.

Segment

Tidak

Tidak

Tidak didukung. Menyertakan parameter ini dalam permintaan menyebabkan error.

Select

Tidak

Ya

-

TotalSegments

Tidak

Tidak

Tidak didukung. Menyertakan parameter ini dalam permintaan menyebabkan error.

parameter respons

ConsumedCapacity

-

Tidak

Parameter terkait penagihan ini tidak didukung dan tidak dikembalikan.

Count

-

Ya

Perilaku berbeda: Nilai ini selalu sama dengan ScannedCount.

Items

-

Ya

-

LastEvaluatedKey

-

Ya

-

ScannedCount

-

Ya

-

TransactWriteItems

API

Jenis

Parameter

Wajib

Didukung

Catatan

TransactWriteItems

parameter permintaan

TransactItems

Ya

Ya

-

ClientRequestToken

Tidak

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Parameter terkait penagihan ini diabaikan.

ReturnItemCollectionMetrics

Tidak

Ya

-

parameter respons

ConsumedCapacity

-

Tidak

Parameter terkait penagihan ini tidak dikembalikan.

ItemCollectionMetrics

-

Ya

-

Parameter

Sub-parameter

Wajib

Didukung

Catatan

TransactItems

ConditionCheck

Tidak

Ya

-

Put

Tidak

Ya

-

Update

Tidak

Ya

-

Delete

Tidak

Ya

-

TransactGetItems

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

TransactGetItems

parameter permintaan

TransactItems

Ya

Ya

-

ReturnConsumedCapacity

Tidak

Ya

Parameter terkait penagihan ini diabaikan.

parameter respons

ConsumedCapacity

-

Tidak

Parameter terkait penagihan ini tidak dikembalikan.

Responses

-

Ya

-

DescribeTimeToLive

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

DescribeTimeToLive

Parameter permintaan

TableName

Ya

Ya

-

Parameter respons

TimeToLiveDescription

-

Ya

-

UpdateTimeToLive

API

Jenis parameter

Parameter

Wajib

Didukung

Catatan

UpdateTimeToLive

parameter permintaan

TableName

Ya

Ya

-

parameter permintaan

TimeToLiveSpecification

Ya

Ya

-

parameter respons

TimeToLiveSpecification

-

Ya

-

Parameter

Parameter bersarang

Wajib

Didukung

Catatan

TimeToLiveSpecification

AttributeName

Ya

Ya

-

Enabled

Ya

Ya

-

TagResource

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

TagResource

parameter permintaan

ResourceArn

Ya

Ya

Nilai ini adalah TableArn yang dikembalikan dalam TableDescription.

Tags

Ya

Ya

-

UntagResource

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

UntagResource

parameter permintaan

ResourceArn

Ya

Ya

Nilai ini berasal dari field TableArn dalam TableDescription.

TagKeys

Ya

Ya

-

ListTagsOfResource

API

Jenis

Parameter

Wajib

Didukung

Deskripsi

ListTagsOfResource

Parameter permintaan

ResourceArn

Ya

Ya

ARN resource, dari field TableArn dalam objek TableDescription.

NextToken

Tidak

Ya

-

Parameter respons

Tags

-

Ya

-

NextToken

-

Ya

-

Perbedaan fitur spesifik

Tabel berikut mencantumkan kategori fitur di mana arsitektur PolarDB berbeda secara signifikan dari DynamoDB. Meskipun DynamoDB mengimplementasikan fitur-fitur ini melalui API proprietary, PolarDB menyediakan solusi ekuivalen menggunakan kemampuan native-nya atau ekosistem PostgreSQL yang lebih luas.

Kategori fitur

API/parameter DynamoDB

Solusi ekuivalen PolarDB

Penagihan

BillingMode, ProvisionedThroughput, OnDemandThroughput, WarmThroughput, ReturnConsumedCapacity, ConsumedCapacity

Karena mode penagihan berbeda dari DynamoDB, parameter terkait tidak berlaku setelah dikonfigurasi dan secara otomatis diabaikan.

Elastisitas

DescribeTableReplicaAutoScaling, UpdateTableReplicaAutoScaling, DescribeLimits

PolarDB menyediakan elastisitas melalui Serverless dan penskalaan tipe instans.

Kueri PartiQL

ExecuteStatement, ExecuteTransaction, BatchExecuteStatement

PolarDB kompatibel dengan API DynamoDB dan SQL PostgreSQL standar. Anda dapat menggunakan SQL secara langsung untuk kueri kompleks.

Pencadangan dan pemulihan

CreateBackup, DeleteBackup, DescribeBackup, ListBackups, RestoreTableFromBackup, RestoreTableToPointInTime, DescribeContinuousBackups, UpdateContinuousBackups

PolarDB mendukung pencadangan otomatis berkala, pencadangan manual sesuai permintaan, dan pemulihan pada titik waktu (PITR). Untuk informasi lebih lanjut, lihat Pencadangan dan pemulihan.

Tabel global

CreateGlobalTable, DescribeGlobalTable, DescribeGlobalTableSettings, ListGlobalTables, UpdateGlobalTable, UpdateGlobalTableSettings

Menggunakan Jaringan Basis Data Global (GDN) untuk menyediakan sinkronisasi data lintas wilayah dan pembacaan lokal.

Enkripsi sisi server

SSESpecification (dalam CreateTable/UpdateTable)

Menyediakan enkripsi data statis melalui Transparent Data Encryption (TDE).

DynamoDB Streams

DescribeStream, GetShardIterator, GetRecords, ListStreams, StreamSpecification

Fitur ini menggunakan replikasi logis native PostgreSQL untuk mengaktifkan langganan inkremental terhadap perubahan data dan konsumsi downstream. Untuk informasi lebih lanjut, lihat Manajemen Langganan.

Impor dan Ekspor S3

ImportTable, ExportTableToPointInTime, DescribeExport, DescribeImport, ListExports, ListImports

Memanfaatkan kemampuan HTAP-nya dengan indeks kolom (IMCI) bawaan untuk menjalankan kueri analitik online tanpa ETL ke sistem terpisah. Alternatifnya, Anda dapat mengintegrasikan dengan ekosistem data besar seperti MaxCompute, AnalyticDB, dan E-MapReduce (EMR) menggunakan Data Transmission Service (DTS), tabel eksternal Object Storage Service (OSS), atau replikasi logis.

Kebijakan Resource

GetResourcePolicy, PutResourcePolicy, DeleteResourcePolicy, dan parameter ResourcePolicy

Menggunakan Resource Access Management (RAM) untuk menyediakan kontrol akses detail halus bagi Akun Alibaba Cloud. Bidang data menggunakan sistem pengguna dan izin native PostgreSQL.

Integrasi stream Kinesis

DescribeKinesisStreamingDestination, EnableKinesisStreamingDestination, DisableKinesisStreamingDestination, UpdateKinesisStreamingDestination

Menyediakan integrasi stream melalui Data Transmission Service (DTS) atau replikasi logis native PostgreSQL.

Contributor Insights

DescribeContributorInsights, UpdateContributorInsights, ListContributorInsights

Menyediakan fitur seperti SQL Insights, pemantauan kinerja, dan analisis slow SQL melalui Database Autonomy Service (DAS).

Penemuan endpoint

DescribeEndpoints

Anda dapat mengkueri endpoint DynamoDB kluster dengan menggunakan operasi OpenAPI DescribeDBClusterEndpoints.