Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How would the Service Objects approach work with Z-axis scaling?


(now that I understand Z-axis scaling means sharding: whoever thought up that term was on something)...

There's no real problem with sharding using service objects: you parameterize them to determine what shard they are serving.

There are issues with replacing one if it goes down, or adding in a new one, or hot shards vs unused ones, but these are all familiar with any kind of sharding.


What do you mean by z-axis scaling?


I'm guessing it's a joke. Y=vertical scaling, X=horizontal scaling, Z=? scaling


X-axis scaling: running multiple identical copies of an application behind a load balancer

Y-axis scaling: splitting the application with functional decomposition (a server for account info, another for catalog, etc.)

Z-axis scaling: each server runs an identical copy of the application (like X-asis) but each server is responsible for only a subset of the data - some other component of the system is responsible for routing each request to the appropriate server (Ex: sharding)


Why not just call it sharding? There's enough jargon as it is!


Because when you treat those three aspects of scaling as dimensions of a cube, you can visualize what it means to scale on different axes.

See this diagram http://akfpartners.com/techblog/wp-content/uploads/2008/05/a... taken from http://akfpartners.com/techblog/2008/05/08/splitting-applica.... For in-depth discussion, see the book The Art of Scalability.

http://theartofscalability.com/


You get to sound smart when you compel people to ask what jargon-word X means.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: