architecture

65 views
Skip to first unread message

jmartins

unread,
Nov 17, 2010, 8:21:50 AM11/17/10
to ror_ecommerce

Hi,
Like it's a new project I have same sugestions:

1-) Change MySql to MongoDB see the site below about MongoDB and E-
commerce:

http://kylebanker.com/blog/2010/04/30/mongodb-and-ecommerce/

http://mongomatic.com/

2-) Remove the Memcahed

3-) Use a Test Framework

4-) Integration with Open ID (social network).

5-) Module Integration with Fedex, DHL, EMS, others

6-) Make a graphic report sales audit module ( like products more
sales, never sales, top ten products, etc...)

regards,
Joao Martins

David Henner

unread,
Nov 17, 2010, 10:35:05 AM11/17/10
to ror_ec...@googlegroups.com
Joao

1)  Mongo DB can never be used for financial information.  So knowing that I can not use mongo DB for the whole project.  The good news... I will create several rack apps that use mongo DB.  One will be for the cart.  The rack app will replace the current cart with a cart that uses mongo DB.

2) I need memcached or raik or mongo session store. You can easily change the session store to the cache-store you like best.  I can not use the cookie store or DBstore because the admin cart was design emm  differently.

3)  I have over 400 unit tests working and passing with rspec.  Not sure what you mean by this.  I do need to add controller tests.

4) integrating with open ID will be yet any other Rack app that will extend functionality.

5) Integration with Fedex, DHL, EMS...  Explain?  I will link to the Shipment sites but any further integration will be yet another Rack app.

6) Reports will be added as a rack app soon.  I am starting with an enhanced product view using mongo DB then I will create a reporting rack app.

Thanks for the feedback.  The more feedback the better I can make this project.

Dave

João Martins

unread,
Nov 17, 2010, 12:18:56 PM11/17/10
to ror_ec...@googlegroups.com

Dave,

1-) Mongo DB can never be used for financial information.
Is it because ACID in supported for only a single document and cannot span multiples ?
But think about when I need real ACID in a E-commerce transation ? If all transaction use a gw paymanet and it's a webservice/json ?
And financial information never can be write in a database. It's security principals.
Mongodb is a very good database to have products imagem files and videos !!!

2-) less is more, if you use a rack app with mongodb so the logical think is use mongo session store not memcached

3-) I like rspec!

4-) Use Open ID in rack app, it's good!

5-) Maybe it's another rack app but is important have a crosssales module.

regards,
Joao

David Henner

unread,
Nov 17, 2010, 12:49:35 PM11/17/10
to ror_ec...@googlegroups.com
1)  Mongo cant be used because if the power fails (or something else goes buggy) you can lose data.  No this doesn't happen often but it does happen.  

SENARIO:  I write to mongo.  Mongo immediately stores the request in memory and replies OK.  Now mongo writes to disk.  The problem happens if something un-expected happens between the OK reply and the writing to disk.  

videos/images in the DB is bad IMO, if you plan on becoming a big app images will not scale.  Plus if multiple documents need to point to the same image your DB will be huge quickly.

2)  The Rack app is independent.  Eventually I will have a riak based rack apps and redis based rack apps.  My plan is to make rack apps that allow the base app to scale.  It is one line of code to change the session store. 

3)  me too.

4) agreed.  I might have 2 or 3 rack apps with several different solutions.

5) agreed.  It should be ready within a couple months.  

2010/11/17 João Martins <jcma...@gmail.com>

jmartins

unread,
Nov 18, 2010, 9:18:20 AM11/18/10
to ror_ecommerce
> 5) Integration with Fedex, DHL, EMS...  Explain?  I will link to the
> Shipment sites but any further integration will be yet another Rack app.

I'm talked about this feature :

Real time rate lookup (UPS, USPS, FedEx, Correios(Brazil): the
functionality to request rates from UPS, USPS, or FedEx during
checkout for more accurate rate pricing rather than using a flat
shipping rate.

David Henner

unread,
Nov 18, 2010, 10:05:07 AM11/18/10
to ror_ec...@googlegroups.com
good idea

João Martins

unread,
Nov 18, 2010, 12:13:13 PM11/18/10
to ror_ec...@googlegroups.com


On Wed, Nov 17, 2010 at 3:49 PM, David Henner <drhe...@gmail.com> wrote:
1)  Mongo cant be used because if the power fails (or something else goes buggy) you can lose data.  No this doesn't happen often but it does happen.  

SENARIO:  I write to mongo.  Mongo immediately stores the request in memory and replies OK.  Now mongo writes to disk.  The problem happens if something un-expected happens between the OK reply and the writing to disk.  



Dave,

for this Senario see this http://www.thebuzzmedia.com/mongodb-single-server-data-durability-guide/

And in the new version of MongoDB v1.8 this problem is revolved see the ticket http://jira.mongodb.org/browse/SERVER-980

regards,
Joao
Reply all
Reply to author
Forward
0 new messages