Skip to content

Commit

Permalink
DOCS-169 renaming documentation to match evolved convention
Browse files Browse the repository at this point in the history
  • Loading branch information
Sam Kleinman committed May 7, 2012
1 parent 49b9d18 commit 4eb5095
Show file tree
Hide file tree
Showing 17 changed files with 73 additions and 76 deletions.
71 changes: 34 additions & 37 deletions aspiration/use-cases.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,72 +11,69 @@ design*) for MongoDB with special attention to pragmatic
considerations including indexing, performance, sharding, and
scaling. Each document is distinct and can stand alone; however,

The *real time analytics* case studies describe applications that
The *operational intelligence* case studies describe applications that
collect machine generated data from logging systems, application
output, and other systems. The *E-commerce* case studies address
aspects of applications required for building product catalogs, and
managing inventory in e-commerce systems. The *content management*
case studies introduce basic patterns and techniques for building
content management systems using MongoDB.
output, and other systems. The *product data management* case studies
address aspects of applications required for building product
catalogs, and managing inventory in e-commerce systems. The *content
management* case studies introduce basic patterns and techniques for
building content management systems using MongoDB.

.. _`example use cases`: http://www.10gen.com/use-cases

Real Time Analytics
-------------------
Operational Intelligence
------------------------

As an introduction to the use of MongoDB for real-time analytics
storage and use,
":doc:`/use-cases/real-time-analytics-storing-log-data`" document
describes several ways and approaches to modeling and storing machine
generated data with MongoDB. Then,
":doc:`/use-cases/real-time-analytics-pre-aggregated-reports`"
describes methods and strategies for processing data to generate
aggregated reports from raw event-data. Finally
":doc:`/use-cases/real-time-analytics-hierarchical-aggregation`"
As an introduction to the use of MongoDB for operational intelligence
and real time analytics use, ":doc:`/use-cases/storing-log-data`"
document describes several ways and approaches to modeling and storing
machine generated data with MongoDB. Then,
":doc:`/use-cases/pre-aggregated-reports`" describes methods and
strategies for processing data to generate aggregated reports from raw
event-data. Finally ":doc:`/use-cases/hierarchical-aggregation`"
presents a method for using MongoDB to process and store hierarchical
reports (i.e. per-minute, per-hour, and per-day) from raw event data.

.. toctree::
:maxdepth: 2

use-cases/real-time-analytics-storing-log-data
use-cases/real-time-analytics-pre-aggregated-reports
use-cases/real-time-analytics-hierarchical-aggregation
use-cases/storing-log-data
use-cases/pre-aggregated-reports
use-cases/hierarchical-aggregation

E-Commerce
----------
Product Data Management
-----------------------

MongoDB's flexible schema makes it particularly well suited to storing
information for e-commerce websites and solutions. The
":doc:`/use-cases/ecommerce-product-catalog`" document describes
information for product data management and e-commerce websites and
solutions. The ":doc:`/use-cases/product-catalog`" document describes
methods and practices for modeling and managing a product catalog
using MongoDB, while the
":doc:`use-cases/ecommerce-inventory-management`" document introduces
a pattern for handling interactions between inventory and users'
shopping carts. Finally the
":doc:`/use-cases/ecommerce-category-hierarchy`" document describes
methods for interacting with category hierarchies in MongoDB.
using MongoDB, while the ":doc:`use-cases/inventory-management`"
document introduces a pattern for handling interactions between
inventory and users' shopping carts. Finally the
":doc:`/use-cases/category-hierarchy`" document describes methods for
interacting with category hierarchies in MongoDB.

.. toctree::
:maxdepth: 2

use-cases/ecommerce-product-catalog
use-cases/ecommerce-inventory-management
use-cases/ecommerce-category-hierarchy
use-cases/product-catalog
use-cases/inventory-management
use-cases/category-hierarchy

Content Management Systems
--------------------------

The content management use cases introduce fundamental MongoDB
practices and approaches, using familiar problems and simple
examples. The ":doc:`/use-cases/cms-metadata-and-asset-management`"
examples. The ":doc:`/use-cases/metadata-and-asset-management`"
document introduces a model that you may use when designing a web site
content management system, while ":doc:`/use-cases/cms-storing-comments`"
content management system, while ":doc:`/use-cases/storing-comments`"
introduces the method for modeling user comments on content, like blog
posts, and media, in MongoDB.

.. toctree::
:maxdepth: 2

use-cases/cms-metadata-and-asset-management
use-cases/cms-storing-comments
use-cases/metadata-and-asset-management
use-cases/storing-comments
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
==============================
E-Commerce: Category Hierarchy
==============================
==================
Category Hierarchy
==================

.. default-domain:: mongodb

Expand All @@ -12,7 +12,7 @@ hierarchy stored in MongoDB as well as a collection of common
operations for interacting with this data that will help you begin to
write an E-commerce product category hierarchy.

.. seealso:: ":doc:`/applications/use-cases/ecommerce-product-catalog`"
.. seealso:: ":doc:`/applications/use-cases/product-catalog`"

Solution
~~~~~~~~
Expand All @@ -22,7 +22,7 @@ category in its own document that also has a list of its ancestors or
"parents." This document uses music genres as the basis of its
examples:

.. figure:: img/ecommerce-category1.png
.. figure:: img/category1.png
:align: center
:alt: Initial category hierarchy

Expand Down Expand Up @@ -108,7 +108,7 @@ Add a Category to the Hierarchy
To add a category you must first determine its ancestors. Take adding
a new category "Swing" as a child of "Ragtime", as below:

