![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi Folks, *Does anyone have any insight into what user mailbox stores look like for yahoo, gmail, hotmail, etc? I am curious if they have, e.g. a mailbox table for each user that contains all their email or whether they have a single large table with email for all users or whether they have a smaller subset of tables with the users distributed between them? Each user can have a large number of messages, so a single table would end up having billions of records (for one of these webmail systems with millions of users) and likewise you wouldn't want separate tables for each user because then you'd have millions of tables. Any thoughts? Thanks. Sean |
#3
| |||
| |||
|
|
Hi Folks, *Does anyone have any insight into what user mailbox stores look like for yahoo, gmail, hotmail, etc? I am curious if they have, e.g. a mailbox table for each user that contains all their email or whether they have a single large table with email for all users or whether they have a smaller subset of tables with the users distributed between them? Each user can have a large number of messages, so a single table would end up having billions of records (for one of these webmail systems with millions of users) and likewise you wouldn't want separate tables for each user because then you'd have millions of tables. Any thoughts? Thanks. Sean |
#4
| |||
| |||
|
|
Hi Folks, *Does anyone have any insight into what user mailbox stores look like for yahoo, gmail, hotmail, etc? I am curious if they have, e.g. a mailbox table for each user that contains all their email or whether they have a single large table with email for all users or whether they have a smaller subset of tables with the users distributed between them? Each user can have a large number of messages, so a single table would end up having billions of records (for one of these webmail systems with millions of users) and likewise you wouldn't want separate tables for each user because then you'd have millions of tables. Any thoughts? Thanks. Sean |
#5
| |||
| |||
|
|
Partitioning the MESSAGES table on user_id could provide speed and manageability by segregating each users messages to a single partition; partition pruning would eliminate visits to unrelated partitions effectively reducing the data set to a fraction of the total number of messages stored. |
#6
| ||||
| ||||
|
|
Partitioning the MESSAGES table on user_id could provide speed and manageability by segregating each users messages to a single partition; partition pruning would eliminate visits to unrelated partitions effectively reducing the data set to a fraction of the total number of messages stored. I struggle to understand a single advantage of partitioning. Well, you listed one advantage -- easy deletion. However, since when deletion became a determining factor in database design? |
|
Let me list disadvantages. - It is just yet another complication on top of already messy vendor implementation. A partitioned table is fundamentally a union view; some database vendors (oracle), however, have decided that it is something completely different. - I refuse to understand why a single solution - table - doesn't scale, and where the demarcation line between "small" and "large" lies. |
|
The idea that DBA have to revisit that table definition every quarter is just beyond me. Apparently oracle DBA has too little to do than to tell computer in details how to organize its storage in each and every minute detail. I propose browser vendors roll out a special DBA edition where a user has to explicitly allocate heap memory for each web page. |
|
And I'm not even going into kitchen sink of subpartitions... |
#7
| |||
| |||
|
|
On May 1, 9:37 am, ddf <orat... (AT) msn (DOT) com> wrote: Partitioning the MESSAGES table on user_id could provide speed and manageability by segregating each users messages to a single partition; partition pruning would eliminate visits to unrelated partitions effectively reducing the data set to a fraction of the total number of messages stored. I struggle to understand a single advantage of partitioning. Well, you listed one advantage -- easy deletion. However, since when deletion became a determining factor in database design? |
#8
| |||
| |||
|
|
On May 1, 9:37 am, ddf <orat... (AT) msn (DOT) com> wrote: Partitioning the MESSAGES table on user_id could provide speed and manageability by segregating each users messages to a single partition; partition pruning would eliminate visits to unrelated partitions effectively reducing the data set to a fraction of the total number of messages stored. I struggle to understand a single advantage of partitioning. Well, you listed one advantage -- easy deletion. However, since when deletion became a determining factor in database design? |


|
Let me list disadvantages. - It is just yet another complication on top of already messy vendor implementation. A partitioned table is fundamentally a union view; some database vendors (oracle), however, have decided that it is something completely different. - I refuse to understand why a single solution - table - doesn't scale, and where the demarcation line between "small" and "large" lies. - Just look onto the syntax create table trans ( trans_id number, trans_dt date, product_code number, store_id number, trans_amount number(12,2) ) partition by range (trans_dt) ( partition y05q1 values less than (to_date('04/01/2005','mm/dd/ yyyy')) tablespace y05q1, partition y05q2 values less than (to_date('07/01/2005','mm/dd/ yyyy')) tablespace y05q2, partition y05q3 values less than (to_date('10/01/2005','mm/dd/ yyyy')) tablespace y05q3, partition y05q4 values less than (to_date('01/01/2006','mm/dd/ yyyy')) tablespace y05q4, partition pmax values less than (maxvalue) tablespace users ) The idea that DBA have to revisit that table definition every quarter is just beyond me. Apparently oracle DBA has too little to do than to tell computer in details how to organize its storage in each and every minute detail. I propose browser vendors roll out a special DBA edition where a user has to explicitly allocate heap memory for each web page. And I'm not even going into kitchen sink of subpartitions... |
#9
| |||
| |||
|
|
Tegiri Nenashi wrote: On May 1, 9:37 am, ddf <orat... (AT) msn (DOT) com> wrote: Partitioning the MESSAGES table on user_id could provide speed and manageability by segregating each users messages to a single partition; partition pruning would eliminate visits to unrelated partitions effectively reducing the data set to a fraction of the total number of messages stored. I struggle to understand a single advantage of partitioning. Well, you listed one advantage -- easy deletion. However, since when deletion became a determining factor in database design? What's even more striking and even harder to understand is someone suggesting highly detailed, very explicit physical implementation details on the basis of the sketchiest of problem statements. I am sure you would agree: Anyone doing so has no idea what they are talking about. |
#10
| |||
| |||
|
|
You, my friend have obviously only ever worked on very small databases. |
|
In a DW enviroment, you would be insane to not use partitions. |
|
When you need to query with this much data, being able to restrict your search to a single or even a couple of partitions - you WILL become a believer in the use of partitions. |
![]() |
| Thread Tools | |
| Display Modes | |
| |