Database Reference
In-Depth Information
Chapter 5. Ecommerce
In this chapter, we'll look at how MongoDB fits into the world of retail, particularly in two
main areas: maintaining product catalog data and inventory management. Our first use case,
Product Catalog , deals with the storage of product catalog data.
Our next use case, Category Hierarchy , examines the problem of maintaining a category hier-
archy of product items in MongoDB.
The final use case in this chapter, Inventory Management , explores the use of MongoDB in an
area a bit outside its traditional domain: managing inventory and checkout in an ecommerce
system.
Product Catalog
In order to manage an ecommerce system, the first thing you need is a product catalog.
Product catalogs must have the capacity to store many different types of objects with different
sets of attributes. These kinds of data collections work quite well with MongoDB's flexible
data model, making MongoDB a natural fit for this type of data.
Solution Overview
Before delving into the MongoDB solution, we'll examine the ways in which relational data
models address the problem of storing products of various types. There have actually been
several different approaches that address this problem, each with a different performance pro-
file. This section examines some of the relational approaches and then describes the preferred
MongoDB solution.
Concrete-table inheritance
One approach in a relational model is to create a table for each product category. Consider the
following example SQL statement for creating database tables:
Search WWH ::




Custom Search