PolarDB for PostgreSQL sangat kompatibel dengan API utama Amazon DynamoDB. Sebelum menggunakan fitur ini atau melakukan migrasi data, baca bagian ini secara cermat untuk memahami cakupan kompatibilitas, keterbatasan, serta perbedaan perilaku guna memastikan layanan Anda berjalan lancar.
Tool penilaian kompatibilitas: polardb_ddb_code_digest
PolarDB menyediakan tool penilaian kompatibilitas, polardb_ddb_code_digest.tar.gz, untuk membantu Anda menilai kompatibilitas proyek yang ada dengan PolarDB.
Cara kerja
-
Pemindaian kode: Tool ini melakukan pemindaian rekursif pada direktori proyek yang ditentukan untuk mengidentifikasi dan mengurai file sumber Go dan Python.
-
Analisis API: Berdasarkan spesifikasi resmi AWS SDK, tool ini mengekstraksi semua panggilan API DynamoDB, nama parameter, konstanta, dan struktur ekspresi.
-
Generasi laporan: Tool ini membersihkan informasi yang dikumpulkan dengan menghapus semua nilai data bisnis, mengagregasi statistik, dan menghasilkan laporan penggunaan API terstruktur yang mencantumkan API, parameter, serta frekuensi panggilan yang digunakan oleh proyek Anda.
Anda dapat menggunakan laporan ini untuk melakukan penilaian mandiri terhadap keterbatasan yang dijelaskan dalam dokumen ini.
Prosedur
-
Unduh tool penilaian kompatibilitas polardb_ddb_code_digest.tar.gz ke lingkungan aplikasi Anda.
-
Ekstrak paket tersebut, masuk ke direktori hasil ekstraksi, lalu jalankan perintah berikut untuk menginstal dependensi proyek.
-
Pastikan Anda telah menginstal Python 3.9.6 atau versi yang lebih baru.
-
(Opsional) Untuk mengisolasi dependensi proyek dan mencegah konflik dengan paket global, Anda dapat membuat dan mengaktifkan lingkungan virtual.
python3 -m venv venv && source venv/bin/activate -
Instal dependensi proyek.
pip3 install -r requirements.txt
-
-
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 mencantumkan perbedaan fungsional dan perilaku utama antara PolarDB dan DynamoDB asli.
Keterbatasan umum
-
Parameter yang tidak digunakan lagi: Fitur ini mengikuti spesifikasi API terbaru. Sistem akan mengabaikan atau mengembalikan error untuk parameter yang sudah tidak digunakan dari versi sebelumnya, seperti
AttributeUpdates,Expected, atauAttributesToGet. Pastikan aplikasi Anda menggunakan parameter baru yang sesuai, sepertiUpdateExpression,ConditionExpression, atauProjectionExpression. -
Pesan error: Pesan error yang dikembalikan untuk beberapa operasi mungkin berbeda dari DynamoDB asli.
-
Parameter statistik dan penagihan: Semua parameter permintaan dan bidang respons yang terkait dengan penagihan dan konsumsi kapasitas, seperti parameter
ReturnConsumedCapacitydan bidangConsumedCapacity, diabaikan atau tidak disertakan. -
Proyeksi indeks: Saat Anda menentukan atribut yang diproyeksikan (
NonKeyAttributes) untuk indeks sekunder, bidang yang diproyeksikan tidak boleh mencakup kunci primer tabel (kunci partisi atau kunci pengurutan) atau kunci primer milik indeks tersebut.
Perbedaan perilaku spesifik API
-
UpdateItem-
Jika Anda menggunakan
REMOVE a.buntuk menghapus atribut bersarang yang tidak ada (yaitu, atribut indukatidak ada), DynamoDB asli akan mengembalikan error. Sebaliknya, PolarDB berhasil tanpa memberikan notifikasi dan tidak melakukan apa pun.
-
-
BatchWriteItem-
Atomisitas: Penulisan batch di PolarDB merupakan operasi atomik, artinya semua operasi dalam satu permintaan akan berhasil atau gagal secara bersamaan. Oleh karena itu, bidang
UnprocessedItemsdalam respons akan selalu kosong. -
Konflik kunci primer: DynamoDB asli tidak mengizinkan Anda melakukan operasi
PutItemdanDeleteItempada kunci primer yang sama dalam satu permintaan, sedangkan PolarDB saat ini mengizinkan operasi tersebut.
-
-
BatchGetItem-
Atomisitas: Mirip dengan penulisan batch, pembacaan batch juga merupakan operasi atomik. Oleh karena itu, bidang
UnprocessedKeysdalam hasil yang dikembalikan akan selalu kosong. -
Kunci primer duplikat: DynamoDB asli tidak mengizinkan permintaan mencakup kunci primer duplikat, sedangkan PolarDB mengizinkannya dan mengembalikan satu catatan data untuk setiap kunci primer duplikat.
-
-
Query/Scan-
Dalam respons,
ScannedCountselalu sama denganCount. Sistem 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 tersebut.
-
TransactionCanceledExceptionsaat ini hanya mencakup alasanConditionalCheckFaileddanTransactionConflict. AlasanItemCollectionSizeLimitExceeded,ProvisionedThroughputExceeded, danThrottlingErrortidak terjadi di PolarDB. PolarDB melemparkan setiapValidationErrorsebagaiCommonErroralih-alih menyertakannya sebagai alasan dalamTransactionCanceledException.
-
Perintah dan parameter
-
Kolom Didukung:
-
Ya: Parameter didukung.
-
Tidak: Parameter tidak didukung.
-
-
Kolom Catatan: Menjelaskan 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 |
Diabaikan jika ditentukan. |
||
|
ResourcePolicy |
Tidak |
Tidak |
Diabaikan jika ditentukan. |
||
|
SSESpecification |
Tidak |
Tidak |
Diabaikan jika ditentukan. Catatan
Untuk enkripsi, gunakan Transparent Data Encryption (TDE). |
||
|
StreamSpecification |
Tidak |
Tidak |
Diabaikan jika ditentukan. Catatan
Untuk replikasi aliran, gunakan manajemen langganan. |
||
|
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 |
Parameter permintaan |
TableName |
Ya |
Ya |
- |
|
Parameter 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
|
Nama API |
Jenis parameter |
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 akan mengembalikan error. |
||
|
MultiRegionConsistency |
Tidak |
Tidak |
Menyertakan parameter ini akan mengembalikan error. |
||
|
OnDemandThroughput |
Tidak |
Tidak |
Parameter ini diabaikan. |
||
|
ProvisionedThroughput |
Tidak |
Tidak |
Parameter ini diabaikan. |
||
|
ReplicaUpdates |
Tidak |
Tidak |
Menyertakan parameter ini akan mengembalikan error. |
||
|
SSESpecification |
Tidak |
Tidak |
Parameter ini diabaikan. Catatan
Jika Anda memerlukan enkripsi, gunakan Set transparent data encryption (TDE). |
||
|
StreamSpecification |
Tidak |
Tidak |
Parameter ini diabaikan. Catatan
Jika Anda memerlukan replikasi aliran, gunakan manajemen langganan. |
||
|
TableClass |
Tidak |
Tidak |
Parameter ini diabaikan. |
||
|
WarmThroughput |
Tidak |
Tidak |
Parameter ini diabaikan. |
||
|
parameter respons |
TableDescription |
- |
Ya |
- |
DeleteTable
|
API |
Jenis parameter |
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 |
Tidak digunakan lagi. Gunakan |
||
|
ConditionExpression |
Tidak |
Ya |
- |
||
|
Expected |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
ExpressionAttributeNames |
Tidak |
Ya |
- |
||
|
ExpressionAttributeValues |
Tidak |
Ya |
- |
||
|
ReturnConsumedCapacity |
Tidak |
Ya |
Parameter ini diabaikan. |
||
|
ReturnItemCollectionMetrics |
Tidak |
Ya |
- |
||
|
ReturnValues |
Tidak |
Ya |
- |
||
|
ReturnValuesOnConditionCheckFailure |
Tidak |
Ya |
- |
||
|
parameter respons |
Attributes |
- |
Ya |
- |
|
|
ConsumedCapacity |
- |
Tidak |
Parameter ini tidak dikembalikan. |
||
|
ItemCollectionMetrics |
- |
Ya |
- |
UpdateItem
|
Nama API |
Jenis parameter |
Parameter |
Wajib |
Didukung |
Catatan |
|
UpdateItem |
parameter permintaan |
Key |
Ya |
Ya |
- |
|
TableName |
Ya |
Ya |
- |
||
|
AttributeUpdates |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
ConditionalOperator |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
ConditionExpression |
Tidak |
Ya |
- |
||
|
Expected |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
ExpressionAttributeNames |
Tidak |
Ya |
- |
||
|
ExpressionAttributeValues |
Tidak |
Ya |
- |
||
|
ReturnConsumedCapacity |
Tidak |
Ya |
Parameter terkait penagihan ini diabaikan. |
||
|
ReturnItemCollectionMetrics |
Tidak |
Ya |
- |
||
|
ReturnValues |
Tidak |
Ya |
- |
||
|
ReturnValuesOnConditionCheckFailure |
Tidak |
Ya |
- |
||
|
UpdateExpression |
Tidak |
Ya |
- |
||
|
parameter respons |
Attributes |
- |
Ya |
- |
|
|
ConsumedCapacity |
- |
Tidak |
Parameter terkait penagihan 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 |
Tidak digunakan lagi. Gunakan |
||
|
ConsistentRead |
Tidak |
Ya |
- |
||
|
ExpressionAttributeNames |
Tidak |
Ya |
- |
||
|
ProjectionExpression |
Tidak |
Ya |
- |
||
|
ReturnConsumedCapacity |
Tidak |
Ya |
Parameter terkait penagihan ini diabaikan. |
||
|
parameter respons |
ConsumedCapacity |
- |
Tidak |
Parameter terkait penagihan ini tidak dikembalikan. |
|
|
Item |
- |
Ya |
- |
DeleteItem
|
API |
Jenis |
Parameter |
Wajib |
Didukung |
Deskripsi |
|
DeleteItem |
Parameter permintaan |
Key |
Ya |
Ya |
- |
|
TableName |
Ya |
Ya |
- |
||
|
ConditionalOperator |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
ConditionExpression |
Tidak |
Ya |
- |
||
|
Expected |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
ExpressionAttributeNames |
Tidak |
Ya |
- |
||
|
ExpressionAttributeValues |
Tidak |
Ya |
- |
||
|
ReturnConsumedCapacity |
Tidak |
Ya |
API mengabaikan parameter terkait penagihan ini. |
||
|
ReturnItemCollectionMetrics |
Tidak |
Ya |
- |
||
|
ReturnValues |
Tidak |
Ya |
- |
||
|
ReturnValuesOnConditionCheckFailure |
Tidak |
Ya |
- |
||
|
Parameter respons |
Attributes |
- |
Ya |
- |
|
|
ConsumedCapacity |
- |
Tidak |
API tidak mengembalikan parameter terkait penagihan ini. |
||
|
ItemCollectionMetrics |
- |
Ya |
- |
BatchWriteItem
|
Nama API |
Jenis |
Parameter |
Wajib |
Didukung |
Deskripsi |
|
BatchWriteItem |
parameter permintaan |
RequestItems |
Ya |
Ya |
- |
|
ReturnConsumedCapacity |
Tidak |
Tidak |
Parameter terkait penagihan ini diabaikan. |
||
|
ReturnItemCollectionMetrics |
Tidak |
Ya |
- |
||
|
parameter respons |
ConsumedCapacity |
- |
Tidak |
Parameter terkait penagihan ini tidak dikembalikan. |
|
|
ItemCollectionMetrics |
- |
Ya |
- |
||
|
UnprocessedItems |
- |
Ya |
Parameter ini berperilaku berbeda: selalu 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
|
Nama API |
Jenis parameter |
Nama parameter |
Wajib |
Didukung |
Catatan |
|
BatchGetItem |
parameter permintaan |
RequestItems |
Ya |
Ya |
- |
|
ReturnConsumedCapacity |
Tidak |
Tidak |
Layanan mengabaikan parameter terkait penagihan ini. |
||
|
parameter respons |
ConsumedCapacity |
- |
Tidak |
Layanan tidak mengembalikan parameter terkait penagihan ini. |
|
|
Responses |
- |
Ya |
- |
||
|
UnprocessedKeys |
- |
Ya |
Parameter ini selalu dikembalikan kosong. Lihat bagian keterbatasan untuk detailnya. |
|
Parameter |
Parameter bersarang |
Wajib |
Didukung |
Catatan |
|
RequestItems |
ConsistentRead |
Tidak |
Ya |
- |
|
ExpressionAttributeNames |
Tidak |
Ya |
- |
|
|
Keys |
Ya |
Ya |
- |
|
|
ProjectionExpression |
Tidak |
Ya |
- |
|
|
AttributesToGet |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
Query
|
API |
Jenis |
Parameter |
Wajib |
Didukung |
Deskripsi |
|
Query |
Parameter permintaan |
TableName |
Ya |
Ya |
- |
|
AttributesToGet |
Tidak |
Tidak |
Tidak digunakan lagi. Harap gunakan |
||
|
ConditionalOperator |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
ConsistentRead |
Tidak |
Ya |
- |
||
|
ExclusiveStartKey |
Tidak |
Ya |
- |
||
|
ExpressionAttributeNames |
Tidak |
Ya |
- |
||
|
ExpressionAttributeValues |
Tidak |
Ya |
- |
||
|
FilterExpression |
Tidak |
Ya |
- |
||
|
IndexName |
Tidak |
Ya |
- |
||
|
KeyConditionExpression |
Tidak |
Ya |
- |
||
|
KeyConditions |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
Limit |
Tidak |
Ya |
- |
||
|
ProjectionExpression |
Tidak |
Ya |
- |
||
|
QueryFilter |
Tidak |
Tidak |
Tidak digunakan lagi. Harap gunakan |
||
|
ReturnConsumedCapacity |
Tidak |
Tidak |
Parameter terkait penagihan ini diabaikan. |
||
|
ScanIndexForward |
Tidak |
Ya |
- |
||
|
Select |
Tidak |
Ya |
- |
||
|
Parameter respons |
ConsumedCapacity |
- |
Tidak |
Parameter terkait penagihan ini tidak dikembalikan. |
|
|
Count |
- |
Ya |
Perbedaan perilaku adalah nilainya selalu sama dengan |
||
|
Items |
- |
Ya |
- |
||
|
LastEvaluatedKey |
- |
Ya |
- |
||
|
ScannedCount |
- |
Ya |
- |
Scan
|
Nama API |
Jenis parameter |
Parameter |
Wajib |
Didukung |
Deskripsi |
|
Scan |
Parameter permintaan |
TableName |
Ya |
Ya |
- |
|
AttributesToGet |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
ConditionalOperator |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
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 |
Tidak |
Parameter terkait penagihan ini diabaikan. |
||
|
ScanFilter |
Tidak |
Tidak |
Tidak digunakan lagi. Gunakan |
||
|
Segment |
Tidak |
Tidak |
Tidak didukung. Menyertakan parameter ini dalam permintaan akan menyebabkan error. |
||
|
Select |
Tidak |
Ya |
- |
||
|
TotalSegments |
Tidak |
Ya |
- |
||
|
Parameter respons |
ConsumedCapacity |
- |
Tidak |
Layanan tidak mengembalikan parameter terkait penagihan ini. |
|
|
Count |
- |
Ya |
Perilaku berbeda: Nilainya selalu sama dengan |
||
|
Items |
- |
Ya |
- |
||
|
LastEvaluatedKey |
- |
Ya |
- |
||
|
ScannedCount |
- |
Ya |
- |
TransactWriteItems
|
Nama API |
Jenis parameter |
Nama 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 |
Catatan |
|
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 |
Wajib |
Didukung |
Catatan |
|
UpdateTimeToLive |
Permintaan |
TableName |
Ya |
Ya |
- |
|
Permintaan |
TimeToLiveSpecification |
Ya |
Ya |
- |
|
|
Respons |
TimeToLiveSpecification |
- |
Ya |
- |
|
Parameter |
Parameter bersarang |
Wajib |
Didukung |
Catatan |
|
TimeToLiveSpecification |
AttributeName |
Ya |
Ya |
- |
|
Enabled |
Ya |
Ya |
- |
TagResource
|
API |
Jenis parameter |
Parameter |
Wajib |
Didukung |
Catatan |
|
TagResource |
Parameter permintaan |
ResourceArn |
Ya |
Ya |
Dari bidang |
|
Tags |
Ya |
Ya |
- |
UntagResource
|
API |
Jenis parameter |
Parameter |
Wajib |
Didukung |
Catatan |
|
UntagResource |
Parameter permintaan |
ResourceArn |
Ya |
Ya |
Dari bidang |
|
TagKeys |
Ya |
Ya |
- |
ListTagsOfResource
|
API |
Jenis parameter |
Parameter |
Wajib |
Didukung |
Catatan |
|
ListTagsOfResource |
Parameter permintaan |
ResourceArn |
Ya |
Ya |
Dari bidang |
|
NextToken |
Tidak |
Ya |
- |
||
|
Parameter respons |
Tags |
- |
Ya |
- |
|
|
NextToken |
- |
Ya |
- |
Perbedaan fungsional spesifik
Tabel berikut mencantumkan kategori fitur DynamoDB yang berbeda secara signifikan dari arsitektur PolarDB. Fitur-fitur ini diimplementasikan melalui API khusus di DynamoDB, sedangkan PolarDB menyediakan solusi setara melalui kemampuan platformnya atau ekosistem PostgreSQL.
|
Kategori fitur |
Antarmuka/parameter DynamoDB |
Setara PolarDB |
|
Penagihan |
|
Model penagihan berbeda dari DynamoDB. Parameter terkait secara otomatis diabaikan saat dikonfigurasi. |
|
Skalabilitas elastis |
|
Skalabilitas elastis melalui Serverless dan perubahan spesifikasi. |
|
Kueri PartiQL |
|
Mendukung antarmuka DynamoDB dan SQL PostgreSQL standar untuk kueri kompleks. |
|
Pencadangan dan pemulihan |
|
Pencadangan otomatis berkala, pencadangan manual instan, dan pemulihan pada titik waktu (PITR). |
|
Tabel global |
|
Sinkronisasi data lintas wilayah dan pembacaan lokal melalui Jaringan Basis Data Global (GDN). |
|
Enkripsi sisi server |
|
Enkripsi data statis melalui Transparent Data Encryption (TDE). |
|
DynamoDB Streams |
|
Langganan data inkremental dan konsumsi downstream berdasarkan replikasi logis native PostgreSQL. |
|
Impor dan ekspor S3 |
|
Kemampuan HTAP (built-in In-Memory Column Index (IMCI)) memungkinkan kueri analitik online tanpa ETL ke sistem analitik terpisah. Alternatifnya, Anda dapat menggunakan DTS, tabel eksternal OSS, atau replikasi logis untuk integrasi dengan MaxCompute, AnalyticDB, dan EMR. |
|
Kebijakan sumber daya |
|
Kontrol akses granular melalui RAM Alibaba Cloud, dan sistem pengguna dan izin native PostgreSQL untuk bidang data. |
|
Streaming Kinesis |
|
Integrasi data streaming melalui sinkronisasi data DTS atau replikasi logis native PostgreSQL. |
|
Wawasan kontributor |
|
Wawasan SQL, pemantauan kinerja, dan analisis kueri lambat melalui Database Autonomy Service (DAS). |
|
Kueri endpoint layanan |
|
Kueri endpoint DynamoDB kluster melalui OpenAPI - DescribeDBClusterEndpoints. |