...
Multi-Partition Architecture
Advantages:
- Scalability (=performance). in case of high utilization of a cluster, any partition can be moved to a different cluster.
- Generally better performance for PX tables since DB index is build for partitionId which is in this scenario is identical to business unit iD.
- Faster and less expensive individual country implementations due to much lower complexity and no regression considerations.
- Lower complexity of price logic and maintenance of customer/product master data/price parameters.
- Allows differences in price logics for price-setting and quoting, easier to configure/maintain different price logics (however the best is to have them the same).
- No adjustments at other partitions for other countries/regions (regression).
- Fewer pricing parameters per each country iteration, easier for users to understand and maintain.
- Higher differentiation in country-specific setup and configuration(s).
- More differentiated logics and processes (if required) without global considerations.
- Separate release schedules corresponding more to local business time.
- Partition specific settings (time zone, the home page, convert a quote to deal, …).
- Easier to maintain different templates (for Price Lists, Quotes) – one template per partition may be sufficient.
- Independence between countries if material number / SKU is not unique for different countries / BU etc.
- Allows differences in data (= table) structures. However it is recommended to keep them the same or create separate tables.
- No interference between different units.
- Less complexity and easier maintenance of data entitlement and user administration.
- Typically, a better performance due to simpler logic(s), less data, less complex interfaces per partition.
- Increased security for access to data across partitions (compared to just within one).
- Decreased IT dependency to harmonize data and processes.
- Physically separate businesses (different BU, way of doing business).
- When the customer does not have the standardized global pricing process or capacity to establish it in such a short time that our projects usually take.
- Scalability: in case of high utilization of a cluster, the partition(s) can be moved to a different cluster.
Disadvantages:
- Users log in using URLs specific for each partition. To see the data of a different business unit, an additional login is required.
- Data entitlement is difficult or too complex.
...
- You need only a country-specific set of PP, PX, etc. Common PX tables can be stored in one the global partition.
- The calculation logic is country-specific only -> performance can be better.
- A rollout does not affect other countries in any way.
- Higher software subscription costs. Enterprise customers usually have an enterprise license anyway, so this may not be an issue.
- In case of global product and customer data, it will get multiplied; the integration will have to send the data to each partition.
- In case of different logics, much higher cost of future implementations of every new global feature. E.g. for 5 partitions = up to 5 times higher implementation cost of a new global feature (each partition has to be modified and tested individually). The same is valid for global feature bugs.
- A global partition may be required to support global analytics or business processes.
- A user is maintained at the partition level, global users will have to log in to multiple partitions to perform assigned tasks or approve country-specific price lists, quotes, etc.
...