Database Session State
Database Session
State
Menyimpan data session sebagai data commit pada database
Bagaimana Session
State Bekerja
Ketika permintaan dari client kepada server, pertama kali
object server menarik data yang dibutuhkan sebagai permintaan dari database.
Setelah itu dikerjakan perlunya melakukan dan menyimpan balik ke database semua
data yang dibutuhkan.
Dalam rangka menarik informasi dari database, object server
akan membutuhkan beberapa informasi mengenai session, yang mana membutuhkan
setidaknya session ID number yang tersimpan dan berada pada klien. Biasanya,
informasi ini tidak lebih dari sejumlah key sesuai yang dibutuhkan untuk
mencari sejumlah data yang sesuai pada database.
Data tersebut terdiri dari secara khusus gabungan dari
session data yang merupakan interaksi lokal saat ini dan data commit yang
relevan pada semua interaksi.
Salah satu kunci issue yang perlu dipertimbangkan disini
adalah faktanya bahwa data session biasanya mempertimbangkan local untuk
session dan seharusnya tidak berakibat pada bagian system yang lain sampai
session secara keseluruhan dicommit. Jadi, jika kita bekerja pada otorisasi
dalam session dan kita ingin menyimpan intermediate state pada database, kita
biasanya membutuhkan untuk memperhatikan itu secara berbeda dari otoriasi dikonfirmasi
hingga akhir session.
Jadi bagaimana caranya kita memisah data session ?
menambahkan sebuah field pada setiap baris database bahwa data session merupakan
satu rute. Bentuk yang sederhana dari ini hanya membutuhkan Boolean isPendingField. Bagaimanapun, jalan
terbaik yaitu menyimpan session ID sebagai pending field, itu akan memudahkan
untuk mencari semua data untuk session tertentu.
Menyimpan data session pada database |
Kapan ketika itu
digunakan
Database Session State merupakan salah satu alternative yang
digunakan untuk menghandle session state;
Aspek pertama yang perlu dipertimbangkan dengan pattern ini
yaitu performance. Kita akan mengambil menggunakan object stateless pada
server, jadi memungkinkan pooling dan memudahkan clustering. Bagaimanapun ,
resikonya yaitu waktu yang dibutuhkan untuk menarik data masuk dan keluar data
dari database dengan setiap permintaan. Kita dapat mengurangi resiko ini dengan
membuat cache object server sehingga kita tidak akan melihat data tersebut di
database ketika cache terdeteksi, tapi kita tetap membayar resiko ketika
menuliskannya.
Database Session State
Reviewed by Abd Rizal
on
8:38 PM
Rating:
No comments: