> On Nov 4, 2005, at 9:47 AM, pgsql-sql-owner@postgresql.org wrote:
>
>> The problem is I am very concerned about scalability with having a
>> different
>> table created for each custom object. I want to design to site to
>> handle
>> tens of thousands of users. If each user has 3-5 custom objects the
>> database would have to handle tens of thousands of tables.
>>
>> So it would appear that this is a broken solution and will not
>> scale. Has
>> anyone designed a similar system or have ideas to share?
>
> Well, before you discount it, did you try out your design? You could
> do initial segregation of user's tables into separate schemas (say,
> schema 'a' -> 'z' according to username or some better hashing
> routine like brute-force round-robin assignment at user creation
> time). Assignment of objects -> schema would be one additional column
> in your centralized user directory table(s).
I don't imagine this would help much with the *true* problem, which is
that a lot of queries inside the DB would have tens of thousands of
tables to go thru rather than (say) hundreds.
If you have 10,000 tables, that means 10,000 entries in pg_class.
Associating them with 26 (or 260) namespaces does nothing to assist
any queries that still have to scan through 10K pg_class entries.
--
(reverse (concatenate 'string "moc.liamg" "@" "enworbbc"))
http://linuxfinances.info/info/wp.html
"Whenever you find that you are on the side of the majority, it is
time to reform." -- Mark Twain