Skype uses PostgreSQL as their backend database. PostgreSQL doesn't get enough run in the database world so I was excited to see how PostgreSQL is used "as the main DB for most of [Skype's] business needs." Their approach is to use a traditional stored procedure interface for accessing data and on top of that layer proxy servers which hash SQL requests to a set of database servers that actually carry out queries. The result is a horizontally partitioned system that they think will scale to handle 1 billion users.
Skype's goal is an architecture that can handle 1 billion plus users. This level of scale isn't practically solvable with one really big computer, so our masked superhero horizontal scaling comes to the rescue.
Hardware is dual or quad Opterons with SCSI RAID.
Followed common database progression: Start with one DB. Add new databases partitioned by functionality. Replicate read-mostly data for better read access. Then horizontally partition data across multiple nodes..
In a first for this blog anyway, Skype uses a traditional database architecture where all database access is encapsulated in stored procedures. This allows them to make behind the scenes performance tweaks without impacting frontend servers. And it fits in cleanly with their partitioning strategy using PL/Proxy.
PL/Proxy is used to scale the OLTP portion of their system by creating a horizontally partitioned cluster:
Bookmark/Search this post with:
Recent comments
1 hour 19 min ago
1 hour 20 min ago
1 hour 23 min ago
1 hour 24 min ago
1 hour 25 min ago
1 hour 26 min ago
1 hour 27 min ago
1 hour 30 min ago
1 hour 31 min ago
1 hour 32 min ago