Penyimpanan data - Menerapkan Layanan Mikro di AWS

Penyimpanan data

Penyimpanan data digunakan untuk melakukan persistensi data yang dibutuhkan oleh layanan mikro. Penyimpanan populer untuk data sesi adalah cache dalam memori, seperti Memcached atau Redis. AWS menawarkan kedua teknologi tersebut sebagai bagian dari layanan Amazon ElastiCache terkelola.

Menempatkan cache antara server aplikasi dan basis data adalah mekanisme umum untuk mengurangi beban baca pada basis data, yang selanjutnya dapat memungkinkan sumber daya digunakan untuk mendukung lebih banyak beban tulis. Cache juga dapat meningkatkan latensi.

Basis data relasional masih sangat populer untuk menyimpan data terstruktur dan objek bisnis. AWS menawarkan enam mesin basis data (Microsoft SQL Server, Oracle, MySQL, MariaDB, PostgreSQL, dan Amazon Aurora) sebagai layanan terkelola melalui Amazon Relational Database Service (Amazon RDS).

Namun, basis data relasional tidak dirancang untuk penskalaan tanpa batas, yang dapat menyulitkan dan menghabiskan banyak waktu guna menerapkan teknik untuk mendukung sejumlah besar kueri.

Basis data NoSQL telah dirancang untuk mendukung skalabilitas, performa, dan ketersediaan dibandingkan dengan konsistensi yang dimiliki basis data relasional. Salah satu elemen penting dari basis data NoSQL adalah bahwa basis data ini biasanya tidak memberlakukan skema yang ketat. Data didistribusikan ke beberapa partisi yang dapat diskalakan secara horizontal dan diambil menggunakan kunci partisi.

Karena setiap layanan mikro dirancang untuk melakukan satu hal dengan baik, layanan mikro ini biasanya memiliki model data yang disederhanakan yang mungkin cocok untuk persistensi NoSQL. Penting untuk dipahami bahwa basis data NoSQL memiliki pola akses yang berbeda dari basis data relasional. Misalnya, penggabungan tabel tidak dapat dilakukan. Jika hal ini diperlukan, logikanya harus diterapkan dalam aplikasi. Anda dapat menggunakan Amazon DynamoDB untuk membuat tabel basis data yang dapat menyimpan dan mengambil data dalam jumlah apa pun dan melayani tingkat lalu lintas permintaan apa pun. DynamoDB memberikan performa milidetik digit tunggal, tetapi ada kasus penggunaan tertentu yang memerlukan waktu respons dalam mikrodetik. Amazon DynamoDB Accelerator (DAX) menyediakan kemampuan caching untuk mengakses data.

DynamoDB juga menawarkan fitur penskalaan otomatis untuk menyesuaikan kapasitas throughput secara dinamis sebagai respons terhadap lalu lintas sebenarnya. Namun, ada kasus saat perencanaan kapasitas sulit dilakukan atau tidak memungkinkan karena lonjakan aktivitas besar yang berdurasi singkat dalam aplikasi Anda. Untuk situasi seperti itu, DynamoDB menyediakan opsi sesuai permintaan, yang menawarkan harga bayar sesuai permintaan yang sederhana. DynamoDB sesuai permintaan mampu melayani ribuan permintaan per detik secara instan tanpa perencanaan kapasitas.