Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I'd really, really, suggest stay with MySQL (or a RDBMS) until you fully understand the situation.</p> <p>I have no idea how much performance or much data you plan on using, but 30M rows is not very many. </p> <p>If you need to optimise certain range scans, you can do this with (for example) InnoDB by choosing a (implicitly clustered) primary key judiciously, and/or denormalising where necessary.</p> <p>But like most things, make it work first, then fix performance problems you detect in your performance test lab on production-grade hardware.</p> <hr> <p>EDIT:Some other points:</p> <ul> <li>key/value database such as Cassandra, Voldermort etc, do not generally support secondary indexes</li> <li>Therefore, you cannot do a CREATE INDEX</li> <li>Most of them also don't do range scans (even on the main index) because they're using hashing to implement partitioning (which they mostly do).</li> <li>Therefore they also don't do range expiry (DELETE FROM tbl WHERE ts &lt; NOW() - INTERVAL 30 DAYS)</li> <li>Your application must do ALL of this itself or manage without it; secondary indexes are really the killer</li> <li>ALTER TABLE ... ADD INDEX takes quite a long time in e.g. MySQL with a large table, but at least you don't have to write much code to do it. In a "nosql" database, it will also take a long time BUT also you have to write heaps and heaps of code to maintain the new secondary index, expire it correctly, AND modify your queries to use it.</li> </ul> <p>In short... you can't use a key/value database as a shortcut to avoid ALTER TABLE.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload