title: Database choose for fast update
body: <p>Let's we have a lot of such classes(millions)</p>
  
  <pre><code>class WordInfo
  {
       string Value;
       string SomeOtherFeatures;
       List&lt;Point&gt; Points;
  }
  </code></pre>
  
  <p>And following code</p>
  
  <pre><code> private Dictionary&lt;string, WordInfo&gt; _dict;
  
     public void ProcessData(IEnumerable&lt;Tuple&lt;string,int,int&gt; words)
     {
          foreach(var word in words)
          {
               if(_dict.ContainsKey(word.Item1))
               {
                   _dict[word.Item1].Points.Add(new Point(word.Item2,word.Item3));
               }
               else
               {
                   _dict.Add(word.Item1, new WordInfo(....))
               }
          } 
     }
  
  
     Main()
     {
         while(true)
         {
             IEnumerable&lt;Tuple&lt;string,int,int&gt; data = GetDataSomewhere();
             ProcessData(data); 
         }
     }
  </code></pre>
  
  <p>As you can see this code must work 24\7. The main problem is that i donnt know how to represent _dict (place where i store information) in database. I need to process 1000-5000 words per second. Relational db is not good for my task, right? What about NoSQL? I need fast UPDATE and INSERT operations. Also i need fast check is word exists(SELECT) in db. Because of i have millions records it's also not trivial. What do you can suggest? May be write my custom solution based on files? </p>