ಪ್ರತಿ Mythex ಆ್ಯಪ್ಗೆ ತನ್ನದೇ ಡೇಟಾಬೇಸ್ ಏಕೆ ಸಿಗುತ್ತದೆ
ನೀವು Mythex ನಲ್ಲಿ ನಿರ್ಮಿಸುವ ಆ್ಯಪ್ ಡೇಟಾ ಉಳಿಸಬೇಕಾದಾಗ — ಸೈನ್-ಅಪ್ಗಳು, ಬುಕಿಂಗ್ಗಳು, ಆರ್ಡರ್ಗಳು — Mythex ಆ ಪ್ರಾಜೆಕ್ಟ್ಗೆ ಅದರ ಸ್ವಂತ Postgres ಡೇಟಾಬೇಸ್ ನೀಡುತ್ತದೆ. ಹಂಚಿದ ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಒಂದು ಟೇಬಲ್ ಅಲ್ಲ, ಇನ್ನೊಬ್ಬರ ಪಕ್ಕದಲ್ಲಿ ಒಂದು ಸ್ಕೀಮಾ ಅಲ್ಲ: ಬೇಡಿಕೆಯ ಮೇರೆಗೆ ರಚಿಸಲಾದ, ಯಾರೂ ಬಳಸದಿದ್ದಾಗ ನಿದ್ರಿಸುವ ಪ್ರತ್ಯೇಕ ಡೇಟಾಬೇಸ್. ನಾವು ಅದನ್ನು ಏಕೆ ಈ ರೀತಿ ನಿರ್ಮಿಸಿದೆವು ಮತ್ತು ಅದರ ವೆಚ್ಚ ಏನು ಎಂದು ಇಲ್ಲಿದೆ.
ನಿಮಗೆ ಏನು ಸಿಗುತ್ತದೆ
ನೀವು ಡೇಟಾ ಕೇಳಿದಾಗ (“ವೇಟ್ಲಿಸ್ಟ್ ಇಮೇಲ್ಗಳನ್ನು ಉಳಿಸಿ”, “ಬುಕಿಂಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ”) ಅಥವಾ /database ಕಮಾಂಡ್ ಬಳಸಿದಾಗ, Mythex:
- ಪ್ರಾಜೆಕ್ಟ್ಗಾಗಿ ಮೀಸಲಾದ Postgres ಡೇಟಾಬೇಸ್ ರಚಿಸುತ್ತದೆ (ಪ್ರಸ್ತುತ Postgres 17),
- ಕನೆಕ್ಷನ್ ವಿವರಗಳನ್ನು ನಿಮ್ಮ ವರ್ಕ್ಸ್ಪೇಸ್ ಮತ್ತು ಪ್ರಕಟಿತ ಆ್ಯಪ್ಗೆ ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್ಗಳಾಗಿ ಇಡುತ್ತದೆ, ಇದರಿಂದ ಅವು ನಿಮ್ಮ ಕೋಡ್ನಲ್ಲಿ ಎಂದಿಗೂ ಕಾಣಿಸುವುದಿಲ್ಲ, ಮತ್ತು
- ಏಜೆಂಟ್ ನಿಮಗಾಗಿ ಟೇಬಲ್ಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ಡೇಟಾ ಓದಲು-ಬರೆಯಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ.
ಅದೇ ಡೇಟಾಬೇಸ್ ಲೈವ್ ಪೂರ್ವವೀಕ್ಷಣೆ ಮತ್ತು ಪ್ರಕಟಿತ ಆ್ಯಪ್ ಎರಡಕ್ಕೂ ಬಳಕೆಯಾಗುತ್ತದೆ. ಅದು 5 ನಿಷ್ಕ್ರಿಯ ನಿಮಿಷಗಳ ನಂತರ ನಿದ್ರಿಸುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ಪ್ರಶ್ನೆಯಲ್ಲಿ ಎಚ್ಚರಗೊಳ್ಳುತ್ತದೆ. ಹೊಸ ಡೇಟಾಬೇಸ್ಗಳು ಸಣ್ಣದಾಗಿ ಆರಂಭವಾಗುತ್ತವೆ ಮತ್ತು ಲೋಡ್ ಅಡಿಯಲ್ಲಿ ದೊಡ್ಡದಾಗಬಹುದು, ಒಂದು ಮಿತಿಯೊಂದಿಗೆ — ಆದ್ದರಿಂದ ಒಂದು ಓಡಿಹೋದ ಕ್ವೆರಿ ಅನಿಯಮಿತವಾಗಿ ಬೆಳೆಯಲಾರದು. ಹೆಚ್ಚಿನ ವಿವರಗಳು ಡೇಟಾಬೇಸ್ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ನಲ್ಲಿವೆ.
ಒಂದು ದೊಡ್ಡ ಹಂಚಿದ ಡೇಟಾಬೇಸ್ ಏಕೆ ಬೇಡ?
ಪ್ರತಿ ಸಾಲು ಯಾವ ಆ್ಯಪ್ಗೆ ಸೇರಿದೆ ಎಂದು ಹೇಳುವ ಕಾಲಮ್ ಇರುವ ಹಂಚಿದ ಡೇಟಾಬೇಸ್ ನಡೆಸಲು ಅಗ್ಗ ಮತ್ತು ಸರಳ. ನಾಲ್ಕು ಕಾರಣಗಳಿಗಾಗಿ ನಾವು ಆ ರೀತಿ ಮಾಡದಿರಲು ಆಯ್ಕೆ ಮಾಡಿದೆವು.
1. ನೀವು ನಂಬಬೇಕಾಗಿಲ್ಲದ ಪ್ರತ್ಯೇಕತೆ
AI ಬರೆದ ಕೋಡ್ ತಪ್ಪುಗಳನ್ನು ಮಾಡುತ್ತದೆ. ಹಂಚಿದ ಡೇಟಾಬೇಸ್ನಲ್ಲಿ, ಒಂದು ಆ್ಯಪ್ನ ಕ್ವೆರಿಯಲ್ಲಿ ಒಂದೇ WHERE app_id = … ಕಾಣೆಯಾದರೂ ಇನ್ನೊಬ್ಬ ಗ್ರಾಹಕರ ಡೇಟಾವನ್ನು ಓದಬಹುದು ಅಥವಾ ಬರೆದುಬಿಡಬಹುದು. ಪ್ರತಿ ಆ್ಯಪ್ಗೆ ಒಂದು ಡೇಟಾಬೇಸ್ ಇದ್ದರೆ, ಬೇರೆ ಯಾವ ಗ್ರಾಹಕರ ಡೇಟಾವೂ ತಲುಪುವಂತಿರುವುದಿಲ್ಲ — ಒಂದು ದೋಷ ತನ್ನ ಸ್ವಂತ ಆ್ಯಪ್ನೊಳಗೇ ಉಳಿಯುತ್ತದೆ.
2. ಇದು ನಿಜವಾದ Postgres, ಮಾಲೀಕತ್ವದ ಪದರವಲ್ಲ
ನಿಮ್ಮ ಆ್ಯಪ್ ಸಾಮಾನ್ಯ ಕನೆಕ್ಷನ್ ಸ್ಟ್ರಿಂಗ್ ಮೂಲಕ ಪ್ರಮಾಣಿತ Postgres ಜೊತೆ ಮಾತನಾಡುತ್ತದೆ. Postgres ಜೊತೆ ಕೆಲಸ ಮಾಡುವ ಯಾವುದೇ ಲೈಬ್ರರಿ, ORM ಅಥವಾ ಟೂಲ್ ಇಲ್ಲಿಯೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಬೇರೆಡೆ ಚಲಾಯಿಸಲು ನೀವು ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ರಫ್ತು ಮಾಡಿದರೆ, ಅದು Postgres ಡೇಟಾಬೇಸ್ ನಿರೀಕ್ಷಿಸುತ್ತದೆ — ಪ್ರತಿ ಹೋಸ್ಟಿಂಗ್ ಪೂರೈಕೆದಾರರೂ ನೀಡುವಂಥದು — Mythex-ನಿರ್ದಿಷ್ಟ API ಅಲ್ಲ.
3. ಪ್ರತಿ ಆ್ಯಪ್ ಅದಕ್ಕೆ ಬೇಕಾದ ರೀತಿಯಲ್ಲಿ ರೂಪುಗೊಳ್ಳಬಹುದು
ಒಂದು ಆ್ಯಪ್ಗೆ ಸಮಯ-ಸ್ಲಾಟ್ಗಳ ಮೇಲೆ ಯುನಿಕ್ ನಿರ್ಬಂಧವಿರುವ bookings ಟೇಬಲ್ ಬೇಕು; ಇನ್ನೊಂದಕ್ಕೆ ಉತ್ಪನ್ನಗಳ ಮೇಲೆ ಫುಲ್-ಟೆಕ್ಸ್ಟ್ ಸರ್ಚ್ ಬೇಕು. ತನ್ನದೇ ಡೇಟಾಬೇಸ್ ಇದ್ದರೆ, ಪ್ರತಿ ಆ್ಯಪ್ನ ಸ್ಕೀಮಾ ಮತ್ತು ಮೈಗ್ರೇಶನ್ಗಳು ಅದರದೇ ವ್ಯವಹಾರ. ಯಾವುದೂ ಕನಿಷ್ಠ-ಸಾಮಾನ್ಯ ವಿನ್ಯಾಸಕ್ಕೆ ಹೊಂದಿಕೊಳ್ಳಬೇಕಾಗಿಲ್ಲ.
4. ವೆಚ್ಚ ಬಳಕೆಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ
ಪ್ರತಿ ಡೇಟಾಬೇಸ್ ತನ್ನದೇ ಆಗಿ ನಿದ್ರಿಸುವುದರಿಂದ, ಯಾರೂ ಬಳಸದ ಆ್ಯಪ್ ಬಹುತೇಕ ಏನೂ ಖರ್ಚು ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ಬ್ಯುಸಿ ಆ್ಯಪ್ನ ವೆಚ್ಚ ತನ್ನದೇ ಸಾಲಿನಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ. ಪ್ರಕಟಿತ ಡೇಟಾಬೇಸ್ ಬಳಕೆಗೆ ಬಿಲ್ ವಿಧಿಸುವುದು ಡೇಟಾಬೇಸ್ ನಿಜವಾಗಿ ಅಳೆದ ಬಳಕೆಯಿಂದ — ಆ ಬಿಲ್ಲಿಂಗ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ.
ಇದರ ಅನಾನುಕೂಲಗಳು
ಈ ವಿನ್ಯಾಸ ಉಚಿತವಲ್ಲ:
- ಕೋಲ್ಡ್ ಸ್ಟಾರ್ಟ್ಗಳು. ಶಾಂತ ಅವಧಿಯ ನಂತರ ಮೊದಲ ಪ್ರಶ್ನೆಯಲ್ಲಿ ನಿದ್ರಿಸುತ್ತಿದ್ದ ಡೇಟಾಬೇಸ್ ಎಚ್ಚರಗೊಳ್ಳಲು ಒಂದು ಕ್ಷಣ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಬಹುತೇಕ ಆ್ಯಪ್ಗಳಿಗೆ ಇದು ಕಷ್ಟಕರವಾಗಿ ಗಮನಕ್ಕೆ ಬರುತ್ತದೆ; ಯಾವಾಗಲೂ ತಕ್ಷಣ ಉತ್ತರಿಸಬೇಕಾದ ಆ್ಯಪ್ಗೆ ಇದು ಪರಿಗಣಿಸಬೇಕಾದ ವಿಷಯ.
- ಎಚ್ಚರವಾಗಿದ್ದಾಗಿನ ವೆಚ್ಚ. ಯಾವುದಾದರೂ ಅದನ್ನು ಕ್ವೆರಿ ಮಾಡುತ್ತಿರುವಾಗ ಡೇಟಾಬೇಸ್ ಎಚ್ಚರವಾಗಿರುತ್ತದೆ. ತನ್ನ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಪ್ರತಿ ಕೆಲವು ಸೆಕೆಂಡ್ಗಳಿಗೆ ಪೋಲ್ ಮಾಡುವ ಆ್ಯಪ್ ಅದನ್ನು ದಿನವಿಡೀ ಎಚ್ಚರವಾಗಿಡುತ್ತದೆ ಮತ್ತು ಬೇಡಿಕೆಯ ಮೇರೆಗೆ ಕ್ವೆರಿ ಮಾಡುವ ಆ್ಯಪ್ಗಿಂತ ಹೆಚ್ಚು ಖರ್ಚು ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ಬಳಕೆ ನೀವು ನಿರೀಕ್ಷಿಸಿದ್ದಕ್ಕಿಂತ ಹೆಚ್ಚು ಕಂಡರೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಕಾರಣ — AI ಗೆ ಪೋಲ್ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ, ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಡೇಟಾ ಲೋಡ್ ಮಾಡಲು ಹೇಳಿ.
- ನಮಗೆ ಹೆಚ್ಚಿನ ಚಲಿಸುವ ಭಾಗಗಳು. ಸಾವಿರಾರು ಡೇಟಾಬೇಸ್ಗಳನ್ನು ರಚಿಸುವುದು, ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು ಮತ್ತು ಸ್ವಚ್ಛಗೊಳಿಸುವುದು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಕೆಲಸ. ಅದನ್ನು ಹೊರುವುದು ನಮ್ಮ ಕೆಲಸ, ನಿಮ್ಮದಲ್ಲ.
ನೀವು ಡೇಟಾಬೇಸ್ಗಳಿಗೆ ಹೊಸಬರಾಗಿದ್ದರೆ
ಡೇಟಾಬೇಸ್ ಎಂದರೆ ಆ್ಯಪ್ ನೆನಪಿಡಬೇಕಾದ್ದನ್ನು ಇಡುವ ಸ್ಥಳ. ಈ ಕಲ್ಪನೆ ಹೊಸದಾಗಿದ್ದರೆ, ಡೇಟಾಬೇಸ್ ಎಂದರೇನು ಮತ್ತು Postgres ಎಂದರೇನು ಎಂಬುದರಿಂದ ಪ್ರಾರಂಭಿಸಿ. ಡೇಟಾ ಸಂಗ್ರಹಿಸುವ ಯಾವುದನ್ನಾದರೂ ನಿರ್ಮಿಸಲು ಸಿದ್ಧರಾದಾಗ, AI ಜೊತೆ ಆ್ಯಪ್ ನಿರ್ಮಿಸುವುದು ಹೇಗೆ ಅದನ್ನು ಸೇರಿಸುವ ಹಂತಗಳನ್ನು ವಿವರಿಸುತ್ತದೆ.