Продолжаю развивать диванные теории.
Кто думал насчет использования http://neo4j.org/ вместо CouchDB?
На первый взгляд - вещь идеальная для хранения списка товаров, особенно со сложной иерархией, и так как Neo4j - графовая БД, то можно органично причислять товар сразу к нескольким категориям и выставлять любые свойства как связям, так и объектам. Звучит туманно, поэтому пример:
Склады:
Склад в Новомухосранске,
Склад в Верхнеурюпинске.
Категории товара:
Автомобили
Жигули
Лада Калина
Лада Приора
ВАЗ-2110
Мерседес
Запчасти
Шины
Допустим, не все шины подходят для всех машин - поэтому создавая объект "шина резиновая" в БД, можно связать его с такими нужными графами: "Склад в Новомухосранске", "Жигули", "Шины" = "шина, подходящая для любых жигулей хранится на складе в Новомухосранске". Делаем запрос - получаем нужное. Любым объектам и связам можно добавлять метаданные - в т.ч. ТТХ для запчастей, машин, и категорий (которые тоже по сути обычные графы).
У Neo4j есть REST API - а значит, с Эрлангом тоже можно связать, через веб-клиент MochiWeb.
(да, подумываю податься в энтерпрайз :))