Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memilih antara relasional (SQL) dan No SQL
Aplikasi masa kini memiliki persyaratan yang lebih menuntut daripada sebelumnya. Misalnya, game online mungkin dimulai dengan hanya beberapa pengguna dan jumlah data yang sangat kecil. Namun, jika game menjadi sukses, itu dapat dengan mudah melampaui sumber daya dari sistem manajemen basis data yang mendasarinya. Sudah biasa bagi aplikasi berbasis web untuk memiliki ratusan, ribuan, atau jutaan pengguna bersamaan, dengan data baru seukuran terabyte atau lebih yang dihasilkan per hari. Basis data untuk aplikasi tersebut harus menangani puluhan (atau ratusan) dari ribuan baca dan tulis per detik.
Amazon DynamoDB sangat cocok untuk jenis beban kerja tersebut. Sebagai developer, Anda dapat memulai dari kecil dan secara bertahap meningkatkan pemanfaatan Anda seiring aplikasi Anda menjadi lebih populer. DynamoDB menskalakan tanpa hambatan untuk menangani jumlah data yang sangat besar dan jumlah pengguna yang sangat besar.
Untuk informasi lebih lanjut tentang pemodelan basis data relasional tradisional dan cara menyesuaikannya untuk DynamoDB, lihat Praktik terbaik untuk memodelkan data relasional di DynamoDB.
Tabel berikut menunjukkan beberapa perbedaan tingkat tinggi antara sistem manajemen database relasional (RDBMS) dan DynamoDB.
Karakteristik | Sistem manajemen basis data relasional () RDBMS | Amazon DynamoDB |
---|---|---|
Beban Kerja Optimal | Kueri ad hoc; pergudangan data; OLAP (pemrosesan analitik online). | Aplikasi berskala web, termasuk jejaring sosial, game, berbagi media, dan Internet untuk Segala (IoT). |
Model Data | Model relasional membutuhkan skema yang didefinisikan dengan baik, di mana data dinormalisasi ke dalam tabel, baris, dan kolom. Selain itu, semua hubungan didefinisikan antara tabel, kolom, indeks, dan elemen basis data lainnya. | DynamoDB tidak memiliki skema. Setiap tabel harus memiliki kunci primer untuk secara unik mengidentifikasi setiap item data, tetapi tidak ada kendala yang sama pada atribut non-kunci lainnya. DynamoDB dapat mengelola data terstruktur atau semi-terstruktur, termasuk dokumen. JSON |
Akses Data | SQLadalah standar untuk menyimpan dan mengambil data. Database relasional menawarkan seperangkat alat yang kaya untuk menyederhanakan pengembangan aplikasi berbasis database, tetapi semua alat ini digunakan. SQL | Anda dapat menggunakan AWS Management Console, the AWS CLI, atau No SQL WorkBench untuk bekerja dengan DynamoDB dan melakukan tugas ad hoc. PartiQL, bahasa kueri SQL yang kompatibel, memungkinkan Anda memilih, menyisipkan, memperbarui, dan menghapus data di DynamoDB. Aplikasi dapat menggunakan kit pengembangan AWS perangkat lunak (SDKs) untuk bekerja dengan DynamoDB menggunakan antarmuka berbasis objek, berpusat pada dokumen, atau tingkat rendah. |
Performa | Basis data relasional dioptimalkan untuk penyimpanan, sehingga performa umumnya tergantung pada subsistem disk. Developer dan administrator basis data harus mengoptimalkan permintaan, indeks, dan struktur tabel untuk mencapai puncak performa. | DynamoDB dioptimalkan untuk melakukan komputasi, sehingga performa utamanya adalah fungsi dari hardware yang mendasari dan latensi jaringan. Sebagai layanan terkelola, DynamoDB mengisolasi Anda dan aplikasi Anda dari detail implementasi ini, sehingga Anda dapat fokus pada merancang dan membangun aplikasi yang kuat dan berperforma tinggi. |
Penskalaan | Paling mudah untuk menaikkan skala dengan perangkat keras yang lebih cepat. Mungkin juga bagi tabel basis data untuk menjangkau beberapa host dalam sistem terdistribusi, tetapi ini memerlukan investasi tambahan. basis data relasional memiliki ukuran maksimum untuk jumlah dan ukuran file, yang membebankan batas atas pada skalabilitas. | DynamoDB dirancang untuk diperluas menggunakan klaster perangkat keras terdistribusi. Desain ini memungkinkan peningkatan throughput tanpa peningkatan latensi. Pelanggan menentukan persyaratan throughput mereka, dan DynamoDB mengalokasikan sumber daya yang cukup untuk memenuhi persyaratan tersebut. Tidak ada batas atas pada jumlah item per tabel, atau ukuran total tabel tersebut. |