Fitur Amazon DynamoDB

Mengapa DynamoDB?

Amazon DynamoDB adalah layanan basis data NoSQL nirserver yang mendukung model data kunci-nilai dan dokumen. Developer dapat menggunakan DynamoDB untuk membangun aplikasi modern nirserver yang dapat dimulai dari yang kecil dan berskala global. DynamoDB melakukan penskalaan untuk mendukung tabel hampir pada semua ukuran dengan penskalaan horizontal otomatis.

Ketersediaan, ketahanan, serta toleransi kesalahan bersifat bawaan dan tidak dapat dinonaktifkan sehingga tidak perlu merancang aplikasi Anda untuk kemampuan ini.

DynamoDB dirancang untuk menjalankan aplikasi skala internet berkinerja tinggi yang akan membebani basis data relasional tradisional. Setelah lebih dari sepuluh tahun menjadi pelopor investasi inovasi, DynamoDB menawarkan skalabilitas tanpa batas dengan performa satu digit milidetik yang konsisten dan ketersediaan hingga 99,999%.

Untuk mempelajari fitur dan kemampuan baru, kunjungi pengumuman Apa yang Baru dari DynamoDB.

Performa nirserver dengan skalabilitas tanpa batas

DynamoDB mendukung nilai-kunci dan model data dokumen Sebagai basis data NoSQL, DynamoDB memiliki skema yang fleksibel sehingga setiap item dapat memiliki banyak atribut yang berbeda. Skema yang fleksibel memungkinkan Anda untuk dengan mudah beradaptasi ketika kebutuhan bisnis Anda berubah, tanpa perlu mendefinisikan kembali skema tabel seperti yang Anda lakukan dalam basis data relasional.

Dengan DynamoDB, tidak perlu menyediakan, melakukan patch, dan mengelola server, dan tidak ada perangkat lunak yang diinstal, dikelola, atau dioperasikan. DynamoDB tidak memiliki versi (mayor, minor, atau patch), tidak ada periode pemeliharaan, dan DynamoDB menyediakan pemeliharaan tanpa waktu henti. Harga sesuai permintaan DynamoDB memberikan harga bayar sesuai pemakaian, melakukan penskalaan hingga nol, dan menskalakan tabel secara otomatis untuk menyesuaikan kapasitas, serta mempertahankan performa tanpa administrasi.

DynamoDB dibangun untuk beban kerja sangat penting, termasuk dukungan bagi transaksi atomisitas, konsistensi, isolasi, dan ketahanan (ACID) untuk aplikasi yang memerlukan logika bisnis kompleks. DynamoDB menyediakan dukungan sisi server native untuk transaksi, yang menyederhanakan pengalaman developer dalam membuat perubahan sepenuhnya yang terkoordinasi, ke beberapa item, baik di dalam maupun di lintas tabel.

DynamoDB mendukung 100 tindakan per transaksi sehingga meningkatkan produktivitas developer. Dengan dukungan untuk transaksi, pengembang dapat memperluas skala, kinerja, dan manfaat perusahaan DynamoDB ke satu set beban kerja misi penting yang lebih luas.

Tabel global DynamoDB menyediakan replikasi aktif-aktif atas data Anda di seluruh AWS Region pilihan Anda dengan ketersediaan 99,999%. Tabel global bersifat multiaktif, yang berarti bahwa Anda dapat membaca dan menulis dari replika apa pun. Selain itu, aplikasi Anda yang didistribusikan secara global dapat mengakses data secara lokal di Wilayah yang dipilih untuk mendapatkan performa baca dan tulis dalam satu digit milidetik.

Selain itu, tabel global secara otomatis menskalakan kapasitas untuk mengakomodasi beban kerja multi-Wilayah Anda. Tabel global meningkatkan ketahanan multi-Wilayah aplikasi Anda dan harus dipertimbangkan sebagai bagian dari strategi kelangsungan bisnis organisasi Anda.

