আপনার উইন্ডোজ পিসি বলवान (beef up) করতে চান? আপনি দুটি টেকনোলজি দিয়ে সফ্টওয়্যার পারফরম্যান্স ও স্টোরেজ রিলায়েবিলিটি (storage reliability) বাড়াতে পারেন: রিডানডেন্ট অ্যারের অফ ইন্ডিপেন্ডেন্ট ড্রাইভস (RAID) এবং মাইক্রোসফ্টের রেজিলিয়েন্ট ফাইল সিস্টেম (ReFS)। একমাত্র শর্ত হলো, কমপক্ষে দুটি স্পেয়ার ড্রাইভ থাকতে হবে।
আপনি কি চিন্তা করছেন ReFS পুরনো NTFS-এর সমকক্ষ পারফর্ম করে কিনা? এই আর্টিকেলে মাইক্রোসফ্টের নতুন ফাইল সিস্টেমের পারফরম্যান্স RAID1, RAID0, এবং সিঙ্গেল ডিস্ক পারফরম্যান্সের সাথে তুলনা করা হয়েছে। এবং আমরা RAID1-ReFS-এর সম্ভাব্য ব্যবহারগুলো আলোচনা করব।
RAID-এ শুরুর পদ্ধতি (Getting Started With RAID)
Windows Storage Spaces ব্যবহার করে RAID ভলিউম (RAID volume) তৈরি করা এখন খুব সহজ। ব্যবহারকারী শুধু Storage Spaces Search bar-এ টাইপ করুন এবং প্রোগ্রাম চালু করুন।
Storage Spaces চালু করার পর, আপনাকে Change settings বাটনে ক্লিক করতে হবে।
তারপর আপনি স্টোরেজ পুল (storage pool) তৈরি করবেন। Create a storage সিলেক্ট করুন। তারপর অ্যারের জন্য দুটি স্পেয়ার ড্রাইভ বেছে নিন। মনে রাখবেন, ভলিউম থেকে ড্রাইভ যোগ বা বাদ দেওয়া ডিস্কের সকল ডেটা নষ্ট করবে (will destroy all data on the disk), তাই সাবধান থাকুন।
তब আপনি স্টোরেজ পুল তৈরির কনফিগারেবল অপশনগুলো দেখবেন। দুটি জিনিসে খুব খেয়াল রাখতে হবে: (১) Resiliency type এবং (২) File system। দুটি ড্রাইভ থাকলে রেজিলিয়েন্সি টাইপ (Resiliency type) সীমাবদ্ধ: Two-way mirror (RAID1) এবং Simple (RAID0)। পার্টিশন টাইপ (Partition type) شامل NTFS এবং ReFS। আপনি যদি Simple বেছে নেন, আপনার একমাত্র অপশন NTFS, কারণ ReFS দুটি বা তার অধিক ড্রাইভের জন্য ডিজাইন করা।
RAID ভলিউম তৈরি করে একটি ড্রাইভ লেটার (drive letter) অ্যাসাইন করার পর, পার্টিশন একটি হার্ড ডিস্কের মতো কাজ করে। ব্যবহারকারী একটি ড্রাইভ নেটওয়ার্কে শেয়ার করতে পারেন, ফাইলগুলো সরাতে পারেন, বা ভিডিও/ফটো এডিটিং সফ্টওয়্যার কনফিগার করে ক্যাশে ডেটা (cache data) লিখতে পারেন। শেষ ক্ষমতাতে, RAID অনেক কমার্শিয়াল অ্যাপ্লিকেশনের পারফরম্যান্স বাড়াতে পারে, যেমন Adobe Premiere এবং Photoshop। যেভাবে নির্দেশ করা হয়েছে, সফ্টওয়্যার RAID-এর ভিন্ন ধরন আছে, প্রতিটির সুবিধা ও অসুবিধা আছে।
উইন্ডোজ অপারেটিং সিস্টেম (OS)-এ, তিনটি প্রাইমারি টাইপের কনজিউমার RAID (consumer RAID) আছে: RAID1, RAID0, এবং RAID5 (অনেক অন্যান্য RAID ভেরিয়েশন আছে)। এর উপরে, RAID ফরম্যাট করার দুটি সাধারণ পদ্ধতি আছে: NTFS এবং রেজিলিয়েন্ট ফাইল সিস্টেম (ReFS)। ReFS উইন্ডোজ ৮.১-এ এসেছে এবং এখনো ডেভেলপ হচ্ছে, কিন্তু এটি রিলায়েবিলিটি ও পারফরম্যান্স দেয়।
উইন্ডোজ RAID টাইপস (Windows RAID Types)
- RAID0: RAID0 টেকনিক্যালি একটি মিসনোমার (misnomer)। এটি দুটি ড্রাইভ ব্যবহার করে, কিন্তু আয়োজন সম্পর্কে কিছুই রিডানডেন্ট (redundant) নয়। প্রতিটি ড্রাইভ অ্যাসেম্বলিতে ইনস্টল করা ডেটার অর্ধেক ধারণ করে। রিডানডেন্সি (redundancy) দেয়ার বদলে, RAID0 শুদ্ধ পারফরম্যান্স দেয়। RAID0 ReFS-এ ফরম্যাট করা যায় না, তাই এটি প্রায় NTFS-এ আটকে থাকে।
- RAID1: RAID1, বা মিররিং (mirroring), দুটি ড্রাইভ দরকার। এর ড্রব্যাক হলো এটি শুধু একটি ড্রাইভের স্টোরেজ ক্যাপাসিটি দেয়। ডেটা দুটি ড্রাইভে সমানভাবে কপি হয়, যা একটি ডিস্কে কিছু হলে রিডানডেন্সি দেয়। RAID1 ডিস্ক রিডস (disk reads) স্পিড আপ করে, যা দ্রুত প্রোগ্রাম লঞ্চ ও ক্যাশে থেকে দ্রুত রিডের দিকে 이রেট করতে পারে।
- RAID5: এই আর্টিকেলে RAID5 কভার করব না। এটি কমপক্ষে তিনটি ড্রাইভ দরকার, কিন্তু RAID1-এর চেয়ে বেশি উপলব্ধ স্টোরেজ ক্যাপাসিটি দেয়।
উইন্ডোজ ফাইল সিস্টেম টাইপস (Windows File System Types)
উইন্ডোজ ১০-এ দুটি গুরুত্বপূর্ণ ফাইল সিস্টেম (what's a file system?) আছে: রেজিলিয়েন্ট ফাইল সিস্টেম (ReFS) এবং পুরনো "নিউ" টেকনোলজি ফাইল সিস্টেম (NTFS)। NTFS উইন্ডোজের স্ট্যান্ডার্ড ফাইল সিস্টেম, কিন্তু আপনার কাছে দুটি বা তার বেশি (আইডেন্টিক্যাল বা খুব সাদৃশ্য) স্পেয়ার হার্ড ড্রাইভ থাকলে, ReFS ব্যবহার করার কথা ভাবুন। ReFS বিট-রট (bit-rot) কমায়, যা স্টোরেজ সিস্টেম ফরম্যাট করার জন্য আইডিয়াল। এবং এটি RAID1 পার্টিশন NTFS-এ ফরম্যাট করা স.devices এর সমান পারফরম্যান্স দেয়। ReFS সম্প্রতিক এবং সম্ভাব্য বাগের শিকার হলেও, আমার অভিজ্ঞতাতে এটি সুপারব (superb) रहा।
RAID বেঞ্চমার্ক (The RAID Benchmarks)
ড্রাইভ পারফরম্যান্স উইন্ডোজে অনেক ভিন্ন কম্পিউটিং টাস্ককে প্রভাবিত করতে পারে। বিশেষ করে, ইন্টারনেট ব্রাউজিং (browsing the Internet) প্রায়শই ব্রাউজার ক্যাশে (browser cache)-এ ডেটা পড়ে ও লেখে। যদি ক্যাশে একটি ধীর ডিস্কে থাকে, ব্রাউজার কম স্ন্যাপি (snappy) ফিল হবে একটি দ্রুত সলিড স্টেট ড্রাইভ (SSD)-এর চেয়ে, এইीलিয়ে আমরা হার্ড ড্রাইভ বেঞ্চмар্ক করি।
কোন ধরনের অ্যারে ও ফাইল সিস্টেম দ্রুত সেটি নির্ধারণ করতে, আমি একটি টেস্ট মেশিন বানালাম একটি SATA ডক (SATA dock) এবং দুটি পুরনো OCZ Onyx SSDs প্লাগ ইন করিয়ে। আমি চারটি RAID কনফিগারেশন বেঞ্চмар্ক করলাম: RAID1 (NTFS), RAID1 (ReFS), RAID0, এবং একটি সিঙ্গেল NTFS-ফরম্যাটেড ড্রাইভ। আমি সব সিন্থেটিক বেঞ্চмар্কের (synthetic benchmarks) জন্য AS-SSD ব্যবহার করলাম এবং CrystalDiskMark-এ কম্পেয়ার করলাম দ্বিতীয় যাচাইয়ের মিডিয়াম (secondary means of validation) হিসেবে। শেষে, 7-Zip এবং Handbrake (Handbrake-এর ৫টি ব্যবহার) দিয়ে কয়েকটি "রিয়েল-ওয়ার্ল্ড" (real-world) টেস্ট চালালাম। Android Studio দিয়ে কম্পাইলার টেস্ট সম্পূর্ণরূপে ব্যর্থ হয়েছিল।
র্যান্ডম রিডস অ্যান্ড র্যান্ডম রাইটস (৪কেबी) (Random Reads and Random Writes (4KB))
RAID অ্যারে শর্ট কিউ ডেপথ (short queue depths) খুব ভালো হ্যান্ডেল করে না (যা অধিকাংশ ব্যবহারকারীকে প্রয়োজন)। তাই, ব্রাউজিং বা অফিস প্রোডাক্টিভিটির জন্য RAID ব্যবহার না করার পরামর্শ দিচ্ছি। র্যান্ডম রিডস (random reads)-এ সিঙ্গেল ড্রাইভের ওপর প্রায় ৯% সুবিধা আছে অন্যান্য ডিস্ক কনফিগারেশনের চেয়ে।
রাইট-স্পিডে (write-speeds), RAID0 তার প্রতিযোগীদের চেয়ে প্রায় ৫০% দ্রুত। এটা লজিক্যাল, কারণ RAID1 এবং সিঙ্গেল ড্রাইভগুলো সব ড্রাইভে সমানভাবে ডেটা কপি করে, যেখানে RAID0 রাইটস (writes) দুটি ড্রাইভের মধ্যে ভাগ করে দেয়।
সিকোয়েনশিয়াল রিডস অ্যান্ড সিকোয়েনশিয়াল রাইটস (৪কেबी) (Sequential Reads and Sequential Writes (4KB))
সিকোয়েনশিয়াল রিড-স্পিডস (Sequential read-speeds) সাধারণত ডিস্ক কপিয়িং এক্টিভিটিগুলো (disk copying activities) নির্দেশ করে। আপনি যখন ফাইলগুলো সরান, बेटার পারফরম্যান্স দ্রুত ফাইল ট্রান্সফারের দিকে লিড (lead) করা উচিত। RAID1 সিকোয়েনশিয়াল ডিস্ক-রিডস (sequential disk-reads)-এ সিঙ্গেল ডিস্ক ও RAID0-এর চেয়ে ড্রামেটিক্যালি (dramatically) উন্নতি আনে। তত্ত্বে, RAID0-ও সিকোয়েনশিয়াল ডিস্ক-রিডস উন্নত করা উচিত, কিন্তু কোনো কারণে সিন্থেটিক বেঞ্চмар্ক (synthetic benchmark) এই অনুমানকে সমর্থন করেনি।
সিকোয়েনশিয়াল রিডস অ্যান্ড রাইটস (Sequential reads and writes) ফাইল কপিয়িং-এর প্রতীক। প্রত্যাশা অনুযায়ী, RAID1-ReFS সবচেয়ে খারাপ পারফর্ম করে কারণ এটি কপি করা ডেটার চেকসাম (checksums) করে। তবে, পারফরম্যান্স হিট (performance hit) খুব σημαντvoli নয়। বিপরীতভাবে, RAID0 প্রত্যাশার চেয়ে খুব নিচে পারফর্ম করে, যদিও এটি সিঙ্গেল ড্রাইভ এবং RAID1-NTFS-এর চেয়ে কিছুটা দ্রুত।
র্যান্ডম রিডস অ্যান্ড র্যান্ডম রাইটস (৪কেबी, ৬৪ কিউ ডেপথ) (Random Reads and Random Writes (4KB, 64 Queue Depth))
ডিপ কিউ ডেপথ (deep queue depth) ব্যবহার করে বেঞ্চмар্ক, র্যান্ডম রিডস ও রাইটস-এর সাথে কম্বাইন করা সার্ভার পারফরম্যান্স (server performance) এবং অন্যান্য কমার্শিয়াল অ্যাপ্লিকেশনের পূর্বাভাস দিতে পারে। তত্ত্বে, RAID0 (করে এবং করে) সবচেয়ে দ্রুত ডিস্ক পারফরম্যান্স অফার করে চারটি ডিস্ক আয়োজন মধ্যবর্তী। কিন্তু RAID1 রিড স্পিডে (read speed) খুব কাছাকাছি আসে এবং এটি ডেটা রিডানডেন্সি (data redundancy) দেয়। RAID1 যদি ReFS-এ ফরম্যাট করা হয়, তবে NTFS-এর চেয়ে খুব কম রিড স্পিড হারায়।
ডিপ কিউ-এ রাইট পারফরম্যান্সে (write performance), RAID0 প্রাধান্য পায়। এবং RAID1-NTFS ও RAID1-ReFS দুটোই এ্যারে মেইনটেইন করার সাথে জড়িত ওভারহেড (overhead)-এর কারণে নগণ্য পারফরম্যান্স পেনাল্টি (performance penalty) ভোগ করে।
রিয়েল-ওয়ার্ল্ড পারফরম্যান্স (Real World Performance)
রিয়েল-ওয়ার্ল্ড পারফরম্যান্স (real-world performance) দিক থেকে, ফলাফলগুলো বberapa কম আকর্ষণীয়। Handbrake এনকোডিং (Handbrake encoding) এবং 7-Zip (unzip)-এ উভয় ক্ষেত্রে RAID0-এর প্রায় ২-৩% পারফরম্যান্স অ্যাডভান্টেজ (performance advantage) ছিল। ৩০০ এমবি একটি বড় ফটো ফোল্ডার জিপ (zipping) করার সময়, সব অ্যারে সিঙ্গেল ড্রাইভের চেয়ে খারাপ পারফর্ম করল, সিঙ্গেল ড্রাইভ এবং RAID1-ReFS-এর মধ্যে ৭% পার্থক্য ছিল।
দুর্ভাগ্যক্রমে, আমাকে কিছু ডেটা বাদ দিতে হয়েছে। উদাহরণস্বরূপ, সোর্স কোড থেকে কম্পাইলিং (compiling from source code) RAID1-ReFS-এর পক্ষে ট্রেমেন্ডাস পারফরম্যান্স অ্যাডভান্টেজ (tremendous performance advantage) দেখাল। পার্থক্য এত বড় যে আমি অপেক্ষাকৃত নিশ্চিত যে আমার মেথডোলজি (methodology) গভীরভাবে ত্রুটিপূর্ণ। RAID1 প্রায় দুগুণ দ্রুত পারফর্ম করল সিঙ্গেল ড্রাইভের চেয়ে এবং RAID0 প্রায় ২০% পারফরম্যান্স ইনক্রিজ (performance increase) দিল সিঙ্গেল ড্রাইভের ওপর। আমি চার্ট ইনক্লুড করছি না কারণ আমাকে টেস্টগুলো রি-রান (rerun) করতে হবে কনফার্ম (confirm) করার জন্য। হয়তো আমার বিল্ড এনভায়রনমেন্ট (build environment) বা টেস্ট মেথডোলজিতে কিছু সমস্যা আছে।
উইন্ডোজে RAID-এর সম্ভাব্য অ্যাপ্লিকেশনগুলো (Possible Applications for RAID in Windows)
বেঞ্চমার্কের ভিত্তিতে, RAID-এর উপযোগী অ্যাপ্লিকেশনগুলো নিচে:
- ফটো ও ভিডিও এডিটিং-এর জন্য ক্যাশ/স্ক্র্যাচ ড্রাইভ (Cache/scratch drive)।
- ডেটা রিডানডেন্সি ও বিট-রট প্রোটেকশন (bit-rot protection) সহ নেটওয়ার্ক স্টোরেজ ড্রাইভ তৈরি।
- সফ্টওয়্যার স্টোরেজ ড্রাইভ (Software storage drive)।
Cache/scratch drive: ইন্টেলের র্যাপিড স্টোরেজ টেকনোলজি (RST) ড্রাইভার ব্যবহারকারীদের অন্য একটি ড্রাইভকে ক্যাশে ড্রাইভ হিসেবে ডেজিগনেট (designate) করতে দেয়। এই ক্যাপাসিটিতে, ড্রাইভে অনেক রিড ও রাইট হয়। কাগজের ওপর (on paper), RAID0 অ্যারে সবচেয়ে বড় সুবিধা দেয়। যদিও রিয়েল-ওয়ার্ল্ড বেঞ্চমার্ক ইঙ্গিত দেয় একটি সিঙ্গেল SSD (single SSD) সম্ভবত পারফরম্যান্সে সবচেয়ে বড় গেইন (gains) দেবে।
Network Storage Drive: ReFS-এর স্পষ্ট ব্যবহার হলো স্টোরেজ ড্রাইভ হিসেবে। এর ডেটা ইন্টিগ্রিটি প্রোপার্টিজ (data integrity properties) এবং বড় রিড-স্পিড বাফ (read-speed buffs) এটিকে ফাস্ট নেটওয়ার্ক (why you need 5GHz) ওভার মিডিয়া স্ট্রিমিং (streaming media)-এর জন্য চমৎকার করে তোলে।
Software Storage Drive: এই আয়োজনে, ব্যবহারকারী সফ্টওয়্যার راিড1 পার্টিশনে ইনস্টল করে। এর রিড-স্পিড অ্যাডভান্টেজ, ডেটা রিডানডেন্সি, এবং বিট-রট প্রোটেকশনের কারণে, ReFS-এ ফরম্যাট করা RAID1, NTFS-এ ফরম্যাট করা RAID1-এর চেয়ে একটি বড় আপগ্রেড। যদিও এটি RAID1-NTFS-এর সাপেক্ষে মাইনর পারফরম্যান্স হিট (minor performance hit) নেয়, ডেটা ইন্টিগ্রিটিতে গেইন (gains in data integrity) এর ত্রুটির চেয়ে অনেক বেশি। এবং একটি প্রোডাকশন এনভায়রনমেন্টে (production environment), ডেটা-ইন্টিগ্রিটি বাফ (data-integrity buff) ارزشী হতে পারে।
RAID1-ReFS আসলে খুব ভালো (RAID1-ReFS Is Really Good)
ReFS-এ ফরম্যাট করা একটি RAID অ্যারে NTFS-এর চেয়ে খুব ছোট একটি পারফরম্যান্স হিট (performance hit) নেয়—যা স্পষ্টতই ট্রেডঅফের (tradeoff) উপযোগী। আমার কাছে অন্যান্য RAID কনফিগারেশন (যেমন RAID5) টেস্ট করার জন্য পর্যাপ্ত ডিস্ক নেই, কিন্তু RAID1-এর ফলাফলগুলো উতসাহজনক। আমি অনুমান করি ReFS অন্যান্য অ্যারে ধরনেও কমপক্ষে ততটাই ভালো পারফর্ম করবে।
আমার মতামত: যদিও প্রোডাকশন এনভায়রনমেন্টের জন্য রেডি (ready) হিসেবে বিজ্ঞাপিত নয়, আমার অভিজ্ঞতাতে ReFS সবচেয়ে অপ্টিমালি (optimally) ব্যবহার করা যায় স্টোরেজ সিস্টেমে এবং সফ্টওয়্যার স্টোরেজ ড্রাইভ হিসেবে। এটি একটি মিডিওকার ক্যাশে ড্রাইভ (halfway decent cache drive) ও হতে পারে।
আপনি কি ReFS ব্যবহার করে দেখেছেন? আপনার ফলাফল কী ছিল?