6.4 ডেটা সিকিউরিটি (Data Security)

ডেটাবেজের নিরাপত্তা খুবই গুরুত্বপূর্ণ বিষয়। কারণ ডেটাবেজে ব্যক্তিগত কিংবা গোপনীয় তথ্য থাকতে পারে, ব্যবসায়িক তথ্য থাকতে পারে কিংবা সরকারি গুরুত্বপূর্ণ তথ্যও থাকতে পারে। ডেটাবেজের নিরাপত্তার বিষয়টি একাধিক দৃষ্টিকোণ থেকে দেখা হয়।

প্রথমত, ডেটার নিরপত্তা দিতে হবে যেন ডেটা হারিয়ে না যায়, বা ডেটা লস (data loss) না ঘটে। এ জন্য নিয়মিত ডেটার ব্যাকআপ নিতে হয়, অর্থাৎ ডেটার কপি তৈরি করা হয়। ডেটার কপি তৈরি করে একই হার্ড ডিস্কে রাখলে কোনো কারণে আসল ডেটাতে কোনো সমস্যা হলে (যাকে ডেটা করাপশন- data corruption বলা হয়) ব্যাকআপ থেকে সেই ডেটা পুনরুদ্ধার করা যায়। কিন্তু সম্পূর্ণ হার্ড ডিস্ক ক্রাশ করতে পারে বা নষ্ট হয়ে যেতে পারে সেই সম্ভাবনার কথা বিবেচনা করে পৃথক হার্ড ডিস্কে ডেটা ব্যাকআপ রাখা হয়। আবার ডেটার গুরুত্ব বিবেচনা করে, আলাদা ডেটা সেন্টারেও ডেটার ব্যাকআপ রাখা হয়, যেন কোনোরকম দুর্যোগ, যেমন- অগ্নিকান্ড, ভূমিকম্প ইত্যাদি ঘটলেও ডেটা পুনরুদ্ধার করা যায়। তাই ডেটা সেন্টারগুলো আলাদা শহরে হয়।

আবার অনাকাঙ্ক্ষিত ব্যক্তি বা সিস্টেম যেন ডেটা দেখতে কিংবা ডেটা পরিবর্তন করতে না পারে, ডেটাবেজে সেই ব্যবস্থাও থাকে। এটিও ডেটার নিরাপত্তার গুরুত্বপূর্ণ দিক। যেমন- পাসওয়ার্ড ছাড়া কেউ ডেটাবেজ সিস্টেমে ঢুকতে পারবে না। আবার কোনো কোনো ব্যবহারকারী কেবল ডেটাবেজের নির্দিষ্ট কিছু টেবিল নিয়ে কাজ করতে পারবে। আবার কোনো কোনো ব্যবহারকারী কেবল ডেটা দেখতে পারবে (SELECT), কিন্তু পরিবর্তন (INSERT, UPDATE, DELETE) করতে পারবে না। এজন্য বিভিন্ন রকমের পারমিশন (permission) ঠিক করে দেওয়া যায়। এসকিউলাইট ডেটাবেজে এই বৈশিষ্ট্য না থাকলেও ওরাকল, পোস্টগ্রেস, মাইসিক্যুয়েল, এসকিউএল সার্ভার ইত্যাদি ডেটাবেজে এ ধরনের নিরাপত্তার ব্যবস্থা রয়েছে।