មូលដ្ឋានទិន្នន័យទំនាក់ទំនងត្រូវបានរចនាឡើងជាមួយភាពជឿជាក់និងភាពស្ថិតស្ថេរនៅស្នូលរបស់ពួកគេ។ វិស្វករដែលបានបង្កើតវាផ្តោតលើគំរូប្រតិបតិ្តការដែលធានាថាគោលការណ៍ទាំងបួននៃ គំរូ ACID នឹងត្រូវបានរក្សាទុកជានិច្ច។ ទោះជាយ៉ាងណាក៏ដោយការមកដល់នៃគំរូទិន្នន័យថ្មីមួយដែលគ្មានរចនាសម្ព័ន្ធត្រូវបានផ្លាស់ប្តូរ ACID នៅលើក្បាលរបស់ខ្លួន។ ម៉ូដែលមូលដ្ឋានទិន្នន័យ NoSQL បាន ជៀសផុតពីគំរូទំនាក់ទំនងដែលមានរចនាសម្ព័ន្ធខ្ពស់ក្នុងការគាំទ្រវិធីសាស្រ្តឃ្លាំង / វិធីតម្លៃដែលអាចបត់បែនបាន។ វិធីសាស្រ្តដែលមិនមានរចនាសម្ព័ន្ធចំពោះទិន្នន័យនេះតម្រូវឱ្យមានជម្រើសជំនួសម៉ូដែល ACID: គំរូ BASE ។
មូលដ្ឋានគ្រឹះនៃគំរូអេដស៏
មានគោលការណ៏ជាមូលដ្ឋានចំនួនបួននៃគំរូ ACID:
អាតូម នៃកិច្ចការទាំងឡាយធានាថាប្រតិបត្តិការមូលដ្ឋានទិន្នន័យនីមួយៗគឺជាឯកតាតែមួយដែលប្រកាន់យកវិធីសាស្ត្រ "ទាំងអស់ឬគ្មានអ្វី" ដើម្បីប្រតិបត្តិ។ ប្រសិនបើសេចក្តីថ្លែងការណ៍ណាមួយនៅក្នុងប្រតិបត្តិការបរាជ័យ, ប្រតិបត្តិការទាំងមូលត្រូវបានវិលត្រឡប់មកវិញ។
មូលដ្ឋានទិន្នន័យដែលទាក់ទងនឹងការធានានូវ ភាពស៊ីសង្វាក់គ្នា នៃកិច្ចសម្រួលដំណើរការនិមួយៗជាមួយនឹងច្បាប់គ្រប់គ្រងមូលដ្ឋានទិន្នន័យ។ ប្រសិនបើធាតុណាមួយនៃប្រតិបត្តិការអាតូមណាមួយរំខានដល់ភាពស៊ីសង្វាក់នៃមូលដ្ឋានទិន្នន័យនោះប្រតិបត្តិការទាំងមូលបរាជ័យ។
ម៉ាស៊ីនមូលដ្ឋានទិន្នន័យបង្ខំ ភាពឯកោ រវាងប្រតិបត្តិការច្រើនដែលកើតឡើងនៅពេលឬជិតពេលវេលាដូចគ្នា។ ប្រតិបត្តិការនីមួយៗកើតឡើងមុនឬក្រោយរាល់ប្រតិបត្តិការផ្សេងៗហើយទិដ្ឋភាពនៃមូលដ្ឋានទិន្នន័យដែលប្រតិបត្តិការមើលឃើញនៅដើមដំបូងរបស់វាត្រូវបានផ្លាស់ប្តូរដោយកិច្ចព្រមព្រៀងមុននឹងបញ្ចប់។ មិនចាំបាច់មានកិច្ចការជំនួញណាដែលអាចមើលឃើញផលិតផលឈានមុខនៃប្រតិបត្តិការផ្សេងទៀតឡើយ។
គោលការណ៍ ACID ចុងក្រោយធានា យូរអង្វែង ធានាថានៅពេលដែលប្រតិបត្ដិការមួយត្រូវបានប្តេជ្ញាចិត្តទៅនឹងមូលដ្ឋានទិន្នន័យវាត្រូវបានអភិរក្សជាអចិន្ត្រៃយ៍តាមរយៈការប្រើប្រាស់នៃព័ត៌មានបម្រុងទុកនិងកំណត់ហេតុប្រតិបត្តិការ។ ក្នុងករណីមានការបរាជ័យយន្តការទាំងនេះអាចត្រូវបានប្រើដើម្បីស្តារប្រតិបត្តិការដែលមានការប្តេជ្ញាចិត្តឡើងវិញ។
គោលការណ៍ស្នូលនៃមូលដ្ឋាន
មូលដ្ឋានទិន្នន័យ NoSQL ម្យ៉ាងវិញទៀតប្រកាន់យកនូវស្ថានភាពដែលគំរូអេដស៏មានភាពប្រថុយប្រថានឬជាការពិតអាចរាំងស្ទះប្រតិបត្តិការរបស់មូលដ្ឋានទិន្នន័យ។ ផ្ទុយទៅវិញ NoSQL ពឹងផ្អែកលើគំរូសភាពទន់ដែលត្រូវបានគេស្គាល់យ៉ាងត្រឹមត្រូវថាជាគំរូ BASE ។ ម៉ូដែលនេះទទួលយកភាពបត់បែនដែលផ្ដល់ដោយ NoSQL និងវិធីសាស្រ្តស្រដៀងគ្នាទៅនឹងការគ្រប់គ្រងនិងការរៀបចំទិន្នន័យគ្មានរចនាសម្ព័ន្ធ។ BASE មាន 3 គោលការណ៍:
ភាពអាចរកបានមូលដ្ឋាន ។ វិធីសាស្រ្តមូលដ្ឋានទិន្នន័យ NoSQL ផ្តោតលើភាពអាចរកបាននៃទិន្នន័យសូម្បីតែនៅក្នុងវត្តមាននៃការបរាជ័យច្រើនក៏ដោយ។ វាសំរេចបានដោយប្រើវិធីសាស្រ្តចែកចាយយ៉ាងខ្ពស់ទៅការគ្រប់គ្រងមូលដ្ឋានទិន្នន័យ។ ជំនួសឱ្យការរក្សាទុកហាងទិន្នន័យធំតែមួយគត់និងផ្តោតលើការអត់ធ្មត់កំហុសនៃហាងនោះមូលដ្ឋានទិន្នន័យ NoSQL បានផ្សព្វផ្សាយទិន្នន័យនៅទូទាំងប្រព័ន្ធផ្ទុកជាច្រើនដែលមានកម្រិតខ្ពស់នៃការថតចម្លង។ ក្នុងករណីដែលការបរាជ័យអាចបង្អាក់ការចូលទៅកាន់ផ្នែកទិន្នន័យវាមិនចាំបាច់នាំឱ្យមានការបំផ្លាញមូលដ្ឋានទិន្នន័យពេញលេញទេ។
ទន់ ។ មូលដ្ឋានទិន្នន័យ BASE បោះបង់ចោលនូវតម្រូវការនៃការតំរូវនៃគំរូ ACID យ៉ាងច្រើន។ គំនិតមូលដ្ឋានមួយនៅពីក្រោយមូលដ្ឋានគឺថាភាពស្ថិតស្ថេរទិន្នន័យគឺជាបញ្ហារបស់អ្នកអភិវឌ្ឍន៍ហើយមិនគួរត្រូវបានគ្រប់គ្រងដោយមូលដ្ឋានទិន្នន័យទេ។
ស្របតាមកាលៈទេសៈ ។ តម្រូវការតែមួយគត់ដែលមូលដ្ឋានទិន្នន័យ NoSQL មានទាក់ទងនឹងភាពស្ថិតស្ថេរគឺតម្រូវឱ្យមានចំណុចណាមួយនាពេលអនាគតទិន្នន័យនឹងទៅជារដ្ឋស្រប។ ទោះយ៉ាងណាក៏ដោយគ្មានការធានាណាមួយត្រូវបានធ្វើឡើងនៅពេលដែលវានឹងកើតឡើង។ នោះគឺជាការចាកចេញទាំងស្រុងពីតំរូវការជាបន្ទាន់នៃ ACID ដែលហាមឃាត់ប្រតិបត្តិការពីការប្រតិបត្តិរហូតទាល់តែប្រតិបត្តិការមុនបានបញ្ចប់ហើយមូលដ្ឋានទិន្នន័យបានបង្រួបបង្រួមទៅរដ្ឋស្រប។
ម៉ូដែល BASE មិនសមស្របសម្រាប់គ្រប់ស្ថានភាពទាំងអស់ទេប៉ុន្តែវាគឺជាជម្រើសដ៏ល្អមួយចំពោះម៉ូដែល ACID សម្រាប់មូលដ្ឋានទិន្នន័យដែលមិនត្រូវការការប្រកាន់ខ្ជាប់យ៉ាងម៉ត់ចត់ទៅនឹងគំរូទំនាក់ទំនង។