Penyimpanan, keandalan, dan ketersediaan Amazon Neptunus - Amazon Neptune

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

Penyimpanan, keandalan, dan ketersediaan Amazon Neptunus

Amazon Neptunus menggunakan arsitektur penyimpanan terdistribusi dan bersama yang diskalakan secara otomatis seiring dengan bertambahnya kebutuhan penyimpanan database Anda.

Data Neptunus disimpan dalam volume cluster, yang merupakan volume virtual tunggal yang menggunakan drive berbasis Non-Volatile Memory Express (). NVMe SSD Volume cluster terdiri dari kumpulan blok logis yang dikenal sebagai segmen. Masing-masing segmen ini dialokasikan 10 gigabyte (GB) penyimpanan. Data di setiap segmen direplikasi menjadi enam salinan, yang kemudian dialokasikan di tiga zona ketersediaan (AZs) di AWS Wilayah tempat cluster DB berada.

Ketika cluster DB Neptunus dibuat, ia dialokasikan satu segmen 10 GB. Ketika volume data meningkat dan melebihi penyimpanan yang saat ini dialokasikan, Neptunus secara otomatis memperluas volume cluster dengan menambahkan segmen baru. Volume cluster Neptunus dapat tumbuh hingga ukuran maksimum 128 tebibytes (TiB) di semua wilayah yang didukung kecuali China dan GovCloud, di mana ia dibatasi hingga 64 TiB. NamunRilis: 1.0.2.2 (2020-03-09), untuk rilis mesin lebih awal dari, ukuran volume cluster dibatasi hingga 64 TiB di semua wilayah.