DynamoDB Streams adalah kemampuan pengambilan data perubahan. Setiap kali sebuah aplikasi membuat, memperbarui, atau menghapus item dalam tabel, DynamoDB Streams mencatat urutan waktu dari setiap perubahan tingkat item hampir secara waktu nyata sehingga ideal untuk aplikasi arsitektur yang didorong peristiwa guna mengelola dan bertindak terhadap perubahan tersebut. Semua perubahan dihilangkan duplikasinya dan disimpan selama 24 jam.

Aplikasi juga dapat mengakses log ini dan melihat item data saat data muncul sebelum dan sesudah diubah hampir secara waktu nyata. DynamoDB Streams memastikan bahwa setiap catatan aliran akan muncul tepat satu kali dalam aliran, sedangkan untuk setiap item yang diubah, catatan aliran akan muncul dalam urutan yang sama dengan perubahan yang terjadi pada item tersebut.

Mirip dengan semua sistem basis data lainnya, Anda mulai dengan membuat tabel yang merupakan kumpulan item. Dengan DynamoDB, setiap item dalam tabel memiliki kunci primernya sendiri. Banyak aplikasi yang juga mendapatkan manfaat dari memiliki satu atau beberapa kunci sekunder untuk secara lebih efisien mencari data menggunakan atribut lain. DynamoDB menawarkan opsi untuk membuat indeks sekunder global dan lokal, yang memungkinkan Anda mengueri data dalam tabel menggunakan kunci sekunder atau alternatif.

Indeks sekunder global juga dikenal sebagai indeks jarang. Selain memberi Anda fleksibilitas maksimum tentang cara mengakses data, Anda dapat menyediakan throughput tulis yang lebih rendah dengan performa luar biasa dan biaya yang lebih rendah.

Keamanan dan keandalan

DynamoDB menggunakan AWS Identity and Access Management (IAM) untuk mengautentikasi dan memberikan otorisasi akses ke sumber daya. Anda dapat menentukan kebijakan IAM, kebijakan berbasis sumber daya, menetapkan kontrol akses berbasis atribut (ABAC) menggunakan tag pada kebijakan tersebut, dan menetapkan ketentuan yang mengizinkan akses terperinci, yang membatasi akses baca atau tulis ke item dan atribut tertentu dalam tabel, berdasarkan identitas.

DynamoDB mengenkripsi semua data at rest pelanggan secara defaultEnkripsi diam meningkatkan keamanan data Anda menggunakan kunci enkripsi yang disimpan di AWS Key Management Service (AWS KMS). Dengan penambahan SDK Enkripsi Basis Data AWS, Anda dapat melakukan enkripsi tingkat atribut untuk menerapkan kontrol akses terperinci lebih jauh pada data di dalam tabel Anda. DynamoDB memungkinkan Anda membangun aplikasi yang peka terhadap keamanan yang memenuhi kepatuhan enkripsi dan persyaratan peraturan yang ketat.

Kunci enkripsi menyediakan lapisan perlindungan data tambahan dengan mengamankan data Anda dari akses tidak sah ke penyimpanan yang mendasarinya. Anda dapat menentukan apakah DynamoDB harus menggunakan kunci yang dimiliki AWS (tipe enkripsi default), kunci yang dikelola AWS, atau kunci yang dikelola pelanggan untuk mengenkripsi data pengguna. Enkripsi default yang menggunakan kunci AWS KMS diberikan tanpa biaya tambahan.

Pemulihan titik waktu (PITR) membantu melindungi tabel DynamoDB Anda dari operasi tulis atau penghapusan yang tidak disengaja. PITR memberikan pencadangan berkelanjutan untuk data tabel DynamoDB Anda, dan Anda dapat memulihkan tabel tersebut ke waktu tertentu mana pun hingga hitungan detik selama 35 hari sebelumnya.

PITR tidak menggunakan kapasitas yang tersedia dan tidak berdampak pada performa atau ketersediaan aplikasi Anda. Mengaktifkan PITR atau memulai operasi pencadangan dan pemulihan sangat mudah dilakukan di Konsol Manajemen AWS atau panggilan API tunggal.

