Sawzall (programming language)
ಸಾವ್ಜಾಲ್ ಒಂದು ಕಾರ್ಯವಿಧಾನದ ಡೊಮೇನ್-ನಿರ್ದಿಷ್ಟ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದ್ದು, ಇದನ್ನು ಗೂಗಲ್ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ವೈಯಕ್ತಿಕ ಲಾಗ್ ದಾಖಲೆಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಬಳಸುತ್ತದೆ. ಸಾವ್ಜಾಲ್ ಅನ್ನು ಮೊದಲ ಬಾರಿಗೆ 2003 ರಲ್ಲಿ ವಿವರಿಸಲಾಯಿತು, ಮತ್ತು ಎಸ್ಜೆಎಲ್ ರನ್ಟೈಮ್ ಅನ್ನು ಆಗಸ್ಟ್ 2010 ರಲ್ಲಿ ಓಪನ್ ಸೋರ್ಸ್ ಮಾಡಲಾಯಿತು. ಆದಾಗ್ಯೂ, ಮ್ಯಾಪ್ರೆಡ್ಯೂಸ್ ಟೇಬಲ್ ಅಗ್ರಿಗೇಟರ್ಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡದ ಕಾರಣ, ಶೆಲ್ಫ್ನ ಹೊರಗಿನ ಅನೇಕ ಲಾಗ್ ಫೈಲ್ಗಳ ದೊಡ್ಡ ಪ್ರಮಾಣದ ದತ್ತಾಂಶ ವಿಶ್ಲೇಷಣೆಗೆ ಓಪನ್-ಸೋರ್ಸ್ಡ್ ರನ್ಟೈಮ್ ಉಪಯುಕ್ತವಲ್ಲ. ಗೂಗಲ್ನೊಳಗೆ ಹೆಚ್ಚಿನ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಸಾವ್ಜಾಲ್ ಅನ್ನು ಲಿಂಗೋ (ಗೋದಲ್ಲಿ ಲಾಗ್ಗಳು) ನಿಂದ ಬದಲಾಯಿಸಲಾಗಿದೆ. ಪ್ರೇರಣೆ ಗೂಗಲ್ನ ಸರ್ವರ್ ಲಾಗ್ಗಳನ್ನು ಜಿಎಫ್ಎಸ್ನೊಳಗಿನ ಅನೇಕ ಡಿಸ್ಕ್ಗಳಲ್ಲಿ ವಿಂಗಡಿಸಲಾದ ದಾಖಲೆಗಳ ದೊಡ್ಡ ಸಂಗ್ರಹಗಳಾಗಿ (ಪ್ರೊಟೊಕಾಲ್ ಬಫರ್ಗಳು) ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಲಾಗ್ಗಳನ್ನು ಒಳಗೊಂಡ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ನಿರ್ವಹಿಸಲು, ಎಂಜಿನಿಯರ್ಗಳು ಮ್ಯಾಪ್ರೆಡ್ಯೂಸ್ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಸಿ + + ಅಥವಾ ಜಾವಾದಲ್ಲಿ ಬರೆಯಬಹುದು. ಮ್ಯಾಪ್ರೆಡ್ಯೂಸ್ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಸಂಕಲಿಸಬೇಕಾಗಿದೆ ಮತ್ತು ಅಗತ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚು ಶಬ್ದಯುಕ್ತವಾಗಿರಬಹುದು, ಆದ್ದರಿಂದ ಲಾಗ್ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಬರೆಯುವುದು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ತ್ವರಿತ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಬರೆಯುವುದನ್ನು ಸುಲಭಗೊಳಿಸಲು, ರಾಬ್ ಪೈಕ್ ಮತ್ತು ಇತರರು. ಸಾವ್ಜಾಲ್ ಭಾಷೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದರು. ಸಾವ್ಜಾಲ್ ಲಿಪಿಯು ಮ್ಯಾಪ್ರೆಡ್ಯೂಸ್ನ ನಕ್ಷೆಯ ಹಂತದೊಳಗೆ ಚಲಿಸುತ್ತದೆ ಮತ್ತು ಕೋಷ್ಟಕಗಳಿಗೆ ಮೌಲ್ಯಗಳನ್ನು "ಹೊರಸೂಸುತ್ತದೆ". ನಂತರ ರಿಡ್ಯೂಸ್ ಹಂತವು (ಸ್ಕ್ರಿಪ್ಟ್ ಬರಹಗಾರನು ಅದರ ಬಗ್ಗೆ ಚಿಂತಿಸಬೇಕಾಗಿಲ್ಲ) ಟೇಬಲ್ಗಳನ್ನು ಅನೇಕ ರನ್ಗಳಿಂದ ಒಂದೇ ಟೇಬಲ್ ಸೆಟ್ಗೆ ಒಟ್ಟುಗೂಡಿಸುತ್ತದೆ. ಪ್ರಸ್ತುತ, ಭಾಷೆಯ ರನ್ಟೈಮ್ (ಇದು ಒಂದೇ ಇನ್ಪುಟ್ನಲ್ಲಿ ಒಮ್ಮೆ ಸಾವ್ಜಾಲ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನಡೆಸುತ್ತದೆ) ಮಾತ್ರ ತೆರೆದ ಮೂಲವಾಗಿದೆ; ಮ್ಯಾಪ್ರೆಡ್ಯೂಸ್ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ಪೋಷಕ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿಲ್ಲ. ಕೆಲವು ಆಸಕ್ತಿದಾಯಕ ವೈಶಿಷ್ಟ್ಯಗಳು ಸೇರಿವೆಃ ಸಾವ್ಜಾಲ್ ಲಿಪಿಯು ಒಂದೇ ಇನ್ಪುಟ್ (ಲಾಗ್ ರೆಕಾರ್ಡ್) ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ ಮತ್ತು ಟೇಬಲ್ಗಳಿಗೆ ಹೊರಸೂಸುವ ಮೂಲಕ ಮಾತ್ರ ಔಟ್ಪುಟ್ ಮಾಡಬಹುದು. ಸ್ಕ್ರಿಪ್ಟ್ ಬೇರೆ ಯಾವುದೇ ಅಡ್ಡಪರಿಣಾಮಗಳನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ಸ್ಕ್ರಿಪ್ಟ್ ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಔಟ್ಪುಟ್ ಕೋಷ್ಟಕಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು. ಕೋಷ್ಟಕದ ಪ್ರಕಾರಗಳು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಒಳಗೊಂಡಿವೆಃ ಸಂಗ್ರಹವು ಹೊರಸೂಸುವ ಪ್ರತಿಯೊಂದು ಮೌಲ್ಯವನ್ನು ಉಳಿಸುತ್ತದೆ, ಒಟ್ಟು ಮೊತ್ತವು ಪ್ರತಿ ಹೊರಸೂಸುವ ಮೌಲ್ಯದ ಮೊತ್ತವನ್ನು ಉಳಿಸುತ್ತದೆ, ಗರಿಷ್ಠ (n) ನಿರ್ದಿಷ್ಟ ತೂಕದ ಮೇಲಿನ ಗರಿಷ್ಠ n ಮೌಲ್ಯಗಳನ್ನು ಮಾತ್ರ ಉಳಿಸುತ್ತದೆ. ಇದರ ಜೊತೆಗೆ, ನಿಖರವಲ್ಲದ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುವ ಹಲವಾರು ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಕೋಷ್ಟಕ ಪ್ರಕಾರಗಳಿವೆ. n ನಿಯತಾಂಕವು ಹೆಚ್ಚಾದಂತೆ, ಅಂದಾಜುಗಳು ಹೆಚ್ಚು ನಿಖರವಾಗಿರುತ್ತವೆ. ಸ್ಯಾಂಪಲ್ (n) ಎಲ್ಲಾ ಹೊರಸೂಸುವ ಮೌಲ್ಯಗಳಿಂದ n ಮೌಲ್ಯಗಳ ಯಾದೃಚ್ಛಿಕ ಮಾದರಿಯನ್ನು ನೀಡುತ್ತದೆ ಕ್ವಾಂಟೈಲ್ (n) ನೀಡಲಾದ ಸಂಖ್ಯೆಗಳ ಸಂಚಿತ ಸಂಭವನೀಯತೆಯ ವಿತರಣೆಯನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ. ಮೇಲ್ಭಾಗವು (n) ಬಹುಶಃ ಹೊರಸೂಸುವ ಮೌಲ್ಯಗಳಲ್ಲಿ ಹೆಚ್ಚು ಆಗಾಗ್ಗೆ ಇರುವ n ಮೌಲ್ಯಗಳನ್ನು ನೀಡುತ್ತದೆ. ಅನನ್ಯ (ಎನ್) ಹೊರಸೂಸುವ ಅನನ್ಯ ಮೌಲ್ಯಗಳ ಸಂಖ್ಯೆಯನ್ನು ಅಂದಾಜು ಮಾಡುತ್ತದೆ. ಸಾವ್ಜಾಲ್ನ ವಿನ್ಯಾಸವು ಶಕ್ತಿಯ ಮೇಲೆ ದಕ್ಷತೆ ಮತ್ತು ಎಂಜಿನ್ ಸರಳತೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆಃ ಸಾವ್ಜಾಲ್ ಅನ್ನು ಸ್ಥಿರವಾಗಿ ಟೈಪ್ ಮಾಡಲಾಗಿದೆ, ಮತ್ತು ಎಂಜಿನ್ ಅದನ್ನು ಚಲಾಯಿಸುವ ಮೊದಲು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು x86 ಗೆ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ. ಸಾವ್ಜಾಲ್ ಸಂಯುಕ್ತ ದತ್ತಾಂಶ ಪ್ರಕಾರಗಳ ಪಟ್ಟಿಗಳು, ನಕ್ಷೆಗಳು ಮತ್ತು ರಚನೆಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಯಾವುದೇ ಉಲ್ಲೇಖಗಳು ಅಥವಾ ಸುಳಿವುಗಳಿಲ್ಲ. ಎಲ್ಲಾ ನಿಯೋಜನೆಗಳು ಮತ್ತು ಕಾರ್ಯ ವಾದಗಳು ಪ್ರತಿಗಳನ್ನು ರಚಿಸುತ್ತವೆ. ಇದರರ್ಥ ಪುನರಾವರ್ತಿತ ದತ್ತಾಂಶ ರಚನೆಗಳು ಮತ್ತು ಚಕ್ರಗಳು ಅಸಾಧ್ಯ. ಸಿ ಯಂತೆ, ಕಾರ್ಯಗಳು ಜಾಗತಿಕ ಅಸ್ಥಿರಗಳು ಮತ್ತು ಸ್ಥಳೀಯ ಅಸ್ಥಿರಗಳನ್ನು ಮಾರ್ಪಡಿಸಬಹುದು ಆದರೆ ಅವು ಮುಚ್ಚುವಿಕೆಯಲ್ಲ. ಸಾವ್ಜಾಲ್ ಕೋಡ್ ಈ ಸಂಪೂರ್ಣ ಸಾವ್ಜಾಲ್ ಪ್ರೋಗ್ರಾಂ ಇನ್ಪುಟ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಮೂರು ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುತ್ತದೆಃ ದಾಖಲೆಗಳ ಸಂಖ್ಯೆ, ಮೌಲ್ಯಗಳ ಮೊತ್ತ ಮತ್ತು ಮೌಲ್ಯಗಳ ವರ್ಗಗಳ ಮೊತ್ತ. ಎಣಿಕೆಃ ಪೂರ್ಣಾಂಕದ ಕೋಷ್ಟಕ ಮೊತ್ತ; ಒಟ್ಟುಃ ಫ್ಲೋಟ್ನ ಕೋಷ್ಟಕ ಮೊತ್ತ; ಸಮ _ ಆಫ್ _ ಸ್ಕ್ವೇರ್ಸ್ಃ ಫ್ಲೋಟ್ನ ಕೋಷ್ಟಕ ಮೊತ್ತ; x: ಫ್ಲೋಟ್ = ಇನ್ಪುಟ್; ಎಮಿಟ್ ಕೌಂಟ್ <-1; ಎಮಿಟ್ ಟೋಟಲ್ <-x; ಎಮಿಟ್ ಸಮ್ _ ಆಫ್ _ ಸ್ಕ್ವೇರ್ಸ್ <-x * x; ಪಿಗ್ ಅನ್ನು ಸಹ ನೋಡಿ-ಅಪಾಚೆ ಹಡೂಪ್ ಸಾವ್ಮಿಲ್ (ಸಾಫ್ಟ್ವೇರ್) ನೊಂದಿಗೆ ಬಳಸಲು ಇದೇ ರೀತಿಯ ಸಾಧನ ಮತ್ತು ಭಾಷೆ ಉಲ್ಲೇಖಗಳು ಮತ್ತಷ್ಟು ಓದುವಿಕೆ ಎಸ್. ಘೆಮಾವತ್, ಎಚ್. ಗೋಬಿಯೋಫ್, ಎಸ್.-ಟಿ. ಲೆಯುಂಗ್, ಗೂಗಲ್ ಫೈಲ್ ಸಿಸ್ಟಮ್, ಇನ್ಃ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಸ್ ಪ್ರಿನ್ಸಿಪಲ್ಸ್, ಪ್ರೊಸೀಡಿಂಗ್ಸ್, 17 ಎಸಿಎಂ ಪ್ರೆಸ್, 2003, ಪಿಪಿ. ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಗೂಗಲ್ ಕೋಡ್ ಆರ್ಕೈವ್-ಗೂಗಲ್ ಕೋಡ್ ಪ್ರಾಜೆಕ್ಟ್ ಹೋಸ್ಟಿಂಗ್ಗಾಗಿ ದೀರ್ಘಾವಧಿಯ ಸಂಗ್ರಹಣೆ. ಮ್ಯಾಪ್ರೆಡ್ಯೂಸ್ ಡೊಮೈನ್-ನಿರ್ದಿಷ್ಟ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಪ್ರೊಸೀಜರಲ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಗೂಗಲ್ ಸಾಫ್ಟ್ವೇರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು 2003ರಲ್ಲಿ ಅಪಾಚೆ ಪರವಾನಗಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ.