a11y-skip-to-main-content

Amazon DynamoDB

Tentang DynamoDB

DynamoDB adalah layanan basis data NoSQL terdistribusi, nirserver, dan terkelola penuh dengan performa milidetik satu digit di skala apa pun. Layanan ini dihadirkan tanpa manajemen infrastruktur, tanpa pemeliharaan waktu henti , dan tanpa periode pemeliharaan nol. 

Developer dapat menggunakan DynamoDB untuk membangun aplikasi nirserver yang dapat dimulai dari yang kecil dan menskalakannya secara global. DynamoDB melakukan penskalaan untuk mendukung tabel dengan ukuran apa pun. Ketersediaan, ketahanan, serta toleransi kesalahan bersifat bawaan dan tidak dapat dinonaktifkan sehingga Anda tidak perlu merancang aplikasi untuk kemampuan tersebut.

DynamoDB dirancang untuk menjalankan aplikasi skala internet beperforma tinggi yang akan membebani basis data relasional tradisional. Hal ini mendukung model data nilai-kunci dan dokumen. DynamoDB memiliki skema yang fleksibel sehingga memungkinkan Anda untuk mudah beradaptasi ketika kebutuhan bisnis Anda berubah, tanpa perlu menentukan kembali skema tabel seperti yang Anda lakukan dalam basis data relasional.

Setelah lebih dari sepuluh tahun menjadi pelopor investasi inovasi, DynamoDB menawarkan skalabilitas tanpa batas dengan performa milidetik satu digit yang konsisten dan ketersediaan hingga 99,999%.

Performa dan skalabilitas

Buka semua

    Dengan DynamoDB, server tidak perlu disediakan, dilakukan patch, dan dikelola, 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.

    Sama 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

Buka semua

    DynamoDB mengenkripsi semua data diam pelanggan secara defaultEnkripsi diam meningkatkan keamanan data Anda menggunakan kunci enkripsi yang disimpan di AWS Key Management Service (AWS KMS). Dengan tambahan SDK Enkripsi Basis Data AWS, Anda dapat melakukan enkripsi tingkat atribut untuk menerapkan kontrol akses granular 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 dasarnya. Anda dapat menentukan apakah DynamoDB harus menggunakan kunci yang milik AWS (tipe enkripsi default), kunci yang dikelola AWS, atau kunci yang dikelola pelanggan untuk mengenkripsi data pengguna. Enkripsi default yang menggunakan kunci AWS KMS tersedia tanpa biaya tambahan.

    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 mendukung titik akhir cloud privat virtual (VPC) gateway 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.

Ketahanan

Buka semua

    Pemulihan titik waktu (PITR) membantu melindungi tabel DynamoDB Anda dari operasi tulis atau hapus 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 terprovisi dan tidak memengaruhi 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 Region, membuat penandaan alokasi biaya untuk pencadangan, dan mentransisikan pencadangan ke penyimpanan dingin.

    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 Region yang dipilih untuk mendapatkan performa baca dan tulis dalam milidetik satu digit.

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

    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 melakukan perubahan terkoordinasi yang bersifat all-or-nothing, pada beberapa item, baik dalam satu tabel maupun lintas tabel.

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

Efektivitas biaya

Buka semua

    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.

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

    • Untuk beban kerja yang kurang dapat diprediksi atau saat 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 terprovisi mengharuskan Anda menetapkan kapasitas baca dan tulis. Mode kapasitas terprovisi akan lebih hemat biaya jika Anda yakin bahwa kapasitas terprovisi yang Anda tetapkan memiliki tingkat pemanfaatan yang baik. 

    Untuk tabel yang menggunakan kapasitas terprovisi, 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 untuk kapasitas yang digunakan.

Integrasi dengan layanan AWS

Buka semua

    Impor dan 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 Region ke aplikasi, akun, atau Region 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 terprovisi.

    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.

    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 secara berurutan 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.

    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 mengirimkan 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.