Pencadangan dan pemulihan sesuai permintaan memungkinkan Anda membuat pencadangan lengkap atas data tabel DynamoDB Anda untuk pengarsipan data, yang dapat membantu memenuhi persyaratan peraturan perusahaan dan pemerintah Anda. Anda dapat mencadangkan tabel dari beberapa megabita hingga ratusan terabita data tanpa memengaruhi performa atau ketersediaan aplikasi produksi Anda. Dengan integrasi AWS Backup, Anda juga dapat menyalin pencadangan sesuai permintaan lintas akun dan lintas Wilayah, membuat penandaan alokasi biaya untuk pencadangan, dan mentransisikan pencadangan ke penyimpanan dingin.

DynamoDB mendukung gateway titik akhir cloud privat virtual (VPC) dan titik akhir VPC antarmuka untuk koneksi dalam VPC atau dari pusat data on-premise. Anda dapat mengonfigurasi konektivitas jaringan privat dari aplikasi on-premise Anda ke DynamoDB melalui antarmuka titik akhir VPC yang diaktifkan dengan AWS PrivateLink. Hal ini memungkinkan pelanggan menyederhanakan konektivitas privat ke DynamoDB dan menjaga kepatuhan.

Efektivitas Biaya

DynamoDB memberikan mode kapasitas untuk setiap tabel: sesuai permintaan dan yang disediakan.

  • Untuk beban kerja yang kurang dapat diprediksi di mana Anda tidak yakin apakah Anda akan memiliki penggunaan yang tinggi, mode kapasitas sesuai permintaan akan menangani pengelolaan kapasitas dan Anda hanya membayar apa yang Anda gunakan.
  • Tabel yang menggunakan mode kapasitas yang disediakan mengharuskan Anda menetapkan kapasitas baca dan tulis. Mode kapasitas yang disediakan akan lebih hemat biaya jika Anda yakin bahwa kapasitas yang disediakan yang Anda tetapkan memiliki tingkat pemanfaatan yang baik. 

Untuk tabel yang menggunakan mode kapasitas sesuai permintaan, DynamoDB langsung mengakomodasi beban kerja Anda saat naik atau turun ke tingkat lalu lintas yang dicapai sebelumnya. Jika tingkat lalu lintas beban kerja mencapai puncak baru, DynamoDB beradaptasi dengan cepat untuk mengakomodasi beban kerja. Anda juga dapat secara opsional mengonfigurasi throughput baca atau tulis maksimum (atau keduanya) untuk masing-masing tabel sesuai permintaan dan indeks sekunder terkait sehingga memudahkan untuk menyeimbangkan biaya dan performa. Anda dapat menggunakan mode kapasitas sesuai permintaan untuk tabel baru dan yang sudah ada, dan Anda dapat terus menggunakan API DynamoDB yang ada tanpa mengubah kode.

Untuk data yang jarang diakses, Anda dapat menggunakan kelas tabel Amazon DynamoDB Standard-IA yang membantu mengurangi biaya DynamoDB hingga 60%. Biaya penyimpanan tabel Standard-IA yang lebih rendah dirancang untuk penyimpanan data jangka panjang yang jarang diakses, seperti log aplikasi, data game historis, posting media sosial lama, dan banyak lagi. Tabel Standard-IA memiliki ketersediaan, ketahanan, dan performa yang sama dengan tabel Standar Amazon DynamoDB, yang merupakan opsi default dan paling hemat biaya untuk sebagian besar beban kerja.

Untuk tabel yang menggunakan kapasitas yang disediakan, DynamoDB memberikan penskalaan otomatis atas throughput dan penyimpanan berdasarkan kapasitas yang Anda tetapkan sebelumnya dengan memantau penggunaan performa aplikasi Anda.

  • Jika lalu lintas aplikasi Anda bertambah, DynamoDB meningkatkan throughput untuk mengakomodasi beban.
  • Jika lalu lintas aplikasi Anda berkurang, DynamoDB menurunkan skala sehingga Anda hanya perlu membayar lebih sedikit untuk kapasitas yang tidak digunakan..

