Unified eCommerce Product Catalog

The Idea

Unified eCommerce Product Catalog is an eCommerce system based on Java. It was originally developed as NoSQL-based eCommerce data model repository for processing large amount of eCommerce-specific data: product, category, price, and inventory.

Unified eCommerce Product Catalog is organized on the concept of one aggregated product entity connected with multiple supplier/vendor offers (inventory, prices, shipping options) and multiple content providers (product description. attributes, languages and etc)

Additionally it provides a built-in highly-optimized object-oriented Java API for easy and seamless integration with third-party solutions

A high level overview

The main goal of the UCS system is to provide platform for building E-Commerce Catalog-based services with high entity management operations performance (~above hundred millions transactions/operations per second in average)

It is oriented for eCommerce systems usually use search/query/get much frequently than update/modify operations with data stored in their persistence to get more benefit from in-memory storage

Main insights

  • all data is stored in RAM
  • all changes are fleshed into persistence store
  • few predefined set of entities and their relations are supported: Product, Product Content, Product Identity, Product Variation Family, Attribute, Category, Category Tree, Offer, Channel, Owner
  • data persistence can be done by traditional RDBMS or non-RDBMS database (like PostgreSQL or MongoDB)
  • access through object-oriented API
  • transactions only on single operation level

Architecture

UCS-Architecture