Amazon DynamoDB - AWS Mobile SDK

AWS Mobile SDK for Xamarin sekarang disertakan dalam AWS SDK for .NET. Panduan ini menjadi referensi versi yang diarsipkan dari Mobile SDK for Xamarin.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Amazon DynamoDB

Apa itu Amazon DynamoDB?

Amazon DynamoDB adalah layanan basis data yang cepat, sangat dapat diskalakan dan bukan relasional. DynamoDB menghilangkan keterbatasan skalabilitas tradisional pada penyimpanan data sekaligus mempertahankan performa latensi rendah dan dapat diprediksi.

Konsep kunci

Konsep model data DynamoDB termasuk tabel, item, dan atribut.

Tabel

Di Amazon DynamoDB, basis data adalah kumpulan tabel. Sebuah tabel adalah kumpulan item, dan setiap item adalah kumpulan atribut.

Dalam basis data relasional, tabel memiliki skema yang telah ditetapkan seperti nama tabel, kunci utama, daftar nama kolom dan jenis data mereka. Semua catatan yang disimpan dalam tabel harus memiliki set kolom yang sama. Sebaliknya, DynamoDB hanya mengharuskan tabel memiliki kunci utama, tetapi tidak mengharuskan Anda untuk menentukan semua nama atribut dan jenis data di muka.

Untuk mem-pelajari selengkapnya tentang cara menggunakan tabel, lihat Cara Menggunakan Tabel di DynamoDB.

Item dan Atribut

Sebuah item dalam tabel DynamoDB dapat memiliki sejumlah atribut, meskipun ukuran item terbatas pada 400 KB. Ukuran item adalah jumlah dari panjang nama dan nilai atributnya (panjang biner dan UTF-8).

Setiap atribut dalam sebuah item adalah pasangan nama-nilai. Atribut dapat berupa set nilai-tunggal atau multi-nilai. Misalnya, item buku dapat memiliki atribut judul dan penulis. Setiap buku memiliki satu judul tetapi dapat memiliki banyak penulis. Atribut multinilai adalah satu set; nilai-nilai duplikat tidak diperbolehkan.

Misalnya, anggap Anda akan menyimpan katalog produk di DynamoDB. Anda dapat membuat tabel,ProductCatalog, dengan atribut Id sebagai kunci primer. Kunci utama tersebut secara unik mengidentifikasi setiap item, sehingga tidak ada dua produk yang ada dalam tabel yang dapat memiliki ID yang sama.

Untuk mem-pelajari selengkapnya tentang cara menggunakan item, lihat Cara Menggunakan Item di DynamoDB.

Tipe Data

Amazon DynamoDB men-support tipe data berikut:

  • Tipe skalar – Angka, String, Biner, Boolean, dan Null.

  • Tipe multi-nilai – Set String, Set Angka, dan Set Biner.

  • Tipe dokumen – Daftar dan Peta.

Untuk informasi lebih lanjut tentang Jenis Data skalar, Jenis Data Multi-Nilai, dan Jenis Data Dokumen, lihat Jenis data DynamoDB.

Kunci Utama

Ketika Anda membuat tabel, selain nama tabel, Anda harus menentukan kunci utama dari tabel. Kunci utama secara unik mengidentifikasi setiap item dalam tabel, sehingga tidak ada dua item dapat memiliki kunci yang sama. DynamoDB men-support dua jenis kunci utama berikut ini:

  • Kunci Hash: Kunci primer terbuat dari satu atribut, atribut hash. DynamoDB membangun indeks hash tak berurutan pada atribut kunci primer ini. Setiap item dalam tabel diidentifikasi secara unik berdasarkan nilai kunci hash-nya.

  • Hash dan Range Key: Kunci primer terbuat dari dua atribut. Atribut pertama adalah atribut hash dan yang kedua adalah atribut rentang. DynamoDB membangun indeks hash tak berurutan pada atribut kunci primer hash, dan indeks rentang diurutkan pada atribut kunci primer rentang. Setiap item dalam tabel diidentifikasi secara unik berdasarkan kombinasi nilai kunci hash dan rentang-nya. Hal ini dimungkinkan untuk dua item memiliki nilai kunci hash yang sama, tetapi kedua item tersebut harus memiliki nilai kunci rentang yang berbeda.

