How does auto partitioning work?

Hi,

I’m wondering how auto partitioning work and how it is superior to the on-prem partitioning?

The documentation says:

This makes client drivers and client programs easier to write and use, and it eliminates partition control as a user-space concern.

Understood, but would auto partitioning also help to support multi-tenancy?

Best regards,

Max

Hi @Maxweber,

Understood, but would auto partitioning also help to support multi-tenancy

In Datomic Cloud partitioning is automatic and it does help support multi-tenancy. The current partitioning automatically distributes across partitons in a DB. The point here is that you do not need to determine a partitioning strategy when using Cloud and Cloud supports multi-tenancy.

Thanks,
Jaret

Hi @jaret,

thanks a lot for your answer. Good to hear that Datomic Cloud was also optimized for multi-tenancy.

May you tell us more about, how Datomic chooses the partition for an entity? We use an attribute :entity/owner to store a ref to the owner entity. Ideally all entities of an owner should end up in the same partition. At the moment we have performance issues with On-Prem Datomic, since we do not use partitioning yet and the peer needs to fetch too many segments from the cold storage, when a customer returns after several hours of inactivity. A migration to On-Prem partitioning would be very difficult for us, since all entity ids would change.

Best regards,

Max

Hi @jaret,

Following up on Max’s question above, can you please give some more details (or point me in the right direction to some docs) as to how Datomic Cloud determines a partition for an entity?

We’re interested in multi-tenancy but can’t find enough up to date information about how Datomic Cloud does partitioning to enable us to architect our multi-tenant system with Datomic Cloud.

Many thanks,
Adam

@adamharris We don’t currently document Datomic cloud’s partitioning strategy, but maybe we could (I need to talk with dev on that). Can you share with me how you plan to use it to support multi-tenancy?

Thanks!