Retrieval Data Structure
ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ, ಸ್ಟ್ಯಾಟಿಕ್ ಫಂಕ್ಷನ್ ಎಂದೂ ಕರೆಯಲ್ಪಡುವ ರಿಟ್ರೀವಲ್ ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್, ಈ ಕೆಳಗಿನ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಅನುಮತಿಸುವ (ಕೀ, ಮೌಲ್ಯ) ಜೋಡಿಗಳ ಸಂಗ್ರಹದಿಂದ ಕೂಡಿದ ಬಾಹ್ಯಾಕಾಶ-ಸಮರ್ಥ ನಿಘಂಟಿನಂತಹ ಡೇಟಾ ಪ್ರಕಾರವಾಗಿದೆಃ (ಕೀ, ಮೌಲ್ಯ) ಜೋಡಿಗಳ ಸಂಗ್ರಹದಿಂದ ನಿರ್ಮಾಣವು ಕೊಟ್ಟಿರುವ ಕೀ ಅಥವಾ ಯಾವುದಕ್ಕೂ ಸಂಬಂಧಿಸಿದ ಮೌಲ್ಯವನ್ನು ಸಂಗ್ರಹದಲ್ಲಿ ಹೊಂದಿಲ್ಲದಿದ್ದರೆ ಮರುಪಡೆಯಿರಿ. ಸ್ಥಿರ ಕಾರ್ಯಗಳಿಗೆ ವ್ಯತಿರಿಕ್ತವಾಗಿ, AMQ-ಫಿಲ್ಟರ್ಗಳು (ಸಂಭವನೀಯ) ಸದಸ್ಯತ್ವ ಪ್ರಶ್ನೆಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ ಮತ್ತು ನಿಘಂಟುಗಳು ಹೆಚ್ಚುವರಿಯಾಗಿ ಕೀಲಿಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುವುದು ಅಥವಾ ಕೀಲಿಗೆ ಸಂಬಂಧಿಸಿದ ಮೌಲ್ಯವನ್ನು ಹುಡುಕುವುದು ಮತ್ತು ಕೀಲಿ ಇಲ್ಲದಿದ್ದರೆ ಬೇರೆ ಯಾವುದಾದರೂ ಚಿಹ್ನೆಯನ್ನು ಹಿಂದಿರುಗಿಸುವಂತಹ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಅನುಮತಿಸುತ್ತವೆ. ಕಾರ್ಯಾಚರಣೆಯಿಂದ ಪಡೆಯಬಹುದಾದಂತೆ, ಈ ದತ್ತಾಂಶ ರಚನೆಯು ಕೀಲಿಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಅಗತ್ಯವಿಲ್ಲ ಮತ್ತು ವಾಸ್ತವವಾಗಿ ಪ್ರಮುಖ ಮೌಲ್ಯ ಜೋಡಿಗಳ ಸರಳ ಪಟ್ಟಿಗೆ ಬೇಕಾಗಿರುವುದಕ್ಕಿಂತ ಕಡಿಮೆ ಜಾಗವನ್ನು ಬಳಸಬಹುದು. ಇದು ಸಂಬಂಧಿತ ದತ್ತಾಂಶವು ಚಿಕ್ಕದಾದ ಸಂದರ್ಭಗಳಲ್ಲಿ ಅದನ್ನು ಆಕರ್ಷಕವಾಗಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ. ಕೆಲವು ಬಿಟ್ಗಳು) ಕೀಲಿಗಳಿಗೆ ಹೋಲಿಸಿದರೆ ಏಕೆಂದರೆ ಕೀಲಿಗಳು ಬಳಸುವ ಜಾಗವನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ನಾವು ಸಾಕಷ್ಟು ಉಳಿತಾಯ ಮಾಡಬಹುದು. ಒಂದು ಸರಳ ಉದಾಹರಣೆಯನ್ನು ನೀಡಲು, ಆಟವು ಸಾಕಬಹುದಾದ ನಾಯಿಯನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ಸೂಚಿಸುವ ಬೂಲಿಯನ್ನೊಂದಿಗೆ ಟಿಪ್ಪಣಿ ಮಾಡಲಾದ ವೀಡಿಯೊ ಗೇಮ್ ಹೆಸರುಗಳನ್ನು ನೀಡಲಾಗಿದೆ ಎಂದು ಭಾವಿಸೋಣ. ಈ ದತ್ತಸಂಚಯದಿಂದ ನಿರ್ಮಿಸಲಾದ ಸ್ಥಿರ ಕಾರ್ಯವು ಮೂಲ ಗುಂಪಿನಲ್ಲಿರುವ ಎಲ್ಲಾ ಹೆಸರುಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಧ್ವಜವನ್ನು ಮತ್ತು ಇತರ ಹೆಸರುಗಳಿಗೆ ಅನಿಯಂತ್ರಿತವಾದದನ್ನು ಪುನರುತ್ಪಾದಿಸಬಹುದು. ಈ ಸ್ಥಿರ ಕಾರ್ಯದ ಗಾತ್ರವನ್ನು ಸಣ್ಣದಕ್ಕೆ ಬಿಟ್ಗಳಾಗಿ ಮಾತ್ರ ಮಾಡಬಹುದು, ಇದು ಯಾವುದೇ ಜೋಡಿ ಆಧಾರಿತ ಪ್ರಾತಿನಿಧ್ಯಕ್ಕಿಂತ ನಿಸ್ಸಂಶಯವಾಗಿ ತುಂಬಾ ಕಡಿಮೆಯಾಗಿದೆ. ಉದಾಹರಣೆಗಳು ಸ್ಥಿರ ಕಾರ್ಯದ ಒಂದು ಕ್ಷುಲ್ಲಕ ಉದಾಹರಣೆಯೆಂದರೆ ಮೇಲಿನ ಎಲ್ಲಾ ಕಾರ್ಯಾಚರಣೆಗಳು ಮತ್ತು ಇನ್ನೂ ಹೆಚ್ಚಿನವುಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕೀಲಿಗಳು ಮತ್ತು ಮೌಲ್ಯಗಳ ವಿಂಗಡಿಸಲಾದ ಪಟ್ಟಿ. ಆದಾಗ್ಯೂ, ಪಟ್ಟಿಯಲ್ಲಿನ ಹಿಂಪಡೆಯುವಿಕೆಯು ನಿಧಾನವಾಗಿರುತ್ತದೆ ಮತ್ತು ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಅನುಮತಿಸಲು ತೆಗೆದುಹಾಕಬಹುದಾದ ಅನೇಕ ಅನಗತ್ಯ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಾವು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತೇವೆ. ಇದಲ್ಲದೆ, ನಾವು ಬಳಸದ ಪ್ರಶ್ನಾರ್ಹ ಕೀಲಿಯು ಇಲ್ಲದಿದ್ದರೆ ಕಸದ ರಾಶಿಯನ್ನು ಹಿಂದಿರುಗಿಸಲು ಸಹ ನಮಗೆ ಅವಕಾಶವಿದೆ. ಪರಿಪೂರ್ಣ ಹ್ಯಾಶ್ ಕಾರ್ಯಗಳು ಸ್ಥಿರ ಕಾರ್ಯವನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತೊಂದು ಸರಳ ಉದಾಹರಣೆಯೆಂದರೆ ಪರಿಪೂರ್ಣ ಹ್ಯಾಶ್ ಕಾರ್ಯವನ್ನು ಬಳಸುವುದುಃ ನಮ್ಮ ಕೀಲಿಗಳಿಗಾಗಿ ಪಿಎಚ್ಎಫ್ ಅನ್ನು ನಿರ್ಮಿಸಿದ ನಂತರ, ಅನುಗುಣವಾದ ಮೌಲ್ಯಗಳನ್ನು ಕೀಲಿಗೆ ಸರಿಯಾದ ಸ್ಥಾನದಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ. ನೋಡುವಂತೆ, ಈ ವಿಧಾನವು ಸಂಬಂಧಿತ ಮೌಲ್ಯಗಳನ್ನು ನವೀಕರಿಸಲು ಸಹ ಅನುಮತಿಸುತ್ತದೆ, ಕೀಲಿಗಳು ಸ್ಥಿರವಾಗಿರಬೇಕು. ಪರಿಪೂರ್ಣ ಹ್ಯಾಶ್ ಕಾರ್ಯದ ನಿಖರತೆಯಿಂದ ನಿಖರತೆ ಅನುಸರಿಸುತ್ತದೆ. ಸಂಬಂಧಿತ ಮೌಲ್ಯಗಳು ತುಲನಾತ್ಮಕವಾಗಿ ಚಿಕ್ಕದಾಗಿದ್ದರೆ ಕನಿಷ್ಠ ಪರಿಪೂರ್ಣ ಹ್ಯಾಶ್ ಕಾರ್ಯವನ್ನು ಬಳಸುವುದು ದೊಡ್ಡ ಜಾಗದ ಸುಧಾರಣೆಯನ್ನು ನೀಡುತ್ತದೆ. XOR-ರಿಟ್ರೀವಲ್ ಹ್ಯಾಶ್ಡ್ ಫಿಲ್ಟರ್ಗಳನ್ನು ಅವುಗಳ ಪ್ರಶ್ನೆಗಳಿಂದ OR, AND ಮತ್ತು XOR-ಫಿಲ್ಟರ್ಗಳಾಗಿ ವರ್ಗೀಕರಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಬ್ಲೂಮ್ ಫಿಲ್ಟರ್ ಒಂದು AND-ಫಿಲ್ಟರ್ ಆಗಿದ್ದು, ಎಲ್ಲಾ ಪರಿಶೀಲಿಸಿದ ಸ್ಥಳಗಳು ಹೊಂದಿಕೆಯಾದರೆ ಸದಸ್ಯತ್ವದ ಪ್ರಶ್ನೆಗೆ ಇದು ನಿಜವಾಗುತ್ತದೆ. XOR ಶೋಧಕಗಳು ಸ್ಥಿರ ಮರುಪಡೆಯುವಿಕೆಗಳಿಗೆ ಮಾತ್ರ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಸಮರ್ಥವಾಗಿ ನಿರ್ಮಿಸಲು ಅತ್ಯಂತ ಭರವಸೆಯಾಗಿವೆ. ಅವುಗಳನ್ನು ರೇಖೀಯ ವ್ಯವಸ್ಥೆಯನ್ನು ಪರಿಹರಿಸುವ ಮೂಲಕ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಇದು ಪ್ರತಿ ಕೀಲಿಯ ಪ್ರಶ್ನೆಯು ನಿಜವಾಗುವುದನ್ನು ಖಾತ್ರಿಪಡಿಸುತ್ತದೆ. ರಚನೆಯು ಪ್ರತಿಯೊಂದು ಕೀಲಿಯನ್ನು ಉದ್ದದ ಬಿಟ್ವೆಕ್ಟರ್ಗೆ ನಕ್ಷೆ ಮಾಡುವ ಹ್ಯಾಶ್ ಕಾರ್ಯವನ್ನು ನೀಡಿದರೆ, ಅಲ್ಲಿ ಎಲ್ಲವೂ ರೇಖೀಯವಾಗಿ ಸ್ವತಂತ್ರವಾಗಿರುತ್ತವೆ, ಈ ಕೆಳಗಿನ ರೇಖೀಯ ಸಮೀಕರಣಗಳ ವ್ಯವಸ್ಥೆಯು ಪರಿಹಾರವನ್ನು ಹೊಂದಿದೆಃ ಆದ್ದರಿಂದ, ಸ್ಥಿರ ಕಾರ್ಯವನ್ನು ಮತ್ತು ಬಾಹ್ಯಾಕಾಶ ಬಳಕೆಯನ್ನು ನೀಡಲಾಗುತ್ತದೆ, ಇದು ಪ್ರತಿ ಕೀಲಿಗೆ ಸ್ಥೂಲವಾಗಿ ಬಿಟ್ಗಳಾಗಿರುತ್ತದೆ, ಹ್ಯಾಶ್ ಕಾರ್ಯವು ಚಿಕ್ಕದಾಗಿದೆ ಎಂದು ಭಾವಿಸಲಾಗಿದೆ. ಎಲ್ಲಾ ಸೆಟ್ ಬಿಟ್ಗಳಿಗೆ ಸಾಲುಗಳ ಬಿಟ್ವೈಸ್ XOR ಎಂದು ರಿಟ್ರೀವಲ್ ಅನ್ನು ವ್ಯಕ್ತಪಡಿಸಬಹುದು. ಇದಲ್ಲದೆ, ವೇಗದ ಪ್ರಶ್ನೆಗಳಿಗೆ ವಿರಳವಾದ ಅಗತ್ಯವಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ಈ ವಿಧಾನಕ್ಕೆ ಪರಿಹರಿಸಬೇಕಾದ ಸಮಸ್ಯೆಗಳು ಸೂಕ್ತವಾದ ಹ್ಯಾಶ್ ಕಾರ್ಯವನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಮತ್ತು ಇನ್ನೂ ರೇಖೀಯ ಸಮೀಕರಣಗಳ ವ್ಯವಸ್ಥೆಯನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ವಿರಳವಾದ ಯಾದೃಚ್ಛಿಕ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ರಿಬ್ಬನ್ ಮರುಪಡೆಯುವಿಕೆಯು ಮರುಪಡೆಯುವಿಕೆಯ ಕ್ಯಾಶ್ ಅನ್ನು ಅಸಮರ್ಥವಾಗಿಸುತ್ತದೆ ಏಕೆಂದರೆ ಅವು ಯಾದೃಚ್ಛಿಕ ಸ್ಥಳೀಯವಲ್ಲದ ಮಾದರಿಯಲ್ಲಿ ಹೆಚ್ಚಿನದನ್ನು ಪ್ರವೇಶಿಸುತ್ತವೆ. ಪ್ರತಿಯೊಂದಕ್ಕೂ ಅನುಕ್ರಮವಾಗಿ ಅಗಲದ "ರಿಬ್ಬನ್" ಅನ್ನು ನೀಡುವ ಮೂಲಕ ರಿಬ್ಬನ್ ಮರುಪಡೆಯುವಿಕೆಯು ಸುಧಾರಿಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಬಿಟ್ಗಳನ್ನು ಯಾದೃಚ್ಛಿಕವಾಗಿ ಹೊಂದಿಸಲಾಗುತ್ತದೆ. ಮ್ಯಾಟ್ರಿಕ್ಸ್ನ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನಿರೀಕ್ಷಿತ ಸಮಯದಲ್ಲಿ ಲೆಕ್ಕ ಹಾಕಬಹುದುಃ ಮೊದಲು ಸಾಲುಗಳನ್ನು ಅವುಗಳ ಆರಂಭಿಕ ಸ್ಥಾನದಿಂದ ವಿಂಗಡಿಸುವ ಮೂಲಕ ರಿಬ್ಬನ್ ಪರಿಹಾರವು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ. ಎಣಿಸುವ ರೀತಿಯ). ನಂತರ, ಪ್ರಸ್ತುತ ಸಾಲಿನ ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಕೆಳಗಿರುವ ಸಾಲುಗಳ ಮೇಲೆ ಸಾಲು ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಮಾಡುವ ಮೂಲಕ, ಈ ಸಾಲಿನ ಮೊದಲ 1-ನಮೂದಿನ ಕೆಳಗಿನ ಎಲ್ಲಾ ಕಾಲಮ್ಗಳಲ್ಲಿನ ಎಲ್ಲಾ 1-ನಮೂದುಗಳನ್ನು ತೆಗೆದುಹಾಕುವ ಮೂಲಕ REM ಫಾರ್ಮ್ ಅನ್ನು ಪುನರಾವರ್ತಿತವಾಗಿ ನಿರ್ಮಿಸಬಹುದು. ಸಾಲು ಕಾರ್ಯಾಚರಣೆಗಳು ರಿಬ್ಬನ್ನ ಹೊರಗೆ ಯಾವುದೇ ಮೌಲ್ಯಗಳನ್ನು ಉತ್ಪಾದಿಸುವುದಿಲ್ಲ ಮತ್ತು ಅವು ಬಹಳ ಅಗ್ಗವಾಗಿರುತ್ತವೆ ಏಕೆಂದರೆ ಅವುಗಳಿಗೆ RAMನಲ್ಲಿ ಸಮಯಕ್ಕೆ ಸರಿಯಾಗಿ ಮಾಡಬಹುದಾದ ಬಿಟ್ಗಳ XOR ಮಾತ್ರ ಬೇಕಾಗುತ್ತದೆ. ನಿರೀಕ್ಷಿತ ಪ್ರಮಾಣದ ಸಾಲು ಕಾರ್ಯಾಚರಣೆಗಳು ಎಂದು ತೋರಿಸಬಹುದು. ಅಂತಿಮವಾಗಿ, ಪರಿಹಾರವನ್ನು ಬ್ಯಾಕ್ ಸಬ್ಸ್ಟಿಟ್ಯೂಷನ್ ಮೂಲಕ ಪಡೆಯಲಾಗುತ್ತದೆ. ಅಪ್ಲಿಕೇಶನ್ಗಳು ಅಂದಾಜು ಸದಸ್ಯತ್ವ ಅಂದಾಜು ಸದಸ್ಯತ್ವ ದತ್ತಾಂಶ ರಚನೆಯನ್ನು ನಿರ್ಮಿಸಲು ಬೆರಳಚ್ಚು ಕಾರ್ಯವನ್ನು ಬಳಸುತ್ತವೆ. ನಂತರ ನಮ್ಮ ಕೀಲಿಗಳ ಡೊಮೇನ್ಗೆ ಸೀಮಿತವಾದ ಸ್ಥಿರ ಕಾರ್ಯವನ್ನು ನಿರ್ಮಿಸಿ. ಒಂದು ಅಂಶದ ಸದಸ್ಯತ್ವವನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಹಿಂತಿರುಗಿಸಿದ ಮೌಲ್ಯವು ಸಮನಾಗಿದ್ದರೆ ನಿಜವೆಂದು ಹಿಂದಿರುಗಿಸುವ ಮೂಲಕ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ. ಇದ್ದರೆ, ಸರಿಯಾದ ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಮತ್ತು ನಾವು ಸರಿ ಎಂದು ಹಿಂದಿರುಗುತ್ತೇವೆ. ಇಲ್ಲದಿದ್ದರೆ, ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಮತ್ತು ನಾವು ತಪ್ಪು ಉತ್ತರವನ್ನು ನೀಡಬಹುದು. ಹ್ಯಾಶ್ನ ಉದ್ದವು ತಪ್ಪು ಧನಾತ್ಮಕ ದರವನ್ನು ನಿಯಂತ್ರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಈ ದತ್ತಾಂಶ ರಚನೆಯ ಕಾರ್ಯಕ್ಷಮತೆಯು ನಿಖರವಾಗಿ ಆಧಾರವಾಗಿರುವ ಸ್ಥಿರ ಕಾರ್ಯದ ಕಾರ್ಯಕ್ಷಮತೆಯಾಗಿದೆ. ಪರಿಪೂರ್ಣ ಹ್ಯಾಶ್ ಕಾರ್ಯಗಳು ಒಂದು ಪರಿಪೂರ್ಣ ಹ್ಯಾಶ್ ಕಾರ್ಯವನ್ನು ನಿರ್ಮಿಸಲು ಮರುಪಡೆಯುವ ದತ್ತಾಂಶ ರಚನೆಯನ್ನು ಬಳಸಬಹುದುಃ ಮೊದಲು ಹ್ಯಾಶ್ ಕಾರ್ಯಗಳು ಮತ್ತು ಗಾತ್ರ 1 ರ ಬಕೆಟ್ಗಳೊಂದಿಗೆ ಕೋಗಿಲೆ ಹ್ಯಾಶ್ ಟೇಬಲ್ಗೆ ಕೀಲಿಗಳನ್ನು ಸೇರಿಸಿ. ನಂತರ, ಪ್ರತಿ ಕೀ ಸ್ಟೋರ್ಗೆ ಹ್ಯಾಶ್ ಕಾರ್ಯದ ಸೂಚ್ಯಂಕವು-ಬಿಟ್ ರಿಟ್ರೀವಲ್ ಡೇಟಾ ರಚನೆಯಲ್ಲಿ ಹ್ಯಾಶ್ ಟೇಬಲ್ಗೆ ಕೀಲಿಯನ್ನು ಸೇರಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ. ಪರಿಪೂರ್ಣ ಹ್ಯಾಶ್ ಕಾರ್ಯವನ್ನು ನೀಡಲಾಗಿದೆ. ಉಲ್ಲೇಖಗಳು ಅಮೂರ್ತ ದತ್ತಾಂಶ ಪ್ರಕಾರಗಳು ಅಸೋಸಿಯೇಟಿವ್ ಸರಣಿಗಳು