Here's a simple hierarchy of how my data would be stored.

|---- movie1/
|      |---- shot1/
|      |       |---- shot1_fx/
|      |       |       |---- shot1_fx_v001/
|      |       |                |---- shot1_fx_v001.mov
|      |       |                |---- shot1_fx_v001.project
|      |       |---- shot1_anim/
|      |       |       |---- shot1_anim_v023/
|      |       |                |---- shot1_anim_v023.mov
|      |       |                |---- shot1_anim_v023.scene

Now I need to plan out the database

What I have in mind:

  • Each movie/project gets its own database.
  • In that database will be 4 collections. To relate it to the tree above:

Collection 1: Shots (eg: shot1/)

Collection 2: Working Types (eg: shot1_anim/)

Collection 3: Working Versions (eg: shot1_anim_v023/)

Collection 4: Working Sources (eg: shot_anim_v023.mov)

I see some potential problems with this setup. One is that, since each project is a separate database I have no way to know what all the active jobs are in my pipeline. There is no database that contains data of all the jobs, only one per job.

So if I decide to instead create a global database that holds everything, then would every project be a collection? And everything else (Collections 2-4) would just be merged into one, and I would have to specify their types as metadata?

I'm kind of stuck on this and wan't to make the best choice before I make the tools and scripts depend on a certain structure.

  • 3
    You almost certainly don't want separate databases when working on a single system. This holds true for both nosql and relational databases. – Colin 't Hart Apr 15 '20 at 7:02
  • Should I make each movie a collection, and have all 4 data types that I listed above as documents in a single collection? Would having 10s of thousands of documents in a single collection affect query performance? – Mohammed Hamid Apr 16 '20 at 2:58
  • Why do you need a database at all when you have such a nice directory structure? What other information do you need to store? – Colin 't Hart Apr 16 '20 at 3:03
  • A lot of metadata in each of these data types, versioning and publishing. And a dependency system. Also users from other locations will be connected to the pipeline. – Mohammed Hamid Apr 16 '20 at 3:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.