2011-01-26 76 views
5

我为一家网络公司工作,我们目前使用高度修改的OSCommerce版本作为我们的主要电子商务应用程序,但最近我们已经接触到了一些拥有超过200万个单独产品模型的公司想要在网上销售。如何处理2百万个产品

本质上,我的问题是 - 是否有任何预先构建的PHP/MySQL购物应用程序能够很好地处理这些许多产品,还是我在这方面运气不佳?我是否需要创建一个自定义应用程序?我在这里有什么选择?

nosql数据库会比MySQL更好吗?

+0

不要过度建筑。 200万听起来很多,但任何体面的数据库/硬件组合都可以在不损失汗水的情况下处理200万条记录(假设您有一些体面的索引)。请看这里re:每天插入一百万条记录:http://forums.mysql.com/read.php?61,44239,44251#msg-44251 – jvenema 2011-01-26 21:10:50

回答

1

您不清楚这是200万件产品的库存还是200万件他们想出售的单件产品。无论哪种方式,传统的SQL数据库应该能够很好地处理它,尽管这完全取决于架构的设计方式等。尽管我已经听说过关于Magento的好东西,但我不确定已有的解决方案。

2

您一定想要构建定制解决方案,并且您一定要收取比平常更多的费用,因为存在很多风险和尽职调查需求。

至于你的架构,使用NoSQL是可能的,并且在电子商务中使用NoSQL背后有一些令人信服的理由 - 主要原因是它是无模式的,并且如果你有大量类别和大量产品需要以不同的方式销售(即,您销售的计算机与销售手表的方式不同),因为产品属性不同,管理数据库的复杂性变得非常重要。

此视频将向您展示纽约市真正具有前瞻性的创业公司正在做什么。他们正在使用MongoDB作为他们的整个产品数据库。该视频应该是一个真正的大开眼界,因为它概括了很多在MySQL中陷阱的大的电子商务网站,和NoSQL的改变游戏规则的潜力很多:

http://engineering.shopopensky.com/topics/mongodb

至于处理付款,你肯定不希望将这些存储在NoSQL中。将您的用户,会话和支付数据保存在MySQL中,并确保它具有高度安全性。下面是确保会话一个伟大的(即使旧)一块PHP应用程序:

http://www.troubleshooters.com/codecorn/php/persist.htm

作为一个说明,这最后一个环节将帮助你理解理论更好。大多数PHP框架支持这种类型的开箱即用处理。 CodeIgniter,Yii和ZendFramework都是最好的。

+1

FWIW,对于MySQL来说,200万条记录并不是什么大问题,我认为通常保留1个数据库将使您的应用程序更容易维护。就个人而言,我不认为NoSQL在这里是一个好计划。有趣的阅​​读(如果有点老)可以在这里找到,重新:Facebook的使用MySQL:http://blog.facebook.com/blog.php?post=7899307130 – jvenema 2011-01-26 21:05:18

+0

感谢您的链接! – 2011-01-26 22:01:46

3

基本上我的问题是 - 是否有要处理这么多的产品摆好

号如果有这些公司2,000,000的产品将使用它的任何预置的PHP/MySQL的购物应用。

我需要创建一个自定义应用程序吗?

您已拥有。您以OS Commerce作为基础开始并在其上构建自定义应用程序。你可能不会认为它是一个应用程序,但它是。

我在这里有什么选择?

接受,你需要一个像样的IT /开发团队这项工作追去,如果这个成本驴和R & d是值得在此之后的新业务去。

nosql数据库会比MySQL更好吗?

不,但MySQL数据库也不会比“nosql”数据库更好。

0

根据预算,Magento Enterprise可能是一个很好的解决方案。 (我不是说要出售它,我不是合作伙伴)。您可以构建解决方案或让托管公司帮助您解决问题。 Rackspace是首屈一指的合作伙伴托管公司,非常擅长将这些解决方案放在一起。有很多数字在起作用,例如峰值同时连接,每小时综合浏览量,每小时事务处理等。您希望查看具有至少2个MySQL服务器(主/从复制)和多个负载均衡器后面的前端服务器。看一看nginx,而不是Apache。您还需要查看用于缓存的memcached apc &。像这样的设置将会有很长的路要走。如果设置正确,Magento Enterprise可以轻松处理这些许多产品。重要的是要记住的是,定制解决方案不需要开发 - 它将需要设计

1

为了回应Magento Enterprise的建议,我们最近为我们的网站实施了这个应用程序,该应用程序携带约150,000多个SKU。我们也从一个广泛定制的osCommerce版本迁移。由于企业系统运行速度缓慢以及缺乏实施文档,我们的经验是挫折感和项目延迟。正因为如此,我们实际上无法使用许多企业版功能。

该应用程序由于缺乏文档和我们亲身体验的Varien支持团队的响应缓慢而臭名昭着。模板系统似乎只是部分完整,没有特别深思熟虑。您的问题的回应者之一Alan Storm,实际上是我们团队的救星,他的书面教程和慷慨的stackoverflow.com答案。

我的建议是事先对Magento Enterprise平台进行广泛的研究 - 它与社区版本不一样。正如Bob Brodie在上面所提到的那样,服务器的要求和设置并不是因为心脏不够,也不便宜。研究可用的速度增强选项 - 您将需要它们,服务器管理费用,考虑学习曲线以及将增加到项目时间表的额外时间--Magento与osCommerce有很大不同 - 并且最重要的是找到一个可靠的,经验丰富的Web主机然后再支付12,000美元的一年许可费用。

0

我只是好奇,如果有人认为这个设置可以做到这一点。 magento社区使用反向代理(可能为varnish)和memcached作为应用程序的缓存。在产品页面上没有动态内容(因为它可以在与缓存响应进行自定义交互时呈现)来将应用程序的请求保持为绝对最小值。 使用负载均衡的nginx服务器。

你也可以实现更多结构化的数据库维护和优化程序作为一个单独的应用程序。

也许你可以做一些相当激进的事情,但价格相当便宜(我猜那些拥有200万产品的家伙对你和我来说有着不同的想法),将销售,税收和销售规则模块更改为不太灵活的东西,但是更高效。

我不知道似乎是最好的方式给我。每年支付magento EE的费用为 夸耀表现。

0

一来这类产品负载的最佳答案的(并且,顺便说一句,我们使用了一个)是https://magento.stackexchange.com/questions/459/running-magento-in-an-aws-environment

我们在Amazon Web服务上运行一个自定义的Magento社区(1.9)服务器使用RDS产品的豆茎环境,用于缓存的redis & S3 - >与Magento相关的媒体的CDN。现在还很早,但迄今为止我们还没有发现真正的问题。预计开发时间...也许一个星期左右,从本地mysql/cache/apache/php的VPS转移?

相关问题