title: Local SQLite vs Remote MongoDB
body: <p>I'm designing a new web project and, after studying some options aiming scalability, I came up with two database solutions:</p>
  
  <ul>
  <li>Local SQLite files carefully designed for a scalable fashion (one new database file for each X users, as writes will depend on user content, with no cross-user data dependence);</li>
  <li>Remote MongoDB server (like <a href="https://mongolab.com/" rel="noreferrer">Mongolab</a>), as my host server doesn't serve MongoDB.</li>
  </ul>
  
  <p>I don't trust MySQL server at current shared host, as it cames down very frequently (and I had problems with MySQL on another host, too). For the same reason I'm not goint to use postgres.</p>
  
  <p>Pros of SQLite:</p>
  
  <ul>
  <li>It's local, so it must be faster (I'll take care of using index and transactions properly);</li>
  <li>I don't need to worry about tcp sniffing, as Mongo wire protocol <a href="http://www.mongodb.org/display/DOCS/Security+and+Authentication#SecurityandAuthentication-FAQ" rel="noreferrer">is not crypted</a>;</li>
  <li>I don't need to worry about server outage, as SQLite is serverless.</li>
  </ul>
  
  <p>Pros of MongoDB:</p>
  
  <ul>
  <li>It's more easily scalable;</li>
  <li>I don't need to worry on splitting databases, as scalability seems natural;</li>
  <li>I don't need to worry about schema changes, as Mongo is schemaless and <a href="http://www.sqlite.org/lang_altertable.html" rel="noreferrer">SQLite doesn't fully support alter table</a> (specially considering changing many production files, etc.).</li>
  </ul>
  
  <p>I want help to make a decision (and maybe consider a third option). Which one is better when write and read operations is growing?</p>
  
  <p>I'm going to use Ruby.</p>