tileDB's DB structure


#1

When I ran into the example namespace issue my first inclination was to try and figure out a default area the array should be placed in. While shoveling my driveway this morning it dawned on me what I was really looking for is a Database. Something that compares to a RDBMS or DocDBMS Database concept which contains multiple Tables and Collections respectively. In tileDB I would see a Database contain multiple Arrays.

So the thought is one would create a DB and then create arrays under that DB. So on a standard hierarchical file system the DB would be a directory that would contain the arrays’ directory. Now for object stores it would be a little different since things are flatter (I could see multiple designs for such). Aside from uniquely being able to store all arrays under a directory without worrying about name clashes outside of tileDB’s purview one could attach DB configuration info (like versioning and such) common to all arrays in the DB.

This could also be useful when creating general maintenance utilities like backups and such. If one had the notion of a Database that contained multiple arrays one could just say backup db X and not have to go searching all over creation for the individual arrays or rely on the programmer(s) to be sane in how they store the arrays.

Maybe you guys already discussed this but I thought I would throw this out there as an idea for the future.

Terry


#2

Hi Terry,

What you are looking for is the concept of TileDB Groups (please read the whole Object Management section):

https://docs.tiledb.io/en/latest/tutorials/object.html#tiledb-groups

We are planning on beefing up our TileDB object management functionality, in order to add some more DB-like features as well.

I hope this helps.

Cheers,
Stavros


#3

Cool, I’ll take a look at that shortly.

Thanks,

Terry