Architecture Decision Record

Active theme: Light

← ನಿರ್ಧಾರ ದಾಖಲೆ ಉದಾಹರಣೆಗಳು

ವಾಸ್ತುಶಿಲ್ಪ ನಿರ್ಧಾರ ದಾಖಲೆ: ಡೇಟಾಬೇಸ್ ತಂತ್ರಜ್ಞಾನದ ಆಯ್ಕೆ

ಸ್ಥಿತಿ

ಸ್ವೀಕೃತ

ಸಂದರ್ಭ

ವಿಸ್ತರಿಸಬಹುದಾದ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮ ರೀತಿಯಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಮತ್ತು ಹಿಂಪಡೆಯಲು ಅಗತ್ಯವಿರುವ ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಾವು ವಿನ್ಯಾಸಗೊಳಿಸುತ್ತಿದ್ದೇವೆ. ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಮೂರು ರೀತಿಯ ಡೇಟಾಬೇಸ್ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ನಾವು ಗುರುತಿಸಿದ್ದೇವೆ: ರಿಲೇಶನಲ್ ಡೇಟಾಬೇಸ್‌ಗಳು, ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಮತ್ತು ಈವೆಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು.

ರಿಲೇಶನಲ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಸ್ಥಿರ ಸ್ಕೀಮಾಗಳೊಂದಿಗೆ ಕೋಷ್ಟಕಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತವೆ ಮತ್ತು ಕಟ್ಟುನಿಟ್ಟಾದ ಡೇಟಾ ಸಮಗ್ರತೆ ನಿರ್ಬಂಧಗಳನ್ನು ಜಾರಿಗೊಳಿಸುತ್ತವೆ. ಸಂಕೀರ್ಣ ಡೇಟಾ ಸಂಬಂಧಗಳು ಮತ್ತು ವಹಿವಾಟುಗಳ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಅವು ಸೂಕ್ತ. ಉದಾಹರಣೆಗಳಲ್ಲಿ MySQL, PostgreSQL ಮತ್ತು Oracle ಸೇರಿವೆ.

ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು JSON-ರೀತಿಯ ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತವೆ ಮತ್ತು ಸ್ಕೀಮಾ-ರಹಿತವಾಗಿವೆ. ನಮ್ಯ ಡೇಟಾ ಮಾದರಿಗಳು ಮತ್ತು ಅಡ್ಡ ವಿಸ್ತರಣೆಯ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಅವು ಚೆನ್ನಾಗಿ ಹೊಂದುತ್ತವೆ. ಉದಾಹರಣೆಗಳಲ್ಲಿ MongoDB, Couchbase ಮತ್ತು Amazon DynamoDB ಸೇರಿವೆ.

ಈವೆಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಡೇಟಾದ ಪ್ರತಿ ಬದಲಾವಣೆಯನ್ನು ಸೆರೆಹಿಡಿಯುತ್ತಾ, ಡೇಟಾವನ್ನು ಈವೆಂಟ್‌ಗಳ ಸರಣಿಯಾಗಿ ಸಂಗ್ರಹಿಸುತ್ತವೆ. ಲೆಕ್ಕಪರಿಶೋಧನೆ, ಈವೆಂಟ್ ಸೋರ್ಸಿಂಗ್ ಮತ್ತು ಸಂಕೀರ್ಣ ಡೇಟಾ ಸಂಸ್ಕರಣೆಯ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಅವು ಸೂಕ್ತ. ಉದಾಹರಣೆಗಳಲ್ಲಿ Apache Kafka, Apache Pulsar ಮತ್ತು AWS Kinesis ಸೇರಿವೆ. ನಿರ್ಧಾರ

ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನ ಅವಶ್ಯಕತೆಗಳು ಮತ್ತು ನಿರ್ಬಂಧಗಳನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ಮೌಲ್ಯಮಾಪನ ಮಾಡಿದ ನಂತರ, ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್ ಬಳಸಲು ನಾವು ನಿರ್ಧರಿಸಿದ್ದೇವೆ.

ತಾರ್ಕಿಕತೆ

