Basis data dalam memori adalah basis data yang dibuat khusus, yang bergantung terutama pada memori internal untuk penyimpanan data. Hal ini memungkinkan waktu respons minimal dengan menghilangkan kebutuhan untuk mengakses drive disk standar (SSD). Basis data dalam memori ideal untuk aplikasi yang memerlukan waktu respons mikrodetik atau memiliki lonjakan lalu lintas yang besar, seperti papan peringkat game, penyimpanan sesi, dan analitik data waktu nyata. Istilah basis data memori utama (MMDB), sistem basis data dalam memori (IMDS), dan sistem basis data waktu nyata (RTDB) juga mengacu pada basis data dalam memori.

Apa saja keuntungan dari basis data dalam memori

Basis data dalam memori membawa beberapa keuntungan yang akan kita jelajahi secara detail di bawah ini.

Latensi rendah, memberikan respons waktu nyata

Latensi adalah jeda antara permintaan untuk mengakses data dan respons aplikasi. Basis data dalam memori menawarkan latensi rendah yang dapat diprediksi, berapa pun skalanya. Basis data ini memberikan latensi baca mikrodetik, latensi tulis satu digit milidetik, dan throughput tinggi.

Akibatnya, penyimpanan dalam memori memungkinkan korporasi untuk membuat keputusan berbasis data dalam waktu nyata. Anda dapat merancang aplikasi yang memproses data dan merespons perubahan sebelum terlambat. Misalnya, komputasi data sensor dalam memori dari kendaraan otonom dapat memberikan waktu respons sepersekian detik yang diinginkan untuk pengereman darurat.

Throughput tinggi

Basis data dalam memori terkenal dengan throughput tinggi. Throughput mengacu pada jumlah operasi baca (throughput baca) atau tulis (throughput tulis) selama periode waktu tertentu. Contohnya mencakup bita/menit atau transaksi per detik.

Skalabilitas tinggi

Anda dapat menskalakan basis data dalam memori untuk memenuhi permintaan aplikasi yang berfluktuasi. Penskalaan tulis dan baca dimungkinkan tanpa memberikan dampak buruk pada performa. Basis data tetap online dan mendukung operasi baca-dan-tulis selama perubahan ukuran.

Apa saja kasus penggunaan basis data dalam memori

Basis data dalam memori adalah pilihan yang baik untuk industri perbankan, telekomunikasi, game, dan periklanan seluler. Kami memberikan beberapa contoh kasus penggunaan basis data dalam memori di bawah ini.

Caching

Cache adalah lapisan penyimpanan data berkecepatan tinggi yang menyimpan subset data yang biasanya bersifat sementara. Tujuan utama cache adalah untuk meningkatkan performa pengambilan data dengan mengurangi kebutuhan untuk mengakses lapisan penyimpanan dasar yang lebih lambat. Artinya, permintaan masa depan untuk data tersebut dilayani lebih cepat dibandingkan dengan mengakses lokasi penyimpanan utama data.

Caching memungkinkan Anda untuk menggunakan kembali data yang diambil atau dikomputasi sebelumnya secara efisien. Penyimpanan data dalam memori berfungsi dengan baik untuk mempercepat akses ke data cache. Caching mengorbankan daya tahan demi waktu respons. Waktu respons lebih cepat karena data diambil dari memori, tetapi caching tidak melindungi dari hilangnya data dalam memori. Inilah sebabnya caching sering digunakan secara kombinasi dengan basis data berbasis disk yang tahan lama.

Penawaran waktu nyata

Penawaran waktu nyata mengacu pada pembelian dan penjualan tayangan iklan online. Biasanya, tawaran harus dilakukan saat pengguna memuat halaman web dalam waktu 100-120 milidetik dan terkadang hanya selama 50 milidetik. Selama periode ini, aplikasi penawaran waktu nyata meminta tawaran dari semua pembeli untuk spot iklan, memilih tawaran yang menang berdasarkan banyak kriteria, menampilkan penawaran, dan mengumpulkan informasi yang ditampilkan setelah iklan. Basis data dalam memori cocok untuk menyerap, memproses, dan menganalisis data waktu nyata dengan latensi sub-milidetik.

Papan Peringkat Game

Papan peringkat game relatif menunjukkan posisi gamer dibandingkan dengan pemain lain dengan peringkat yang sama. Papan peringkat ini dapat membantu membangun keterlibatan di antara pemain dan mencegah gamer hilang motivasi dibandingkan dengan pemain teratas. Basis data dalam memori dapat secara cepat memberikan hasil penyortiran dan memperbarui papan peringkat dalam waktu nyata untuk game dengan jutaan pemain.

Bagaimana cara kerja cache dalam memori

Cache dalam memori bergantung pada memori akses acak (RAM) untuk menyimpan data. Teknologi ini menyimpan tabel data langsung di RAM, bukan di drive eksternal. Struktur data spesialis memungkinkan pengindeksan catatan data Anda. Indeks bertindak sebagai penunjuk langsung ke baris dan kolom tertentu. Namun, data fisik aktual dikompresi dan dalam format nonrelasional. Saat Anda membuat permintaan akses, basis data mengarahkan ke nilai data yang tepat menggunakan indeks. Data yang disimpan selalu tersedia dalam format yang dapat digunakan secara langsung.

