At 03:31 AM 7/12/2007, Olav Mørkrid wrote:
steve
i'm happy to hear your optimism, handling billions of rows sounds
amazing. but i'd like to be fully assured.
a frequent use of the table will perform selects that show:
a) people you have seen
b) people you haven't seen yet
an average user will quite quickly build a list of thousands of people
he has seen, so you will get selects like:
select * from user where id not in ( [list of seen users] ) and [other
criteria]
how many users -- and simultaneous users -- can a normal mysql server
handle just fine when you've got people doing selects like this quite
often if not "all the time"?
You really haven't given a complete SQL structure so the answer is as
vague, like between 1 and 1000 queries/second. Friendstr, Flickr, and
Wikipedia all use MySQL. You need to throw a lot of RAM at the problem and
perhaps distribute the load with a cluster database if the site gets really
busy.
There was an excellent article in Wikipedia describing how they built it
using MySQL but unfortunately I can't find it.
Wikipedia also had this list of MySQL winning site:
Mike
MySQL Application of the Year winners
2007
* <http://en.wikipedia.org/wiki/YouTube>YouTube
* <http://en.wikipedia.org/wiki/Amp%27d_Mobile>Amp'd Mobile
* <http://en.wikipedia.org/wiki/Adobe>Adobe
2006
* <http://en.wikipedia.org/wiki/Nokia>Nokia, using MySQL Cluster to
maintain real-time information about mobile network users.
* <http://en.wikipedia.org/wiki/Flickr>flickr, Using MySQL to manage
millions of photos and users.<http://en.wikipedia.org/wiki/MySQL#_note-23>[25]
* <http://www.netqos.com/>NetQOS, embeds MySQL to manage the world's
largest networks including Chevron, American Express and Boeing.
2005
* <http://en.wikipedia.org/wiki/CNET>CNET Networks
* <http://en.wikipedia.org/wiki/Friendster>Friendster, more than 85
million dynamic page views per day, able to support more than 1.5 billion
MySQL queries per day
* <http://en.wikipedia.org/wiki/Wikipedia>Wikipedia, more than 200
million queries and 1.2 million updates per day with peak loads of 11,000
queries per second
On 12/07/07, Steve Edberg <[EMAIL PROTECTED]> wrote:
Well, one would assume not everyone knows everyone else. So you have
a People table (1,000 records in your example) and a Friends table
that looks something like
PersonId
FriendId
both of which are foreign keys pointing to the People table (which
would normally have an autoincremented primary key). Perhaps you
could include a 'quality of friendship' column as well. Even if you
had a party of 1,000 people where everyone knew everyone, a table of
1 million records is pretty reasonable. It all depends on your query
& index design (make friends with the EXPLAIN command). If you go
through the mailing list archives, you'll find numerous people with
multiple tables with billions of records.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]