ប្រធានបទ (Topic)៖ ឯកសារនេះដោះស្រាយពីបញ្ហាប្រឈមក្នុងដំណើរការនៃប្រព័ន្ធផ្ទុកទិន្នន័យ RAID ជាពិសេសការធ្លាក់ចុះល្បឿនពេលសរសេរទិន្នន័យតូចៗ (Small-write penalty) ក្នុង RAID 5 និងការថយចុះដំណើរការយ៉ាងខ្លាំងនៅពេលមានថាសរឹងខូច។ វាក៏ឆ្លើយតបទៅនឹងគម្លាតដែលចេះតែកើនឡើងរវាងទំហំផ្ទុក និងល្បឿននៃការចូលប្រើប្រាស់ទិន្នន័យនៃថាសរឹងផងដែរ។
រចនាសម្ព័ន្ធ (Structure)៖ បទបង្ហាញនេះធ្វើការវាយតម្លៃលើបច្ចេកវិទ្យាថាសរឹង កម្រិត RAID ផ្សេងៗ និងស្នើឡើងនូវស្ថាបត្យកម្មថ្មីៗដើម្បីបង្កើនប្រសិទ្ធភាពនៃប្រព័ន្ធផ្ទុកទិន្នន័យ។
ចំណុចសំខាន់ៗ (Key Takeaways)៖
បន្ទាប់ពីអានឯកសារនេះ អ្នកគួរអាច៖
ឯកសារនេះបង្ហាញពីការវិវឌ្ឍនៃស្ថាបត្យកម្មប្រព័ន្ធផ្ទុកទិន្នន័យ ជាពិសេសផ្តោតលើបច្ចេកវិទ្យា RAID (Redundant Array of Independent Disks) និងដំណោះស្រាយចំពោះបញ្ហាគម្លាតនៃការអនុវត្តរវាងស៊ីភីយូ (CPU) និងថាសរឹង។ វាគ្របដណ្តប់លើមូលដ្ឋានគ្រឹះនៃ RAID ការវាយតម្លៃលើភាពគួរឱ្យទុកចិត្ត (Reliability) និងយុទ្ធសាស្រ្តក្នុងការដោះស្រាយបញ្ហាយឺតយ៉ាវពេលសរសេរទិន្នន័យតូចៗ ដើម្បីធានាបាននូវការផ្ទុកទិន្នន័យប្រកបដោយសុវត្ថិភាពនិងល្បឿនលឿន។
| គោលគំនិត (Concept) | ការពន្យល់ (Explanation) | ឧទាហរណ៍ (Example) |
|---|---|---|
| Data Striping ការបំបែកទិន្នន័យ (Data Striping) |
ជាបច្ចេកទេសបែងចែកទិន្នន័យជាចំណែកតូចៗ ហើយរក្សាទុកវានៅលើថាសរឹង (Disks) ជាច្រើនក្នុងពេលតែមួយ ដើម្បីបង្កើនល្បឿនក្នុងការអាននិងសរសេរ ព្រមទាំងជួយសម្រួលបន្ទុកការងារឱ្យមានតុល្យភាព។ ប្រតិបត្តិការអានឬសរសេរឯកសារតែមួយ អាចប្រព្រឹត្តទៅស្របគ្នានៅលើថាសរឹងច្រើនក្នុងពេលតែមួយ។ | ការផ្ទុកឯកសារវីដេអូធំមួយ ដោយបំបែកវាទៅដាក់លើថាសរឹងចំនួន៤ផ្សេងគ្នា ធ្វើឱ្យការទាញយកវីដេអូនោះមកបង្ហាញវិញមានល្បឿនលឿនជាងមុន៤ដង ដោយសារថាសរឹងទាំង៤ធ្វើការអានទិន្នន័យព្រមៗគ្នា។ |
| Parity and RAID 5 បច្ចេកទេស Parity ក្នុង RAID 5 |
Parity គឺជាកូដបន្ថែមដែលគណនាចេញពីទិន្នន័យដើម ដែលជួយការពារការបាត់បង់ទិន្នន័យនៅពេលមានថាសរឹងណាមួយខូច។ ក្នុង RAID 5, ទិន្នន័យ Parity ត្រូវបានចែកចាយពាសពេញគ្រប់ថាសរឹងទាំងអស់ ដែលជួយសន្សំសំចៃទំហំផ្ទុកជាងការចម្លងទុកទាំងស្រុង (Mirroring ឬ RAID 1) តែនៅតែផ្តល់នូវសុវត្ថិភាពទិន្នន័យ។ | ប្រសិនបើថាសរឹងទី១ខូច ប្រព័ន្ធអាចប្រើប្រាស់ទិន្នន័យដែលនៅសល់លើថាសរឹងផ្សេងទៀត និងទិន្នន័យ Parity (គណនាតាមរយៈប្រតិបត្តិការកុំព្យូទ័រ XOR) ដើម្បីទាញយកទិន្នន័យដែលបាត់បង់មកវិញបានដោយស្វ័យប្រវត្តិ ដោយមិនធ្វើឱ្យបាត់បង់ឯកសារឡើយ។ |
| The Small-Write Problem បញ្ហានៃការសរសេរទិន្នន័យតូចៗ (Small-Write Problem) |
នៅក្នុងប្រព័ន្ធ RAID 5 ការសរសេរទិន្នន័យតូចៗថ្មីមួយចូលទៅក្នុងប្រព័ន្ធ ទាមទារឱ្យមានដំណើរការច្រើនដំណាក់កាល គឺត្រូវអានទិន្នន័យចាស់ អាន Parity ចាស់ សរសេរទិន្នន័យថ្មី និងសរសេរ Parity ថ្មី ដែលការងារទាំងអស់នេះប្រើប្រាស់ Disk Access ដល់ទៅ៤ដង ធ្វើឱ្យប្រព័ន្ធដើរយឺតយ៉ាងខ្លាំង។ | នៅក្នុងប្រព័ន្ធគ្រប់គ្រងទិន្នន័យ (Database) របស់ធនាគារ រាល់ការកត់ត្រាប្រតិបត្តិការផ្ទេរប្រាក់តូចៗតែមួយដង ធ្វើឱ្យប្រព័ន្ធ RAID 5 ត្រូវធ្វើការអាននិងសរសេរកែប្រែ Parity ជាន់គ្នាច្រើនដង នាំឱ្យមានភាពយឺតយ៉ាវ (Bottleneck)។ |
| Parity Logging ការកត់ត្រា Parity (Parity Logging) |
ជាបច្ចេកទេសមួយដើម្បីដោះស្រាយបញ្ហា Small-Write ខាងលើ ដោយវាធ្វើការប្រមូលផ្តុំរាល់បម្រែបម្រួលនៃ Parity ទុកសិន មុននឹងធ្វើការកត់ត្រាបញ្ចូលគ្នា (Reintegration) ទៅក្នុងទម្រង់ Parity ពេញលេញម្តងតែម្ដង ដើម្បីកាត់បន្ថយការអាននិងសរសេរឡើងវិញជាន់គ្នាច្រើនដងលើថាសរឹង។ | ជំនួសឱ្យការកែប្រែ Parity រាល់ពេលមានការផ្លាស់ប្តូរទិន្នន័យបន្តិចបន្តួចប្រព័ន្ធរង់ចាំរហូតដល់មានប្រតិបត្តិការផ្លាស់ប្តូរច្រើន ទើបបញ្ជូនទិន្នន័យដែលបានផ្លាស់ប្តូរទាំងនោះចូលទៅកែប្រែក្នុងថាសរឹងក្នុងពេលតែមួយ ដែលជួយឱ្យល្បឿនកើនឡើងជាង ៨ដង។ |
| Writeback Caching ការចងចាំបណ្តោះអាសន្នពេលសរសេរ (Writeback Caching) |
ការប្រើប្រាស់បច្ចេកទេសនេះ គឺប្រព័ន្ធរក្សាទុកទិន្នន័យបណ្តោះអាសន្ននៅក្នុងអង្គចងចាំដែលមានល្បឿនលឿន (NVRAM) ជាមុនសិន រួចឆ្លើយតបទៅកម្មវិធីភ្លាមៗថាការសរសេរបានជោគជ័យ (Zero Latency Writes) មុននឹងប្រព័ន្ធចាត់ចែងបញ្ជូនទិន្នន័យនោះទៅរក្សាទុកក្នុងថាសរឹងជាក់ស្តែងនៅពេលវាទំនេរ។ | ពេលអ្នកប្រើប្រាស់ចុច Save ឯកសារទៅក្នុងប្រព័ន្ធផ្ទុកទិន្នន័យ ប្រព័ន្ធនឹងប្រាប់ថា Save រួចរាល់ភ្លាមៗក្នុងរយៈពេលប៉ុន្មានមិល្លីវិនាទី ទោះបីជាទិន្នន័យពិតប្រាកដមិនទាន់ត្រូវបានសរសេរចូលទៅក្នុងថាសរឹងពេញលេញក៏ដោយ ធ្វើឱ្យអ្នកប្រើប្រាស់មានអារម្មណ៍ថាប្រព័ន្ធដើរលឿនបំផុត។ |
ការយល់ដឹងពីស្ថាបត្យកម្មនៃការផ្ទុកទិន្នន័យកម្រិតខ្ពស់ (RAID Storage Architecture) មានសារៈសំខាន់ណាស់សម្រាប់ប្រទេសកម្ពុជា ស្របពេលដែលស្ថាប័នរដ្ឋនិងឯកជនកំពុងផ្លាស់ប្តូរយ៉ាងលឿនទៅកាន់ប្រព័ន្ធឌីជីថល (Digitalization) ដែលទាមទារការរក្សាទុកទិន្នន័យធំៗប្រកបដោយល្បឿន និងសុវត្ថិភាពខ្ពស់។
ចំណេះដឹងពីស្ថាបត្យកម្ម RAID ផ្ដល់ជាមូលដ្ឋានគ្រឹះដ៏រឹងមាំសម្រាប់និស្សិតកម្ពុជាជំនាញព័ត៌មានវិទ្យា ក្នុងការក្លាយខ្លួនជាអ្នកគ្រប់គ្រងប្រព័ន្ធ (System Administrators) និងវិស្វករទិន្នន័យមជ្ឈមណ្ឌល (Data Center Engineers) ដែលមានសមត្ថភាពអាចរៀបចំប្រព័ន្ធម៉ាស៊ីនមេកម្រិតស្តង់ដារអន្តរជាតិបាន។
លំហាត់ និងសកម្មភាពសិក្សាដើម្បីពង្រឹងការយល់ដឹង៖
| ពាក្យបច្ចេកទេស (English) | ការពន្យល់ជាខេមរភាសា (Khmer Explanation) | និយមន័យសាមញ្ញ (Simple Definition) |
|---|---|---|
| Data Striping | ជាបច្ចេកទេសក្នុងការបែងចែកទិន្នន័យជាចំណែកតូចៗ (Stripe Units) ហើយរក្សាទុកវានៅលើថាសរឹង (Disks) ជាច្រើនក្នុងពេលតែមួយ ដើម្បីអនុញ្ញាតឱ្យមានការអាននិងសរសេរទិន្នន័យព្រមៗគ្នា ដែលជួយបង្កើនល្បឿនរួមរបស់ប្រព័ន្ធផ្ទុកទិន្នន័យ។ | ដូចជាការបែងចែកកិច្ចការផ្ទះដែលមានច្រើនទំព័រឱ្យមិត្តភក្តិ៣នាក់ជួយសរសេរក្នុងពេលតែមួយ ដើម្បីឱ្យការងារនោះឆាប់រួចរាល់ជាជាងការសរសេរតែម្នាក់ឯង។ |
| Parity | គឺជាកូដបន្ថែមដែលបង្កើតឡើងតាមរយៈប្រតិបត្តិការគណិតវិទ្យា Logic XOR លើទិន្នន័យដើម។ វាត្រូវបានប្រើប្រាស់នៅក្នុងប្រព័ន្ធ RAID (ដូចជា RAID 5 និង RAID 6) សម្រាប់សង្គ្រោះទិន្នន័យដែលបាត់បង់មកវិញដោយស្វ័យប្រវត្តិ នៅពេលដែលមានថាសរឹងណាមួយរងការខូចខាត។ | ដូចជាការរក្សាទុកសមីការ A + B = C ប្រសិនបើអ្នកបាត់ឯកសារ A អ្នកនៅតែអាចរកវាឃើញវិញដោយយក C ដក B។ |
| Mirroring (RAID 1) | ជាយន្តការថតចម្លងទិន្នន័យដូចគ្នាបេះបិទទៅកាន់ថាសរឹងមួយផ្សេងទៀតក្នុងពេលដំណាលគ្នា។ វាផ្តល់នូវសុវត្ថិភាពទិន្នន័យខ្ពស់បំផុត ប៉ុន្តែវាត្រូវចំណាយទំហំផ្ទុកទិន្នន័យទ្វេដង ពោលគឺ ៥០% នៃទំហំសរុបត្រូវបានបាត់បង់សម្រាប់ការចម្លង។ | ដូចជាការថតចម្លងឯកសារអត្តសញ្ញាណប័ណ្ណទុកមួយច្បាប់ទៀតនៅកន្លែងផ្សេង ដើម្បីការពារក្រែងលោច្បាប់ដើមបាត់បង់ឬរហែក។ |
| Small-Write Problem | ជាបញ្ហាប្រឈមធំមួយនៅក្នុងប្រព័ន្ធ RAID 5 នៅពេលមានការសរសេរទិន្នន័យទំហំតូច។ ដំណើរការនេះតម្រូវឱ្យប្រព័ន្ធធ្វើការអានទិន្នន័យចាស់ អាន Parity ចាស់ សរសេរទិន្នន័យថ្មី និងសរសេរ Parity ថ្មី ដែលការងារនេះប្រើប្រាស់ប្រតិបត្តិការថាសរឹងដល់ទៅ៤ដង ធ្វើឱ្យប្រព័ន្ធដើរយឺតយ៉ាងខ្លាំង។ | ដូចជាការកែអក្ខរាវិរុទ្ធតែមួយពាក្យក្នុងសៀវភៅ តែតម្រូវឱ្យអ្នកអានមួយទំព័រពេញ លុបចោលទាំងស្រុង ហើយសរសេរទំព័រនោះឡើងវិញ។ |
| Writeback Caching | ជាបច្ចេកទេសផ្ទុកទិន្នន័យបណ្តោះអាសន្នទៅក្នុងអង្គចងចាំ (ដូចជា RAM ឬ NVRAM) ដែលមានល្បឿនលឿន ដើម្បីឆ្លើយតបទៅកម្មវិធីវិញថាការសរសេរបានជោគជ័យភ្លាមៗ (Zero Latency Writes) មុនពេលប្រព័ន្ធរៀបចំបញ្ជូនទិន្នន័យទាំងនោះទៅរក្សាទុកក្នុងថាសរឹងពិតប្រាកដនៅពេលក្រោយ។ | ដូចជាអ្នករត់តុការកត់ត្រាការកម្ម៉ង់ម្ហូបរបស់អតិថិជនចូលក្នុងសៀវភៅព្រាងសិន ដើម្បីកុំឱ្យអតិថិជនចាំយូរ រួចទើបយកទៅវាយបញ្ចូលក្នុងប្រព័ន្ធកុំព្យូទ័រពេលរៀងទំនេរ។ |
| Parity Logging | ជាវិធីសាស្ត្រមួយសម្រាប់ដោះស្រាយបញ្ហា Small-Write ដោយវាធ្វើការប្រមូលផ្តុំរាល់ការផ្លាស់ប្តូរនៃទិន្នន័យ Parity ទុកសិន រួចទើបធ្វើការសរសេរ (Update) ចូលទៅក្នុងថាសរឹងក្នុងពេលតែមួយជាទម្រង់ដុំធំ (Cylinder rates) ដែលជួយកាត់បន្ថយបន្ទុកនៃការអាននិងសរសេរចុះឡើងៗ។ | ដូចជាការសន្សំសំរាមទុកក្នុងធុងតូចក្នុងផ្ទះសិន រហូតដល់ពេញទើបយកទៅចោលក្នុងធុងធំនៅក្រៅផ្ទះម្តង ដើម្បីកុំឱ្យខាតពេលដើរចេញទៅក្រៅញឹកញាប់ពេក។ |
| Parity Declustering | គឺជាការរៀបចំរចនាសម្ព័ន្ធបំបែក Parity និងទិន្នន័យទៅលើថាសរឹងចំនួនច្រើនជាងចំនួនដែលត្រូវការក្នុងមួយក្រុមធម្មតា។ វិធីនេះជួយកាត់បន្ថយបន្ទុកការងារ និងបង្កើនល្បឿនយ៉ាងខ្លាំងនៅពេលប្រព័ន្ធកំពុងស្ថិតក្នុងទម្រង់សង្គ្រោះទិន្នន័យ (Degraded mode) ពីថាសរឹងដែលខូច។ | ដូចជាការបែងចែកការងាររបស់បុគ្គលិកម្នាក់ដែលឈប់សម្រាក ទៅឱ្យបុគ្គលិក១០នាក់ផ្សេងទៀតជួយធ្វើម្នាក់បន្តិច ជាជាងទម្លាក់ការងារនោះទៅឱ្យមនុស្សតែ៣នាក់ដែលធ្វើឱ្យពួកគេរវល់ខ្លាំងពេក។ |
| Prefetching | ជាយន្តការទាញយកទិន្នន័យពីថាសរឹងមករក្សាទុកក្នុងអង្គចងចាំ (Cache) ជាមុន មុនពេលដែលកម្មវិធី (Application) ទាមទារប្រើប្រាស់វាជាក់ស្តែង។ វាជួយកាត់បន្ថយពេលវេលារង់ចាំ (I/O Stall Time) និងធ្វើឱ្យដំណើរការកម្មវិធីលឿនជាងមុន។ | ដូចជាចុងភៅដែលរៀបចំគ្រឿងផ្សំនិងហាន់បន្លែទុកជាមុន មុនពេលអតិថិជនកម្ម៉ង់ម្ហូប ដើម្បីឱ្យការចម្អិនមានភាពរហ័សនិងទាន់ចិត្ត។ |
អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖
ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