It would help to know what you're trying to accomplish with the partitioning. Are you trying to overcome performance limitations with the number of rows in a single table or index with your database vendor (and which vendor is it?)?.
It would be to improve the scalability of the database layer in the application. Basically, I see several ways to scale with MySQL: 1) Use Master-Slave(s) replication, and do all reads from the slaves. The problem is that there is no way to be sure that the slaves have the most recent data at any given time. So it's better to use the slave as a reporting database (data warehouse), and/or for backups. 2) MySQL Cluster. The current production version has a nasty database size limit, though, where the entire database x the number of nodes has to fit into memory of each node... 3) Data partitioning. It could be done either at the table level (i.e., by choosing 'clusters' of tables and putting them on different database servers), or/and at the data level, when you split the table across database servers based on some value (i.e., the last digit of the primary key). I'm trying to investigate whether DBIx::Class has any tricks up the sleeve to work with the data partitioned either at the table level or at the data level. If not, is there a clean way to override certain DBIC methods to deal with this situation? -- ----------------------------------------------------- Evaldas Imbrasas http://www.imbrasas.com _______________________________________________ List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class Wiki: http://dbix-class.shadowcatsystems.co.uk/ IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/ Searchable Archive: http://www.mail-archive.com/[email protected]/