Integrasi dengan layanan AWS

Impor/ekspor massal dari Amazon Simple Storage Service (Amazon S3) membantu Anda mendapatkan lebih banyak nilai dari data Anda dengan menghapus kebutuhan untuk menulis kode guna memindahkan, mentransformasi, dan menyalin tabel DynamoDB Anda dari satu aplikasi, akun, atau Wilayah ke aplikasi, akun, atau Wilayah lainnya. Impor dan ekspor massal tidak menggunakan kapasitas baca atau tulis tabel sehingga Anda tidak perlu merencanakan atau menyediakan kapasitas tambahan. Proses impor dan ekspor massal dikelola penuh oleh DynamoDB.

Impor massal dari Amazon S3 memungkinkan Anda mengimpor data dalam semua skala, mulai dari megabita hingga terabita menggunakan format yang didukung termasuk CSV, JSON DynamoDB, dan Amazon Ion. Dengan impor massal dari Amazon S3, pelanggan dapat menghemat hingga 66% dibandingkan penulisan berbasis klien yang menggunakan kapasitas yang tersedia.

Dengan ekspor massal ke Amazon S3, Anda dapat mengekspor data dari tabel dengan PITR yang diaktifkan untuk setiap titik waktu dalam 35 hari terakhir dengan granularitas per detik. Setelah mengekspor data dari DynamoDB ke Amazon S3, Anda dapat menggunakan layanan AWS lainnya, seperti Amazon Athena, Amazon SageMaker, dan lainnya untuk menganalisis data Anda dan mengekstraksi wawasan yang dapat ditindaklanjuti.

Amazon Kinesis Data Streams untuk DynamoDB menangkap perubahan tingkat item di tabel DynamoDB Anda untuk mendukung dasbor langsung, menghasilkan metrik, dan mengirimkan data ke danau data. Dengan Kinesis Data Streams, Anda dapat membangun aplikasi streaming lanjutan seperti agregasi log waktu nyata, analitik bisnis waktu nyata, dan tangkapan data IoT.

Melalui Kinesis Data Streams, Anda juga dapat menggunakan Amazon Kinesis Data Firehose untuk memberikan data DynamoDB secara otomatis ke layanan AWS lain, seperti Amazon S3, Amazon OpenSearch Service, dan Amazon Redshift.

Agar dapat memantau performa basis data Anda dengan mudah, DynamoDB terintegrasi dengan Amazon Cloudwatch, yang mengumpulkan dan memproses data performa basis data mentah. Anda dapat menggunakan CloudWatch untuk membuat tampilan dan dasbor metrik serta alarm yang disesuaikan untuk basis data DynamoDB. Kemampuan pemantauan ini ditawarkan secara default dan gratis. Anda juga dapat membuat alarm yang dikirimkan secara otomatis kepada Anda berdasarkan performa metrik.

Wawasan Kontributor Amazon CloudWatch membantu Anda untuk secara cepat mengidentifikasi siapa atau apa yang memengaruhi basis data dan performa aplikasi Anda. Kemampuan ini memudahkan Anda untuk mengisolasi, mendiagnosis, dan memulihkan masalah selama peristiwa operasional dengan cepat.

FAQ

Kelebihan uniknya adalah bahwa DynamoDB merupakan basis data nirserver skala ke nol yang terbukti terkelola penuh yang menyediakan performa satu digit milidetik dan ketersediaan hingga 99,999%. Dengan performa yang konsisten dalam skala besar, DynamoDB juga menawarkan keamanan, ketahanan, dan keandalan bawaan yang diperlukan untuk aplikasi global dengan persyaratan paling ketat.

Karena penggunaannya yang mudah, DynamoDB sering dipilih untuk aplikasi modern baru dan aplikasi skala internet yang sudah mapan yang mencari performa cepat yang konsisten dengan skalabilitas tanpa batas.

DynamoDB dibangun untuk developer dan karena bersifat nirserver, DynamoDB sangat mudah untuk diatur menggunakan dokumentasi teknis kami.