.. figure:: img/ecommerce-category2.png
.. figure:: img/category2.png
:align: center
:alt: Adding a category

Expand Down Expand Up @@ -152,7 +152,7 @@ Change the Ancestry of a Category
This section address the process for reorganizing the hierarchy by
moving "bop" under "swing" as follows:

.. figure:: img/ecommerce-category3.png
.. figure:: img/category3.png
:align: center
:alt: Change the parent of a category

Expand Down Expand Up @@ -217,7 +217,7 @@ To a rename a category you need to both update the category itself and
also update all the descendants. Consider renaming "Bop" to
"BeBop" as in the following figure:

.. figure:: img/ecommerce-category4.png
.. figure:: img/category4.png
:align: center
:alt: Rename a category

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
=============================================
Real Time Analytics: Hierarchical Aggregation
=============================================
========================
Hierarchical Aggregation
========================

.. default-domain:: mongodb

Expand All @@ -11,15 +11,15 @@ Background
~~~~~~~~~~

If you collect a large amount of data, but do not :doc:`pre-aggregate
<real-time-analytics-pre-aggregated-reports>`, and you want to have
<pre-aggregated-reports>`, and you want to have
access to aggregated information and reports, then you need a method
to aggregate these data into a usable form. This document provides an
overview of these aggregation patterns and processes.

For clarity, this case study assumes that the incoming event data
resides in a collection named ``events``. For details on how you might
get the event data into the events collection, please see
":doc:`real-time-analytics-storing-log-data`" document. This document
":doc:`storing-log-data`" document. This document
continues using this example.

Solution
Expand All @@ -37,7 +37,7 @@ weekly, monthly, and yearly statistics. All aggregations use the
hierarchical process. The following figure illustrates the input and
output of each job:

.. figure:: img/rta-hierarchy1.png
.. figure:: img/hierarchy1.png
:align: center
:alt: Hierarchy

Expand Down
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
================================
E-Commerce: Inventory Management
================================
====================
Inventory Management
====================

.. default-domain:: mongodb

Expand All @@ -11,7 +11,7 @@ This case study provides an overview of practices and patterns for
designing and developing the inventory management portions of an
E-commerce application.

.. seealso:: ":doc:`/applications/use-cases/ecommerce-product-catalog`."
.. seealso:: ":doc:`/applications/use-cases/product-catalog`."

Problem
~~~~~~~
Expand All @@ -33,7 +33,7 @@ for a certain period of time, all items in the cart re-enter the
available inventory and the cart is empty. The state transition
diagram for a shopping cart is below:

.. figure:: img/ecommerce-inventory1.png
.. figure:: img/inventory1.png
:align: center
:alt: The state transition diagram for a shopping cart is below.

Expand Down Expand Up @@ -64,7 +64,7 @@ are in a shopping cart that times out. In the following example, the
These examples use a simplified schema. In a production
implementation, you may choose to merge this schema with the
product catalog schema described in the
":doc:`/applications/use-cases/ecommerce-product-catalog`" document.
":doc:`/applications/use-cases/product-catalog`" document.

The SKU above has 16 items in stock, 1 item a cart, and 2 items in a
second cart. This leaves a total of 19 unsold items of merchandise.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
========================================================
Content Management System: Metadata and Asset Management
========================================================
=============================
Metadata and Asset Management
=============================

.. default-domain:: mongodb

Expand Down Expand Up @@ -174,7 +174,7 @@ operation:
Once inserted, your application must have some way of preventing
multiple concurrent updates. The schema uses the special ``nonce``
field to help detect concurrent edits. By using the ``nonce`` field in
the query portion of the :py:meth:`update <pymongo:pymongo.collection.Collection.update>`
the query portion of the :py:meth:`update <pymongo:pymongo.collection.Collection.update>`
operation, the application will generate an error if there is an
editing collision. Consider the following :py:meth:`update <pymongo:pymongo.collection.Collection.update>`

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
===========================================
Real Time Analytics: Pre-Aggregated Reports
===========================================
======================
Pre-Aggregated Reports
======================

.. default-domain:: mongodb

Expand Down Expand Up @@ -177,7 +177,7 @@ Add Intra-Document Hierarchy
writing to the field ``stats.mn.0`` is considerably faster than
writing to ``stats.mn.1439``.

.. figure:: img/rta-preagg1.png
.. figure:: img/preagg1.png
:align: center
:alt: BSON memory layout (unoptimized)

Expand Down Expand Up @@ -222,7 +222,7 @@ This allows MongoDB to "skip forward" throughout the day when updating
the minute data, which makes the update performance more uniform and
faster later in the day.

.. figure:: img/rta-preagg2.png
.. figure:: img/preagg2.png
:align: center
:alt: BSON memory layout (optimized)

Expand All @@ -233,7 +233,7 @@ faster later in the day.
Separate Documents by Granularity Level
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:ref:`Pre-allocating documents <rta-pre-aggregate-documents>` is a
:ref:`Pre-allocating documents <pre-aggregate-documents>` is a
reasonable design for storing intra-day data, but the model breaks
down when displaying data over longer multi-day periods like months or
quarters. In these cases, consider storing daily statistics in a
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
===========================
E-Commerce: Product Catalog
===========================
===============
Product Catalog
===============

.. default-domain:: mongodb

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
===========================================
Content Management System: Storing Comments
===========================================
================
Storing Comments
================

.. default-domain:: mongodb

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
=====================================
Real Time Analytics: Storing Log Data
=====================================
================
Storing Log Data
================

.. default-domain:: mongodb

Expand Down

0 comments on commit 4eb5095

Please sign in to comment.