Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

3396

May 14th, 2009 14:00

Performance: Object Id vs Namespace

Hello,

I have a question on using the namespace interface when manipulating objects: is there any difference, performance wise, in accessing, enumerating or reading out data via the namespace interface as opposed to using the Object Id of the object?

For example, if I've created several thousand objects (all via the namespace interface) in a complicated directory structure that is deep as well as broad, is it any faster to access these objects via their Object Id's rather than their namespace names?

Since we get the Object Id even when creating via the namespace interface, we (the client app) should be able to store this Id and use this for querying/reading if it is faster. However, if it makes no difference, then the client app need not store the Object Id and just use the namespace interface.

thanks,

Navneeth

16 Posts

June 8th, 2009 13:00

Navneeth,

Namespace access will not provide the same level of performance as when accessing an object using its Object ID. The underlying access method for Atmos is to use an object's Object ID. Namespace "names" are mapped to the Object ID and will therefore require a translation from "name" to Object ID. If your application is performance focused you may want to evaluate/test the tradeoff between using your own translation tables (name to Object ID) versus having Atmos do it for you.

Regards,

Dave 

29 Posts

June 8th, 2009 14:00

Thanks, David; this was expected.

Could you provide any more information about the difference in speed? There will be a difference in speeds in absolute terms, of course, but is it noticeable? We'll do our tests but can you provide us some insight on what kind of indexing is used, what size indexes are optimal, what is the maximum impact we ould see: these pieces should be available, from the theoretical aspect at least?

Further, it should depend on the number and depth/width of the directory structure created, yes? Any numbers on these?

Will one tenant's namespace creation affect another's performance? Or are the indexes separate?

Do subtenants (under one tenant) share the same namespace? Will they affect each other?

thanks much,

Navneeth

16 Posts

June 23rd, 2009 12:00

Navneeth,

The lookup overhead associated with namespace to objectspace translations is on the order of milleseconds and so unless you are manipulating large numbers of very small objects, it probably won't be noticeable. For applications where the object sizes are moderate in size, there will be no noticeable difference between a namespace access and an objectspace access.

Tenants and Subtenants do not share the same namespace, so there is not going to be interactions between Tenants and even between SubTenants under the same Tenant. The only sharing takes place under a SubTenant across UIDs and only if ACLs are set accordingly. There is also no noticeable difference in access time based upon the namespace width or depth.

Regards,

Dave

No Events found!

Top