ನಾವು ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಆರಿಸಿದ್ದೇವೆ ಏಕೆಂದರೆ:

  1. ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಕಾಲಕ್ರಮೇಣ ವಿಕಸನಗೊಳ್ಳಬಲ್ಲ ನಮ್ಯ ಡೇಟಾ ಮಾದರಿ ಬೇಕು. ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಸ್ಕೀಮಾ-ರಹಿತ ಸ್ವರೂಪದಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ನಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತವೆ, ಅಂದರೆ ಡೇಟಾಬೇಸ್ ಸ್ಕೀಮಾವನ್ನು ಮಾರ್ಪಡಿಸದೆ ನಾವು ಹೊಸ ಕ್ಷೇತ್ರಗಳನ್ನು ಸೇರಿಸಬಹುದು ಅಥವಾ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳ ರಚನೆಯನ್ನು ಬದಲಾಯಿಸಬಹುದು.

  2. ದೊಡ್ಡ ಪ್ರಮಾಣದ ಡೇಟಾ ಮತ್ತು ಟ್ರಾಫಿಕ್ ಅನ್ನು ನಿಭಾಯಿಸಲು ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅಡ್ಡಲಾಗಿ ವಿಸ್ತರಿಸಬೇಕಾಗಿದೆ. ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಶಾರ್ಡಿಂಗ್ ಮತ್ತು ರೆಪ್ಲಿಕೇಶನ್‌ಗೆ ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತವೆ, ಇದು ಅನೇಕ ಸರ್ವರ್‌ಗಳಾದ್ಯಂತ ಡೇಟಾವನ್ನು ವಿತರಿಸಲು ಮತ್ತು ಹೆಚ್ಚಿನ ಓದು ಮತ್ತು ಬರೆಯುವ ಥ್ರೂಪುಟ್ ಅನ್ನು ನಿಭಾಯಿಸಲು ನಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

  3. ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ವೇಗದ ಮತ್ತು ದಕ್ಷ ಡೇಟಾ ಹಿಂಪಡೆಯುವಿಕೆ ಬೇಕು. ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಡೇಟಾವನ್ನು ತ್ವರಿತವಾಗಿ ಮತ್ತು ದಕ್ಷವಾಗಿ ಹಿಂಪಡೆಯಲು ನಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುವ ಶಕ್ತಿಯುತ ಇಂಡೆಕ್ಸಿಂಗ್ ಮತ್ತು ಕ್ವೆರಿಯಿಂಗ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ.

  4. ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸಂಕೀರ್ಣ ವಹಿವಾಟುಗಳು ಅಥವಾ ಡೇಟಾ ಸಂಬಂಧಗಳು ಬೇಕಿಲ್ಲ. ರಿಲೇಶನಲ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಡೇಟಾ ಸಮಗ್ರತೆ ನಿರ್ಬಂಧಗಳನ್ನು ಜಾರಿಗೊಳಿಸುವಲ್ಲಿ ಮತ್ತು ಸಂಕೀರ್ಣ ವಹಿವಾಟುಗಳನ್ನು ನಿಭಾಯಿಸುವಲ್ಲಿ ಉತ್ತಮವಾಗಿದ್ದರೂ, ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅಂತಹ ಅವಶ್ಯಕತೆಗಳನ್ನು ಹೊಂದಿಲ್ಲ. ನಮ್ಮ ಬಳಕೆಯ ಪ್ರಕರಣಕ್ಕೆ ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಸಾಕಷ್ಟು ಸ್ಥಿರತೆ ಮತ್ತು ಬಾಳಿಕೆ ಖಾತರಿಗಳನ್ನು ಒದಗಿಸಬಲ್ಲವು.

ಪರಿಣಾಮಗಳು

ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್ ಆರಿಸುವ ಮೂಲಕ, ನಾವು ಬಳಸಲು ಆರಿಸುವ ನಿರ್ದಿಷ್ಟ ತಂತ್ರಜ್ಞಾನವನ್ನು ಕಲಿಯಲು ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನಾವು ಹೂಡಿಕೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಜೊತೆಗೆ, ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ವಿಸ್ತರಣೀಯತೆಯನ್ನು ಗರಿಷ್ಠಗೊಳಿಸಲು ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನ ಡೇಟಾ ಮಾದರಿಯು ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್‌ನ ಡೇಟಾ ಮಾದರಿಗೆ ಚೆನ್ನಾಗಿ ಹೊಂದುತ್ತದೆ ಎಂದು ನಾವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ.

ಆದಾಗ್ಯೂ, ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್ ಬಳಸುವುದರ ಪ್ರಯೋಜನಗಳು ವೆಚ್ಚಗಳಿಗಿಂತ ಹೆಚ್ಚು ಎಂದೂ, ಮತ್ತು ಅದು ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನ ಅವಶ್ಯಕತೆಗಳು ಮತ್ತು ನಿರ್ಬಂಧಗಳಿಗೆ ಅತ್ಯುತ್ತಮ ಹೊಂದಾಣಿಕೆ ಎಂದೂ ನಾವು ನಂಬುತ್ತೇವೆ.