Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <blockquote> <p>to tell if MongoDB is good for holding such data, which eventually will be queried against time ranges (e.g. retrieve all images of a particular camera between a specified hour)? Any suggestions about Document Based schema design for my case?</p> </blockquote> <p>MongoDB can do this. For better performance, you can set an index on your time field.</p> <blockquote> <p>What should be the specs of server (CPU, RAM, Disk)? any suggestion?</p> </blockquote> <p>I think RAM and Disk would be important.</p> <ul> <li>If you don't want to do <code>sharding</code> to <code>scale out</code>, you should consider a larger size of disk so you can store all your data in it.</li> <li>Your hot data should can fit into your RAM. If not, then you should consider a larger RAM because the performance of MongoDB mainly depends on RAM.</li> </ul> <blockquote> <p>Should i consider Sharding/Replication for this scenario (while considering the performance in writing to synch replica sets)?</p> </blockquote> <p>I don't know many cameras do you have, even 1000 inserts/second with total 1000 cameras should still be easy to MongoDB. If you are concerning insert performance, I don't think you need to do sharding(Except the data size are too big that you have to separate them into several machines).</p> <p>Another problem is the read frequency of your application. It it is very high, then you can consider sharding or replication here. And you can use (timestamp + camera_id) as your sharding key if your query only on one camera in a time range.</p> <blockquote> <p>Are there any benefits of using multiple databases on same machine, so that one database will hold images of current day for all cameras, and the second one will be used to archive previous day images?</p> </blockquote> <p>You can separate the table into two collections(<code>archive</code> and <code>current</code>). And set index only on <code>archive</code> if you only query date on <code>archive</code>. Without the overhead of index creation, the <code>current</code> collection should benefit with insert.</p> <p>And you can write a daily program to dump the <code>current</code> data into <code>archive</code>.</p>
    singulars
    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. This table or related slice is empty.
    1. 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