Hal-hal seperti komputasi 64-bit, harga RAM yang lebih murah, dan server dengan banyak inti telah membuat penyimpanan dalam memori lebih umum. Selain itu, penyimpanan data berbasis cloud memungkinkan Anda untuk menaikkan atau menurunkan skala sumber daya RAM sesuai kebutuhan, yang membuat teknologi dalam memori lebih fleksibel serta lebih mudah diakses.

Perbedaan antara cache dalam memori dan basis data berbasis disk tradisional

Basis data tradisional menyimpan semua data ke drive disk atau solid-state drive eksternal. Setiap operasi baca-dan-tulis memerlukan akses disk. Sebaliknya, cache dalam memori tidak memprioritaskan persistensi data. Misalnya, cache mungkin hanya menyimpan data secara berkala ke media penyimpanan eksternal. Kami telah meringkas perbedaan antara cache dalam memori dan basis data tradisional di bawah ini.

Apa perbedaan antara cache dalam memori dan basis data dalam memori

Cache dalam memori memberikan performa yang lebih baik karena operasi tulis tidak dipertahankan, dengan menghilangkan waktu tambahan yang diperlukan untuk mempertahankan data. Basis data dalam memori mempertahankan operasi tulis, membuat perubahan data jadi tahan lama. Daya tahan ini menurunkan performa operasi tulis. Namun, basis data dalam memori masih memberikan performa yang lebih baik daripada basis data berbasis disk. Dari sudut pandang performa, basis data ini berada di antara cache dalam memori dan basis data berbasis disk.

Apa saja keterbatasan cache dalam memori

Karena semua data disimpan dan dikelola secara eksklusif dalam memori, cache dalam memori berisiko kehilangan data pada saat terjadi kegagalan proses atau server. Untuk meningkatkan daya tahan, cache dalam memori dapat mempertahankan data secara berkala pada basis data disk. Kami memperluas beberapa mekanisme untuk meningkatkan ketahanan di bawah ini.

File snapshot

File snapshot merekam status basis data pada waktu tertentu. Cache dalam memori menghasilkan snapshot secara berkala atau selama pematian terkontrol. Meskipun proses snapshot meningkatkan daya tahan sampai batas tertentu, kehilangan data masih dapat terjadi di antara snapshot.

Pencatatan transaksi

Pencatatan transaksi mencatat perubahan pada basis data dalam file jurnal eksternal. Pencatatan tidak bergantung pada baca/tulis data dan tidak memengaruhi performa. File jurnal memfasilitasi pemulihan otomatis cache dalam memori.

Replikasi

Beberapa cache dalam memori bergantung pada redundansi untuk memberikan ketersediaan tinggi. Cache menyimpan banyak salinan data yang sama di modul memori yang berbeda. Kegagalan modul mengakibatkan failover otomatis ke salinan cadangan duplikat. Hal ini mengurangi risiko kehilangan data dengan cache.

Bagaimana cara AWS mendukung kebutuhan cache dan basis data dalam memori Anda

AWS menyediakan beberapa layanan cache dan basis data dalam memori yang terkelola penuh untuk kebutuhan spesifik Anda.

Basis data dalam memori

Amazon MemoryDB for Redis

Amazon MemoryDB for Redis adalah layanan basis data dalam memori yang tahan lama dan memberikan performa yang sangat cepat. Layanan ini kompatibel dengan Redis, sebuah penyimpanan data sumber terbuka yang populer. Dengan demikian, pelanggan dapat dengan cepat membangun aplikasi menggunakan struktur data, API, dan perintah Redis yang fleksibel serta ramah, sama seperti yang mereka gunakan saat ini. MemoryDB juga menyimpan data dalam waktu lama di banyak Zona Ketersediaan (AZ) dengan menggunakan log transaksi Multi-AZ untuk mengaktifkan failover cepat, pemulihan basis data, dan mulai ulang simpul.

Cache dalam memori

Amazon ElastiCache for Redis

Amazon ElastiCache for Redis adalah layanan caching dalam memori yang sangat cepat, yang memungkinkan latensi mikrodetik untuk mendukung aplikasi skala internet waktu nyata. Developer dapat menggunakan ElastiCache for Redis sebagai cache dalam memori, atau kasus penggunaan yang tidak memerlukan daya tahan data yang tinggi. Konfigurasi klaster ElastiCache for Redis mendukung pelanggan untuk menjalankan beban kerja Redis dengan kapasitas dalam memori hingga 6,1 TB dalam satu klaster. ElastiCache for Redis juga menyediakan kemampuan untuk menambahkan dan menghapuskan serpihan dari klaster yang sedang berjalan. Anda dapat menskalakan beban kerja klaster Redis ke dalam maupun keluar secara dinamis untuk beradaptasi dengan perubahan dalam permintaan.

Amazon ElastiCache for Memcached

Amazon ElastiCache for Memcached adalah layanan caching nilai kunci dalam memori yang kompatibel dengan Memcached. Layanan ini memberikan performa tinggi, kemudahan penggunaan, dan kesederhanaan yang sama dengan Memcached. ElastiCache for Memcached ini terkelola penuh, dapat diskalakan, dan aman, yang menjadikannya kandidat ideal untuk kasus penggunaan yang mengharuskan data yang sering diakses berada dalam memori.

Mulai cache atau basis data dalam memori di AWS dengan membuat akun gratis sekarang juga!

Pengantar Amazon MemoryDB for Redis
Pengantar Amazon ElastiCache for Redis