Indeks Sekunder

Bila Anda membuat tabel dengan kunci hash dan rentang, Anda secara opsional dapat menentukan satu atau lebih indeks sekunder pada tabel itu. Indeks sekunder memungkinkan Anda melakukan kueri data dalam tabel menggunakan kunci alternatif, selain kueri terhadap kunci primer.

DynamoDB men-support dua jenis indeks sekunder: indeks sekunder lokal dan indeks sekunder global.

  • Indeks sekunder lokal: Indeks yang memiliki kunci hash yang sama seperti tabel, tetapi kunci rentang yang berbeda.

  • Indeks sekunder global: Indeks dengan kunci hash dan rentang yang dapat berbeda dari yang ada pada tabel.

Anda dapat menentukan hingga 5 indeks sekunder global dan 5 indeks sekunder lokal untuk setiap tabel. Untuk informasi selengkapnya, lihat Meningkatkan Akses Data dengan Indeks Sekunder dalam DynamoDB dalam Panduan Developer DynamoDB.

Melakukan Kueri dan Pemindaian

Selain menggunakan kunci primer untuk mengakses item, Amazon DynamoDB juga menyediakan dua API untuk mencari data: Kueri dan Pemindaian. Sebaiknya Anda membaca Panduan Kueri dan Pemindaian dalam Panduan Developer DynamoDB untuk membuat Anda terbiasa dengan beberapa praktik terbaik.

Kueri

Operasi Kueri mencari item dalam tabel atau indeks sekunder hanya menggunakan nilai atribut kunci primer. Anda harus memberikan nama atribut kunci hash dan nilai yang berbeda untuk mencari. Secara opsional, Anda dapat memberikan nama dan nilai atribut kunci rentang, dan menggunakan operator perbandingan untuk memperbaiki hasil pencarian.

Untuk kueri sampel, lihat:

Untuk informasi tentang Kueri, lihat Kueri di Panduan Developer DynamoDB.

Pemindaian

Operasi Pemindaian membaca setiap item dalam tabel atau indeks sekunder. Secara default, operasi Pemindaian mengembalikan semua atribut data untuk setiap item dalam tabel atau indeks. Anda dapat menggunakan ProjectionExpression parameter sehingga Pemindaian hanya mengembalikan beberapa atribut, bukan semuanya.

Untuk pemindaian sampel, lihat:

Untuk informasi tentang Pemindaian, lihat Pemindaian di Panduan Developer DynamoDB.

Penyiapan Proyek

Prasyarat

Untuk menggunakan DynamoDB dalam aplikasi Anda, Anda harus menambahkan SDK ke dalam proyek Anda. Untuk melakukannya, ikuti petunjuk di Menyiapkan AWS Mobile SDK for .NET and Xamarin.

Membuat Tabel DynamoDB

Untuk membuat tabel, buka Konsol DynamoDB dan ikuti langkah-langkah ini:

  1. Klik Buat Tabel.

  2. Masukkan nama tabel.

  3. Pilih Hash sebagai tipe kunci primer.

  4. Pilih satu jenis dan masukkan nilai untuk nama atribut hash. Klik Lanjutkan.

  5. Pada halaman Tambahkan Indeks, jika Anda berencana untuk menggunakan indeks sekunder global, atur Jenis Indeks ke “Indeks Sekunder Global” dan di bawah Kunci Hash Indeks, masukkan nilai untuk indeks sekunder. Hal ini akan memungkinkan Anda untuk melakukan kueri dan pemindaian menggunakan indeks primer maupun indeks sekunder. Klik Tambahkan Indeks ke Tabel, dan kemudian klik Lanjutkan. Untuk melewatkan penggunaan indeks sekunder global, klik Lanjutkan.

  6. Atur kapasitas baca dan tulis ke tingkat yang Anda inginkan. Untuk informasi lebih lanjut tentang konfigurasi kapasitas, lihat Throughput yang Disediakan di Amazon DynamoDB. Klik Lanjutkan.

  7. Pada layar berikutnya, masukkan email notifikasi untuk membuat alarm throughput, jika diinginkan. Klik Lanjutkan.

  8. Di halaman ringkasan, klik Buat. DynamoDB akan membuat basis data Anda.