Volume cluster DB berisi semua data pengguna, indeks, dan kamus Anda (dijelaskan di Model Data Grafik Neptune bagian ini, serta metadata internal seperti log transaksi internal. Semua data grafik ini, termasuk indeks dan log internal, tidak dapat melebihi ukuran maksimum volume cluster.

I/O — Opsi penyimpanan yang dioptimalkan

Neptunus menawarkan dua model harga untuk penyimpanan:

  • Penyimpanan standar — Penyimpanan standar menyediakan penyimpanan database yang hemat biaya untuk aplikasi dengan penggunaan I/O sedang hingga rendah.

  • I/O — Penyimpanan yang dioptimalkan — Dengan I/O — Penyimpanan yang dioptimalkan, Anda hanya membayar untuk penyimpanan yang Anda gunakan, dengan biaya yang lebih tinggi daripada penyimpanan standar, dan Anda tidak membayar apa pun untuk I/O yang Anda gunakan.

    I/O—Penyimpanan yang dioptimalkan dirancang untuk memenuhi kebutuhan beban kerja grafik intensif I/O dengan biaya yang dapat diprediksi, dengan latensi I/O rendah dan throughput I/O yang konsisten.

    Untuk informasi selengkapnya, lihat I/O—Penyimpanan yang dioptimalkan.

Alokasi penyimpanan Neptunus

Meskipun volume cluster Neptunus dapat tumbuh hingga 128 TiB (atau 64 TiB di beberapa wilayah), Anda hanya dikenakan biaya untuk ruang yang sebenarnya dialokasikan. Total ruang yang dialokasikan ditentukan oleh tanda penyimpanan air tinggi, yang merupakan jumlah maksimum yang dialokasikan untuk volume cluster setiap saat selama keberadaannya.

Ini berarti bahwa bahkan jika data pengguna dihapus dari volume cluster, seperti oleh drop query sepertig.V().drop(), total ruang yang dialokasikan tetap sama. Neptunus secara otomatis mengoptimalkan ruang yang dialokasikan yang tidak terpakai untuk digunakan kembali di masa depan.

Selain data pengguna, dua jenis konten tambahan mengkonsumsi ruang penyimpanan internal, yaitu data kamus dan log transaksi internal. Meskipun data kamus disimpan dengan data grafik, itu tetap ada tanpa batas waktu, bahkan ketika data grafik yang didukungnya telah dihapus, yang berarti bahwa entri dapat digunakan kembali jika data diperkenalkan kembali. Data log internal disimpan di ruang penyimpanan internal terpisah yang memiliki tanda airnya sendiri yang tinggi. Ketika log internal kedaluwarsa, penyimpanan yang ditempati dapat digunakan kembali untuk log lain, tetapi tidak untuk data grafik. Jumlah ruang internal yang telah dialokasikan untuk log termasuk dalam total ruang yang dilaporkan oleh VolumeBytesUsed CloudWatch metrik.

Periksa cara Praktik terbaik penyimpanan untuk menjaga penyimpanan yang dialokasikan seminimal mungkin dan untuk menggunakan kembali ruang.

Penagihan penyimpanan Neptunus

Biaya penyimpanan ditagih berdasarkan tanda air penyimpanan yang tinggi, seperti dijelaskan di atas. Meskipun data Anda direplikasi menjadi enam salinan, Anda hanya ditagih untuk satu salinan data.

Anda dapat menentukan berapa tanda air tinggi penyimpanan saat ini dari cluster DB Anda dengan memantau VolumeBytesUsed CloudWatch metrik (lihatMemantau Neptunus Menggunakan Amazon CloudWatch).

Faktor lain yang dapat memengaruhi biaya penyimpanan Neptunus Anda termasuk snapshot database dan cadangan, yang ditagih secara terpisah sebagai penyimpanan cadangan dan didasarkan pada biaya penyimpanan Neptunus (lihat. CloudWatch Metrik yang berguna untuk mengelola penyimpanan cadangan Neptune

Namun, jika Anda membuat klon database Anda, klon menunjuk ke volume cluster yang sama dengan yang digunakan cluster DB Anda sendiri, sehingga tidak ada biaya penyimpanan tambahan untuk data asli. Perubahan selanjutnya pada klon menggunakan copy-on-write protokol, dan menghasilkan biaya penyimpanan tambahan.

Untuk informasi selengkapnya tentang harga Neptune, lihat Harga Amazon Neptune.

Praktik terbaik penyimpanan Neptunus

Karena jenis data tertentu mengkonsumsi penyimpanan permanen di Neptunus, gunakan praktik terbaik ini untuk menghindari lonjakan besar dalam pertumbuhan penyimpanan:

  • Saat mendesain model data grafik Anda, hindari sebanyak mungkin menggunakan kunci properti dan nilai yang dihadapi pengguna yang bersifat sementara.

  • Jika Anda berencana membuat perubahan pada model data Anda, jangan memuat data ke cluster DB yang ada menggunakan model baru sampai Anda menghapus data di cluster DB tersebut menggunakan reset API cepat. Hal terbaik adalah sering memuat data yang menggunakan model baru ke cluster DB baru.

  • Transaksi yang beroperasi pada sejumlah besar data menghasilkan log internal yang besar, yang secara permanen dapat meningkatkan tanda air yang tinggi dari ruang log internal. Misalnya, satu transaksi yang menghapus semua data di cluster DB Anda dapat menghasilkan log internal besar yang akan membutuhkan mengalokasikan banyak penyimpanan internal dan dengan demikian secara permanen mengurangi ruang yang tersedia untuk data grafik.

    Untuk menghindari hal ini, bagi transaksi besar menjadi yang lebih kecil dan berikan waktu di antara mereka sehingga log internal terkait memiliki kesempatan untuk kedaluwarsa dan melepaskan penyimpanan internal mereka untuk digunakan kembali oleh log berikutnya.

  • Untuk memantau pertumbuhan volume cluster Neptunus Anda, Anda dapat mengatur alarm pada CloudWatch metrik. VolumeBytesUsed CloudWatch Ini bisa sangat membantu jika data Anda mencapai ukuran maksimum volume cluster. Untuk informasi selengkapnya, lihat Menggunakan CloudWatch alarm Amazon.

Satu-satunya cara untuk mengecilkan ruang penyimpanan yang digunakan oleh cluster DB Anda ketika Anda memiliki sejumlah besar ruang yang dialokasikan yang tidak terpakai adalah dengan mengekspor semua data dalam grafik Anda dan kemudian memuatnya kembali ke cluster DB baru. Lihat layanan dan utilitas ekspor data Neptunus untuk cara mudah mengekspor data dari cluster DB, dan pemuat massal Neptunus untuk cara mudah mengimpor data kembali ke Neptunus.

catatan

Membuat dan memulihkan snapshot tidak mengurangi jumlah penyimpanan yang dialokasikan untuk kluster DB Anda, karena snapshot mempertahankan gambar asli penyimpanan dasar cluster. Jika sejumlah besar penyimpanan yang Anda alokasikan tidak digunakan, satu-satunya cara untuk mengecilkan jumlah penyimpanan yang dialokasikan adalah dengan mengekspor data grafik Anda dan memuatnya kembali ke cluster DB baru.

Keandalan penyimpanan Neptunus dan ketersediaan tinggi

Amazon Neptune dirancang agar andal, tahan lama, dan toleran terhadap kesalahan.

Fakta bahwa enam salinan data Neptunus Anda dipertahankan di tiga zona ketersediaan AZs () memastikan bahwa penyimpanan data sangat tahan lama, dengan kemungkinan kehilangan data yang sangat rendah. Data direplikasi secara otomatis di seluruh zona ketersediaan terlepas dari apakah ada instans DB di dalamnya, dan jumlah replikasi tidak tergantung pada jumlah instans DB di cluster Anda.

Ini berarti Anda dapat menambahkan replika baca dengan cepat, karena Neptunus tidak membuat salinan baru dari data grafik. Sebagai gantinya, replika baca terhubung ke volume cluster yang sudah berisi data Anda. Demikian pula, menghapus replika baca tidak menghapus data yang mendasarinya.

Anda dapat menghapus volume cluster dan datanya hanya setelah menghapus semua instance DB-nya.

Neptunus juga secara otomatis mendeteksi kegagalan pada segmen yang membentuk volume cluster. Ketika salinan data dalam segmen rusak, Neptunus segera memperbaiki segmen itu, menggunakan salinan data lain dalam segmen yang sama untuk memastikan bahwa data yang diperbaiki adalah saat ini. Akibatnya, Neptunus menghindari kehilangan data dan mengurangi kebutuhan untuk point-in-time melakukan pemulihan untuk memulihkan dari kegagalan disk.