count min sketch












1














I don't understand the use case of count min sketch.
Based on https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch .
It says " serves as a frequency table of events in a stream of data. ".



If I know there are N types of events, why can't I just allocate an array of N slots or a hashmap to keep track of the event frequencies as the stream is ingested?



Am I right to say the use case is when N is unknown or N is so large that it is not possible to keep the entire frequency array/hashmap in memory?










share|cite







New contributor




Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    1














    I don't understand the use case of count min sketch.
    Based on https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch .
    It says " serves as a frequency table of events in a stream of data. ".



    If I know there are N types of events, why can't I just allocate an array of N slots or a hashmap to keep track of the event frequencies as the stream is ingested?



    Am I right to say the use case is when N is unknown or N is so large that it is not possible to keep the entire frequency array/hashmap in memory?










    share|cite







    New contributor




    Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      1












      1








      1







      I don't understand the use case of count min sketch.
      Based on https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch .
      It says " serves as a frequency table of events in a stream of data. ".



      If I know there are N types of events, why can't I just allocate an array of N slots or a hashmap to keep track of the event frequencies as the stream is ingested?



      Am I right to say the use case is when N is unknown or N is so large that it is not possible to keep the entire frequency array/hashmap in memory?










      share|cite







      New contributor




      Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      I don't understand the use case of count min sketch.
      Based on https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch .
      It says " serves as a frequency table of events in a stream of data. ".



      If I know there are N types of events, why can't I just allocate an array of N slots or a hashmap to keep track of the event frequencies as the stream is ingested?



      Am I right to say the use case is when N is unknown or N is so large that it is not possible to keep the entire frequency array/hashmap in memory?







      algorithms counting






      share|cite







      New contributor




      Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|cite







      New contributor




      Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|cite




      share|cite






      New contributor




      Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 4 hours ago









      Mave

      1061




      1061




      New contributor




      Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Mave is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          2 Answers
          2






          active

          oldest

          votes


















          1














          Yes, the use case is $N$ so large that the entire table would not fit in the main memory. For example, imagine that every event is tied to an IPv6 address. IPv6 uses 128 bits for each address, so you would in principle need an array with $2^{128}$ elements.






          share|cite|improve this answer





























            1














            Sketches are data structures used in streaming algorithms. The idea is that while the stream is very long, the hardware processing it has limited memory. We want to be able to retain statistical information about the data without storing it completely.



            You can find more information about sketching here.






            share|cite|improve this answer





















              Your Answer





              StackExchange.ifUsing("editor", function () {
              return StackExchange.using("mathjaxEditing", function () {
              StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
              StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
              });
              });
              }, "mathjax-editing");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "419"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });






              Mave is a new contributor. Be nice, and check out our Code of Conduct.










              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f102147%2fcount-min-sketch%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              1














              Yes, the use case is $N$ so large that the entire table would not fit in the main memory. For example, imagine that every event is tied to an IPv6 address. IPv6 uses 128 bits for each address, so you would in principle need an array with $2^{128}$ elements.






              share|cite|improve this answer


























                1














                Yes, the use case is $N$ so large that the entire table would not fit in the main memory. For example, imagine that every event is tied to an IPv6 address. IPv6 uses 128 bits for each address, so you would in principle need an array with $2^{128}$ elements.






                share|cite|improve this answer
























                  1












                  1








                  1






                  Yes, the use case is $N$ so large that the entire table would not fit in the main memory. For example, imagine that every event is tied to an IPv6 address. IPv6 uses 128 bits for each address, so you would in principle need an array with $2^{128}$ elements.






                  share|cite|improve this answer












                  Yes, the use case is $N$ so large that the entire table would not fit in the main memory. For example, imagine that every event is tied to an IPv6 address. IPv6 uses 128 bits for each address, so you would in principle need an array with $2^{128}$ elements.







                  share|cite|improve this answer












                  share|cite|improve this answer



                  share|cite|improve this answer










                  answered 2 hours ago









                  Vincenzo

                  1,3981311




                  1,3981311























                      1














                      Sketches are data structures used in streaming algorithms. The idea is that while the stream is very long, the hardware processing it has limited memory. We want to be able to retain statistical information about the data without storing it completely.



                      You can find more information about sketching here.






                      share|cite|improve this answer


























                        1














                        Sketches are data structures used in streaming algorithms. The idea is that while the stream is very long, the hardware processing it has limited memory. We want to be able to retain statistical information about the data without storing it completely.



                        You can find more information about sketching here.






                        share|cite|improve this answer
























                          1












                          1








                          1






                          Sketches are data structures used in streaming algorithms. The idea is that while the stream is very long, the hardware processing it has limited memory. We want to be able to retain statistical information about the data without storing it completely.



                          You can find more information about sketching here.






                          share|cite|improve this answer












                          Sketches are data structures used in streaming algorithms. The idea is that while the stream is very long, the hardware processing it has limited memory. We want to be able to retain statistical information about the data without storing it completely.



                          You can find more information about sketching here.







                          share|cite|improve this answer












                          share|cite|improve this answer



                          share|cite|improve this answer










                          answered 2 hours ago









                          Yuval Filmus

                          189k12177340




                          189k12177340






















                              Mave is a new contributor. Be nice, and check out our Code of Conduct.










                              draft saved

                              draft discarded


















                              Mave is a new contributor. Be nice, and check out our Code of Conduct.













                              Mave is a new contributor. Be nice, and check out our Code of Conduct.












                              Mave is a new contributor. Be nice, and check out our Code of Conduct.
















                              Thanks for contributing an answer to Computer Science Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              Use MathJax to format equations. MathJax reference.


                              To learn more, see our tips on writing great answers.





                              Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                              Please pay close attention to the following guidance:


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f102147%2fcount-min-sketch%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Morgemoulin

                              Scott Moir

                              Souastre