Architecture Decision Record

Active theme: Light

← ឧទាហរណ៍កំណត់ត្រាការសម្រេចចិត្ត

កំណត់ត្រាការសម្រេចចិត្តខាងស្ថាបត្យកម្ម៖ ការជ្រើសរើសបច្ចេកវិទ្យាមូលដ្ឋានទិន្នន័យ

ស្ថានភាព

បានទទួលយក

បរិបទ

យើងកំពុងរចនាកម្មវិធីថ្មីមួយដែលតម្រូវឱ្យផ្ទុក និងទាញយកទិន្នន័យតាមរបៀបដែលអាចពង្រីកបាន និងមានប្រសិទ្ធភាព។ យើងបានកំណត់ប្រភេទបច្ចេកវិទ្យាមូលដ្ឋានទិន្នន័យបីដែលប្រើជាទូទៅ៖ មូលដ្ឋានទិន្នន័យទំនាក់ទំនង មូលដ្ឋានទិន្នន័យឯកសារ និងមូលដ្ឋានទិន្នន័យព្រឹត្តិការណ៍។

មូលដ្ឋានទិន្នន័យទំនាក់ទំនងផ្ទុកទិន្នន័យក្នុងតារាងដែលមានគ្រោងការណ៍ថេរ ហើយអនុវត្តឧបសគ្គភាពសុចរិតទិន្នន័យយ៉ាងតឹងរ៉ឹង។ ពួកវាសមស្របសម្រាប់កម្មវិធីដែលត្រូវការទំនាក់ទំនងទិន្នន័យស្មុគស្មាញ និងប្រតិបត្តិការ។ ឧទាហរណ៍រួមមាន MySQL, PostgreSQL និង Oracle។

មូលដ្ឋានទិន្នន័យឯកសារផ្ទុកទិន្នន័យក្នុងឯកសារស្រដៀង JSON ហើយគ្មានគ្រោងការណ៍។ ពួកវាសមស្របល្អសម្រាប់កម្មវិធីដែលត្រូវការម៉ូដែលទិន្នន័យបត់បែន និងការពង្រីកផ្ដេក។ ឧទាហរណ៍រួមមាន MongoDB, Couchbase និង Amazon DynamoDB។

មូលដ្ឋានទិន្នន័យព្រឹត្តិការណ៍ផ្ទុកទិន្នន័យជាស៊េរីនៃព្រឹត្តិការណ៍ ដោយកត់ត្រារាល់ការផ្លាស់ប្តូរចំពោះទិន្នន័យ។ ពួកវាសមស្របសម្រាប់កម្មវិធីដែលត្រូវការសវនកម្ម event sourcing និងដំណើរការទិន្នន័យស្មុគស្មាញ។ ឧទាហរណ៍រួមមាន Apache Kafka, Apache Pulsar និង AWS Kinesis។ ការសម្រេចចិត្ត

បន្ទាប់ពីវាយតម្លៃដោយប្រុងប្រយ័ត្ននូវតម្រូវការ និងឧបសគ្គនៃកម្មវិធីរបស់យើង យើងបានសម្រេចប្រើមូលដ្ឋានទិន្នន័យឯកសារ។

ហេតុផល

យើងបានជ្រើសរើសមូលដ្ឋានទិន្នន័យឯកសារ ព្រោះ៖

  1. កម្មវិធីរបស់យើងតម្រូវឱ្យមានម៉ូដែលទិន្នន័យបត់បែនដែលអាចវិវត្តតាមពេលវេលា។ មូលដ្ឋានទិន្នន័យឯកសារអនុញ្ញាតឱ្យយើងផ្ទុកទិន្នន័យក្នុងទម្រង់គ្មានគ្រោងការណ៍ ដែលមានន័យថាយើងអាចបន្ថែមវាលថ្មី ឬផ្លាស់ប្តូររចនាសម្ព័ន្ធនៃឯកសារដែលមានស្រាប់ ដោយមិនចាំបាច់កែប្រែគ្រោងការណ៍មូលដ្ឋានទិន្នន័យ។

  2. កម្មវិធីរបស់យើងត្រូវការពង្រីកផ្ដេកដើម្បីដោះស្រាយទិន្នន័យ និងចរាចរណ៍បរិមាណច្រើន។ មូលដ្ឋានទិន្នន័យឯកសារផ្តល់ការគាំទ្រភ្ជាប់មកស្រាប់សម្រាប់ sharding និង replication ដែលអនុញ្ញាតឱ្យយើងចែកចាយទិន្នន័យទៅម៉ាស៊ីនមេច្រើន និងដោះស្រាយអត្រាបញ្ជូនអាន និងសរសេរខ្ពស់។

  3. កម្មវិធីរបស់យើងតម្រូវឱ្យមានការទាញយកទិន្នន័យលឿន និងមានប្រសិទ្ធភាព។ មូលដ្ឋានទិន្នន័យឯកសារផ្តល់សមត្ថភាពបង្កើតសន្ទស្សន៍ និងសំណួរដ៏មានអានុភាព ដែលអនុញ្ញាតឱ្យយើងទាញយកទិន្នន័យបានលឿន និងមានប្រសិទ្ធភាព។

  4. កម្មវិធីរបស់យើងមិនតម្រូវឱ្យមានប្រតិបត្តិការ ឬទំនាក់ទំនងទិន្នន័យស្មុគស្មាញទេ។ ខណៈមូលដ្ឋានទិន្នន័យទំនាក់ទំនងពូកែក្នុងការអនុវត្តឧបសគ្គភាពសុចរិតទិន្នន័យ និងដោះស្រាយប្រតិបត្តិការស្មុគស្មាញ កម្មវិធីរបស់យើងមិនមានតម្រូវការបែបនេះទេ។ មូលដ្ឋានទិន្នន័យឯកសារអាចផ្តល់ការធានាស៊ីសង្វាក់ និងភាពបន្តរស់គ្រប់គ្រាន់សម្រាប់ករណីប្រើប្រាស់របស់យើង។

ផលវិបាក

ដោយជ្រើសរើសមូលដ្ឋានទិន្នន័យឯកសារ យើងនឹងត្រូវវិនិយោគលើការរៀន និងការយល់ដឹងអំពីបច្ចេកវិទ្យាជាក់លាក់ដែលយើងជ្រើសប្រើ។ លើសពីនេះ យើងនឹងត្រូវធានាថាម៉ូដែលទិន្នន័យរបស់កម្មវិធីយើងសមស្របល្អជាមួយម៉ូដែលទិន្នន័យរបស់មូលដ្ឋានទិន្នន័យឯកសារ ដើម្បីបង្កើនប្រសិទ្ធភាព និងភាពអាចពង្រីកបាន។

ទោះយ៉ាងណា យើងជឿថាអត្ថប្រយោជន៍នៃការប្រើមូលដ្ឋានទិន្នន័យឯកសារលើសពីថ្លៃដើម ហើយវាជាជម្រើសសមស្របបំផុតសម្រាប់តម្រូវការ និងឧបសគ្គនៃកម្មវិធីរបស់យើង។