Large Table handling
Partitioning a table will help you in maintaining.

Here are some useful articles on maintaining a large table:

Handling Large SQL Server Tables with Data Partitioning

The only downside is that it only exists in the Enterprise and Developer editions.

Simplify Database Maintenance with Table Partitions

And more info on hardware, horizontal, and vertical partitioning:

Partitioning


  Partitioning a database improves performance and simplifies
  maintenance. By splitting a large table into smaller, individual
  tables, queries that access only a fraction of the data can run faster
  because there is less data to scan. Maintenance tasks, such as
  rebuilding indexes or backing up a table, can run more quickly.
  
  Partitioning can be achieved without splitting tables by physically
  putting tables on individual disk drives. Putting a table on one
  physical drive and related tables on a separate drive can improve
  query performance because, when queries that involve joins between the
  tables are run, multiple disk heads read data at the same time. SQL
  Server filegroups can be used to specify on which disks to put the
  tables.


Also, there are a lot of useful answers in this thread 

Hope this helps