Mengatur Izin untuk DynamoDB

Untuk menggunakan DynamoDB dalam aplikasi, Anda harus mengatur izin yang benar. Kebijakan IAM berikut memungkinkan pengguna untuk menghapus, mendapatkan, menempatkan, melakukan kueri, memindai, dan memperbarui item dalam tabel DynamoDB tertentu, yang diidentifikasi oleh ARN:

{ "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:UpdateItem" ], "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/MyTable" } ] }

Anda dapat mengubah kebijakan di Konsol IAM. Anda harus menambahkan atau menghapus tindakan yang diizinkan berdasarkan kebutuhan aplikasi Anda.

Untuk mem-pelajari selengkapnya tentang kebijakan IAM, lihat Menggunakan IAM.

Untuk mem-pelajari selengkapnya tentang kebijakan khusus DynamoDB, lihat Menggunakan IAM untuk Mengendalikan Akses ke Sumber Daya DynamoDB dalam Panduan Developer DynamoDB.

Mengintegrasikan DynamoDB dengan Aplikasi Anda

AWS Mobile SDK for .NET and Xamarin menyediakan perpustakaan tingkat tinggi untuk digunakan dengan DynamoDB. Anda juga dapat membuat permintaan langsung terhadap API DynamoDB tingkat rendah, tetapi untuk sebagian besar kasus penggunaan, perpustakaan tingkat tinggi lebih direkomendasikan. ParameterAmazonDynamoDBClient adalah bagian yang sangat berguna dari perpustakaan tingkat tinggi. Dengan menggunakan kelas ini, Anda dapat melakukan berbagai operasi buat, baca, perbarui, dan hapus (CRUD) dan menjalankan kueri.

AWS Mobile SDK for .NET and Xamarin memungkinkan Anda untuk membuat panggilan menggunakan API dari AWS SDK for .NET untuk digunakan dengan DynamoDB. Semua API tersedia diAWSSDK.dll. Untuk informasi tentang mengunduh AWS SDK for .NET, lihat AWS SDK for .NET.

Ada tiga cara yang dapat Anda gunakan untuk berinteraksi dengan DynamoDB dalam aplikasi Xamarin Anda:

  • Model Dokumen: API ini menyediakan kelas pembungkus di sekitar API DyanMoDB tingkat rendah untuk lebih menyederhanakan tugas-tugas pemrograman Anda. Tabel dan Dokumen adalah kelas pembungkus kunci. Anda dapat menggunakan model dokumen untuk operasi data seperti membuat, mengambil, memperbarui dan menghapus item. API tersedia di Amazon.DynamoDB.DocumentModelnamespace.

  • Model Persistensi Objek: API Persistensi Objek memungkinkan Anda memetakan kelas sisi klien ke tabel DynamoDB. Kemudian, setiap instans objek memetakan ke item dalam tabel yang sesuai. Kelas DynamoDBContext dalam API ini menyediakan metode bagi Anda untuk menyimpan objek sisi klien ke dalam tabel, mengambil item sebagai objek dan melakukan kueri dan pemindaian. Anda dapat menggunakan model Persitensi Objek untuk operasi data seperti membuat, mengambil, memperbarui dan menghapus item. Anda harus terlebih dahulu membuat tabel Anda menggunakan API Klien Layanan dan kemudian menggunakan model persistensi objek untuk memetakan kelas Anda ke tabel. API tersedia di Amazon.DynamoDB.DataModelnamespace.

  • API Klien Layanan: Ini adalah API tingkat protokol yang memetakan secara erat ke API DynamoDB. Anda dapat menggunakan API tingkat rendah ini untuk semua operasi tabel dan item seperti membuat, memperbarui, atau menghapus tabel dan item. Anda juga dapat melakukan kueri dan memindai tabel Anda. API ini tersedia di namespace Amazon.DynamoDB.

Ketiga model ini diuraikan secara mendalam dalam topik berikut:

Topik