पर cs.stackexchange मैं के बारे में पूछा algebird GitHub पर स्केला पुस्तकालय, क्यों वे एक सार बीजगणित पैकेज की आवश्यकता हो सकती पर अटकलें।
जीथब पृष्ठ में कुछ सुराग हैं:
दिलचस्प सन्निकटन एल्गोरिदम, जैसे ब्लूम फ़िल्टर, हाइपरलॉगलॉग और काउंटमाइनकेट के लिए मोनॉयड का कार्यान्वयन। ये आपको इन परिष्कृत परिचालनों के बारे में सोचने की अनुमति देते हैं, जैसे कि आप संख्याएँ कर सकते हैं, और उन्हें शक्तिशाली आँकड़ों और विश्लेषणों के निर्माण के लिए हडूप या ऑनलाइन में जोड़ सकते हैं।
और GitHub पृष्ठ के दूसरे भाग में:
यह मूल रूप से स्कैलडिंग के मैट्रिक्स एपीआई के हिस्से के रूप में विकसित किया गया था, जहां मैट्रिसेस में मान थे जो मोनॉयड, समूह या रिंग्स के तत्व हैं। इसके बाद, यह स्पष्ट था कि कोड में ट्विटर के भीतर स्केलिंग और अन्य परियोजनाओं पर व्यापक आवेदन था।
यहां तक कि ट्विटर के ऑस्कर बॉयकिन ने भी इसमें हिस्सा लिया:
मुख्य उत्तर यह है कि अर्ध-समूह संरचना का शोषण करके, हम उन प्रणालियों का निर्माण कर सकते हैं जो अंतर्निहित ऑपरेशन को जानने के बिना सही ढंग से समानांतर करते हैं (उपयोगकर्ता आशाजनक साहचर्य है)।
मोनॉयड्स का उपयोग करके, हम स्पार्सिटी का लाभ उठा सकते हैं (हम बहुत सारे विरल मैट्रिस से निपटते हैं, जहां लगभग सभी मूल्य कुछ मोनॉयड में शून्य हैं)।
रिंग्स का उपयोग करके, हम संख्याओं के अलावा अन्य चीजों पर मैट्रिक्स गुणा कर सकते हैं (जो हमने इस अवसर पर किया है)।
स्वयं एल्जेबर्ड प्रोजेक्ट (साथ ही साथ मुद्दा इतिहास) बहुत स्पष्ट रूप से बताता है कि यहां क्या चल रहा है: हम बड़े डेटा सेटों के एकत्रीकरण के लिए बहुत सारे एल्गोरिदम का निर्माण कर रहे हैं, और संचालन की संरचना का लाभ उठाते हुए हमें सिस्टम साइड पर एक जीत देता है। (जो आमतौर पर नोड्स के अधिक पर एल्गोरिदम का उत्पादन करने की कोशिश करते समय दर्द बिंदु होता है)।
किसी भी सेमिग्रुप / मोनॉयड / ग्रुप / रिंग के लिए एक बार सिस्टम की समस्याओं को हल करें, और फिर आप किसी भी एल्गोरिथ्म में प्लग कर सकते हैं बिना मेमेचे, होडोप, स्टॉर्म, आदि के बारे में सोचने के लिए ...
नंबर कैसे Bloom filters
/ hyperloglog
/ countminsketch
हैं?
यह कैसे है कि डेटाबेस एकत्रीकरण में एक मोनोइडल संरचना है?
यह मोनॉयड कैसा दिखता है? क्या उनके पास कभी समूह संरचना है?
साहित्य के संदर्भ सहायक होंगे।