Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The answer here will depend on scope.</p> <p>MongoDB is great way to get the data "in" and it's really fast at querying individual pieces. It's also nice as it is built to scale horizontally.</p> <p>However, what you'll have to remember is that all of your significant "queries" are actually going to result from "batch job output".</p> <p>As an example, Gilt Groupe has created a system called <a href="http://mnutt.github.com/hummingbird/" rel="nofollow noreferrer">Hummingbird</a> that they use for real-time analytics on their web site. Presentation <a href="http://www.slideshare.net/mongosf/real-time-ecommerce-analytics-with-mongodb-at-gilt-groupe-michael-bryzek-micahel-nutt" rel="nofollow noreferrer">here</a>. They're basically dynamically rendering pages based on collected performance data in tight intervals (15 minutes). </p> <p>In their case, they have a simple cycle: post data to mongo -> run map-reduce -> push data to webs for real-time optimization -> rinse / repeat.</p> <p>This is honestly pretty close to what you probably want to do. However, there are some limitations here:</p> <ol> <li>Map-reduce is new to many people. If you're familiar with SQL, you'll have to accept the learning curve of Map-reduce.</li> <li>If you're pumping in lots of data, your map-reduces are going to be slower on those boxes. You'll probably want to look at slaving / replica pairs if response times are a big deal.</li> </ol> <p>On the other hand, you'll run into different variants of these problems with SQL.</p> <p>Of course there are some benefits here:</p> <ol> <li>Horizontal scalability. If you have lots of boxes then you can shard them and get somewhat linear performance increases on Map/Reduce jobs (that's how they work). Building such a "cluster" with SQL databases is lot more costly and expensive.</li> <li>Really fast speed and as with point #1, you get the ability to add RAM horizontally to keep up the speed.</li> </ol> <p>As mentioned by others though, you're going to lose access to ETL and other common analysis tools. You'll definitely be on the hook to write a lot of your own analysis tools.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

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