Some tips from the architeture of StackOverflow

Definition(from Scaling up vs. Scaling out ):
scaling up -- a seriously big iron single server.
scaled out -- Hadoop or MapReduce style, across lots and lots of inexpensive servers.
Other factors(per year):
software licensing: if using all open source software, close to zero.
power cost.

Scaling up and scaling out are both viable solutions, depending on what problem you're trying to solve, and what resources (financial, software, and otherwise) you have at hand.

Some tips:
1. Chose proper database architeture. The Wikipedia database design need to be refactoring to avoid excessive joins in a lot of key queries. This is the key lesson from giant multi-terabyte table chemas (like Google’s BigTable) which are completely join-free.
2. CPU speed is surprisingly important to the database server. Going from 1.86 GHz, to 2.5 GHz, to 3.5 GHz CPUs causes an almost linear improvement in typical query times.
3. Key cost when scaling out. At low server volume, the key cost driver is not rackspace, power, bandwidth, servers, or software; it is NETWORKING EQUIPMENT. You need a gigabit network between your DB and Web tiers. Between the cloud and your web server, you need firewall, routing, and VPN devices. The moment you add a second web server, you also need a load balancing appliance. The upfront cost of these devices can easily be 2x the cost of a handful of servers.
4. Applications should keep state in the database so they scale horizontally by adding more servers.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值