Praktik terbaik cluster elastis Amazon DocumentDB - Amazon DocumentDB

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

Praktik terbaik cluster elastis Amazon DocumentDB

Pelajari praktik terbaik untuk bekerja dengan klaster elastis Amazon DocumentDB. Semua praktik terbaik untuk cluster Amazon DocumentDB berbasis instans juga berlaku untuk cluster elastis. Bagian ini terus diperbarui saat praktik terbaik baru diidentifikasi.

Memilih kunci pecahan

Daftar berikut menjelaskan pedoman untuk membuat kunci shard.

  • Gunakan kunci hash yang didistribusikan secara merata untuk mendistribusikan data Anda di semua pecahan di cluster Anda (hindari tombol pintas).

  • Gunakan kunci pecahan Anda di semua read/update/delete permintaan untuk menghindari kueri pengumpulan pencar.

  • Hindari kunci pecahan bersarang saat melakukan read/update/delete operasi.

  • Saat membuat operasi batch, atur ordered ke false sehingga semua pecahan dapat berjalan secara paralel dan meningkatkan latensi.

Manajemen koneksi

Daftar berikut menjelaskan pedoman untuk mengelola koneksi Anda ke database Anda.

  • Pantau jumlah koneksi Anda dan seberapa sering koneksi baru dibuka ditutup.

  • Mendistribusikan koneksi Anda di semua subnet dalam konfigurasi aplikasi Anda. Jika cluster Anda dikonfigurasi dalam beberapa subnet tetapi Anda hanya menggunakan subset dari subnet, Anda mungkin terhambat pada koneksi maksimum Anda.

Koleksi unsharded

Berikut ini menjelaskan pedoman untuk koleksi unsharded.

  • Saat bekerja dengan koleksi unsharded, untuk mendistribusikan beban, cobalah menyimpan koleksi unsharded yang sangat dimanfaatkan pada database yang berbeda. Cluster elastis Amazon DocumentDB menempatkan database di seluruh pecahan yang berbeda dan bersama-sama menempatkan koleksi unsharded untuk database yang sama pada pecahan yang sama.

Penskalaan cluster elastis

Daftar berikut menjelaskan pedoman untuk menskalakan cluster elastis Anda.

  • Operasi penskalaan dapat menyebabkan periode singkat database intermiten dan kesalahan jaringan. Jika memungkinkan, hindari penskalaan selama jam sibuk. Cobalah untuk skala selama jendela pemeliharaan.

  • Menskalakan kapasitas shard naik dan turun (mengubah jumlah vCPU per shard) untuk meningkatkan komputasi lebih disukai daripada menambah atau mengurangi shard-count karena lebih cepat dan memiliki durasi database intermiten dan kesalahan jaringan yang lebih pendek.

  • Saat mengantisipasi pertumbuhan, lebih baik meningkatkan jumlah pecahan alih-alih menskalakan kapasitas pecahan. Ini memungkinkan Anda untuk menskalakan klaster Anda dengan meningkatkan kapasitas pecahan untuk skenario di mana Anda perlu menskalakan dengan cepat.

  • Pantau kebijakan coba lagi sisi klien Anda dan coba lagi dengan backoff dan jitter eksponensial untuk menghindari kelebihan beban database Anda saat mendapatkan kesalahan saat melakukan penskalaan.

Memantau cluster elastis

Daftar berikut menjelaskan pedoman untuk memantau kelompok elastis Anda.

  • Lacak peak-to-average rasio metrik per shard Anda untuk menentukan apakah Anda mengarahkan lalu lintas yang tidak merata (memiliki hot-key/hot-spot). Metrik utama untuk melacak peak-to-average rasio adalah:

    • PrimaryInstanceCPUUtilization

      • Ini dapat dipantau pada tingkat per-shard.

      • Pada tingkat cluster Anda dapat memantau rata-rata ke p99 miring.

    • PrimaryInstanceFreeableMemory

      • Ini dapat dipantau pada tingkat per-shard.

      • Pada tingkat cluster Anda dapat memantau rata-rata ke p99 miring.

    • DatabaseCursorsMax

      • Ini harus dipantau pada tingkat per-shard untuk menentukan kemiringan.

    • Documents-Inserted/Updated/Returned/Deleted

      • Ini harus dipantau pada tingkat per-shard untuk menentukan kemiringan.