Community mailing list archives

Re: Odoo Ecommerce Performance handling!

Akretion, Raphael Valyi
- 10/14/2015 07:43:36
Hello Jay, you may be interested in our Apache Solr connector:

Solr has horizontal scalabilty by nature. Here in Brazil we are working on a website that will be present in all cities, referencing local businesses, real estate offers and used vehicles:

The architecture I designed is:
  1. dozens of Odoo instance (1 per city), that's a kind of anticipated regional sharding to as Odoo doesn't have horizontal scalablty at the db level.
  2. 1 single Solr or SolrCloud cluster. The web front end uses only the Solr data for standard anonymous browsing but n edit mode, it fall back to Ooor/Aktooor direct Odoo data editon (via json API) so there is only one data master (Odoo), Solr is just a cache of it.
  3. every city use a "facet" of the Solr data (like a where if you like) So when an Odoo instance exports its catalog to Solr it specifies its instance and that makes the Solr index a multi db instance.
  4. every city is a franchise. But before a franchise is active, a single national wide Odoo database has all tems.
  5. the front end is done using Ruby on Rails, Project Blacklight (by Stanford and other big US universities) and the Ooor connector by Akretion. This allowed us to use a proven scalable and mature web stack, even on Odoo v7 when we started.
So both the Solr connector and Ooor support this this architecture. So far it works very well. We only have 6 active cities today but will have 3 more in 2 weeks and so one, but that's already 2 millions items in the catalog, not like your Magento sluggish bro'... despite having few cities (2015 was a bad year for me as I lost my wife) .So I can tell you THIS DOES SCALE. Now of course you can still try all in Odoo if you are courageous.

A few things to be noted:
  1. despite solerp is based on the OCA connector, it has nearly none of the traditional relational integrity burden of a traditional structured data connector. Indeed, the solr data is denormalized noSQL, so there is no schema or integrity to enforce on the web cache.
  2. both ooor and solerp/solarize allow to use the standard ActiveRecord/Mongoid Ruby ORM API, that even enable using standard templating languages such as Liquid from Shopify, so CMS using it such as LocomotiveCMS.,.
So that's a stack that would do what you need. It doesn't mean it's the only one. When we started that on Odoo v7 we couldn't afford assuming Odoo will make such a massive web investment and we didn't want to be trapped with complex migrations either as web framework usually migrate smoothly unlike Odoo. So we don't regret our choice either. Odoo isn't the 1st attempt to make a web framework either, attempting has never been a guarantee of success in this field, even Sun or Microsoft themselves failed so...
if there is some serious investment, I'm available at Akretion to work on that.

Finally, we plan to extend the project to integrate some ecommerce for the references businesses. Today it's more of only a product catalog, but tomorrow it will be able to sell the local business products. Using one 1 Odoo per business would be totally prohibitve in term of hostng costs. So we are likely to do the CMS part via LocomotiveCMS (has horizonal scalability at the DB level too) and eventually proxy the Odoo checkout to register somewhat the sale on the per city instance and get the shop owners access it via some Odoo/Rails portal. Later a shop owner could eventually upgrade its offer to a full blown Odoo ERP hosted by Akretion and in that case he could have a dedicated Odoo DB because he would pay for it, that will allow us to get on the whole small business ERP real fast without enterprisey commercial suicide. We would have happily collaborated with Odoo SA on that but so far they remind rigid in their northern countries pricing. Final Note, Zupy is open to extend out of Brazil if there is anybody interested.
Finger crossed.

On Wed, Oct 14, 2015 at 3:07 AM, Jay Vora <> wrote:

Hello Odoo Experts,

Need your guidance!

We are working on a very big Ecommerce portal with a heavy backend of ERP. everything is Odoo!

- Is there a way where we could use the primary database as the core for other databases i.e micro sites?


- Can the Live instance be Parent Database, Micro sites be Child Instances?


- Each micro site would be tailored to a specific product range


- Each micro site would be linked to primary instance via api or some tools


- Each micro site would take stock and pricing structure information from primary database


- Each micro site would be able to process orders but use primary instance to process i.e send data to primary instance to physically process order


- Each micro site would be able to take credit card payments but process through primary database


- Would having multiple micro sites slow down transactional performance of primary instance ?


- Or fundamentally is this what multi company functionality does or would multi company be a better solution?

Thank you.

The Splendid journey of 2 years in Numbers
Jay Vora,
Managing Director,
<img src="" style="color: rgb(136, 136, 136); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">
Serpent Consulting Services Pvt. Ltd.
Web :
Mobile : 91 - 9879354457
Twitter: jaynvora
Skype: jaynvora
Blog :

Post to:

Raphaël Valyi
Founder and consultant
+55 21 3942-2434