Skip to content
This repository has been archived by the owner on Feb 8, 2018. It is now read-only.

What is our long term scaling strategy? #1492

Closed
zbynekwinkler opened this issue Sep 22, 2013 · 12 comments
Closed

What is our long term scaling strategy? #1492

zbynekwinkler opened this issue Sep 22, 2013 · 12 comments

Comments

@zbynekwinkler
Copy link
Contributor

I am confident we can fix all the performance issues we have right now with 20k users (#1417, #1491) but what is our long term strategy? I'd suggest standing on the shoulders of giants. Does anyone know what is the biggest postgres user and what their numbers are? If we know that postgres is viable for the longterm (1M users) we can invest much more time and energy into the current architecture. If there are doubts then solution of of the big guys are using could be the way (facebook, digg, twitter, google...).

Does anyone have an experience with big data / lots of visits websites and / or data stores?

@zbynekwinkler
Copy link
Contributor Author

Khan Academy has 15M registered users, 6M active per month. They are using GAE.

@zbynekwinkler
Copy link
Contributor Author

Wait a moment - we do not have 20k user accounts. That is 20k claimed accounts. Each visited /on/[elsewhere]/[username] creates one unclaimed user account. This way we can get very quickly to the 150M user accounts twitter has.

@whit537 How many rows does the participants table have right now? Can we get some statistics on our database scheme, so we can create dummy data with the same characteristic for local load testing and solutions evaluation?

@zbynekwinkler
Copy link
Contributor Author

Useful info about instagram usage of postgres. It seems instagram is one of the biggest postgres users.

@zbynekwinkler
Copy link
Contributor Author

Scaling PostgreSQL at Braintree: Four Years of Evolution. Braintree is using postgres for some time. They describe the move from single to multiple servers (for scaling out and getting high availability). In the future, do we want to maintain this kind of infrastructure by ourselves?

@chadwhitacre
Copy link
Contributor

@zwn You should be able to get counts on the participants table, etc. now, eh? :-)

@chadwhitacre
Copy link
Contributor

@zwn And as far as whether to trust Postgres goes: I'm prepared to trust it fully for the next few years at least.

@chadwhitacre
Copy link
Contributor

What is the action item on this ticket? To decide whether we are willing to bank on Postgres for the next few years?

@zbynekwinkler
Copy link
Contributor Author

Yes.

@chadwhitacre
Copy link
Contributor

I'm +1 on Postgres. You? :-)

@zbynekwinkler
Copy link
Contributor Author

I'm willing to try :-). I have no previous experience with Postgres so I am just getting acquainted. If I had been starting gittip I would have gone with appengine, because

(a) that I know it
(b) I would not have to be thinking about db size, indexes, scale, servers, query speeds etc.

I am just a bit afraid that when gittip stops growing linearly and flips to exponential growth (like most other successful sites have) we might get into trouble. The trouble could be innocent enough - just regular maintenance to keep it going. But even that can take half of the capacity of the team and I think we are already a bit understaffed :-).

Let's close this some time after #1502 when more people have more understanding of the current design and can voice some opinions here.

So I am +0 on Postgres and I'd be happy to explore GAE (or similar platform that puts us further away from the low level details of db maintenance). What's your reasoning for choosing postgres? I am willing to be convinced, maybe it is just a lack of info on my side.

@mvdkleijn
Copy link
Contributor

👍 on postgres. I know from a close friend they use it very happily at a site with thousands of users / hits a minute. I myself have used it happily for several things. (though not at gittip scales)

@chadwhitacre
Copy link
Contributor

@zwn Are we good to close this?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants