I'm currently working on a SaaS type application, and for multi-tenancy I've settled on one database per user, with each database containing all tables required by the functionality the user is entitled to (have payed for). The application is designed to capture data (i.e. like web analytics) and present it for the user. The design should be able to scale to the tens of thousands of users (eventually).
Uygulanabilir bir çözüm masaları 'dinamik' uygulaması algılar ne zaman gereklidir oluşturmak olacaktır? Ya da en kısa sürede ben onlar may gerekebilir (kullanıcı yükseltme, yeni özellikler, vb) bildiğimiz gibi belirli bir kullanıcı veritabanlarında tüm eventually gerekli tabloları oluşturmak gerekir?
Benim şu anki mimari bana böyle bir şey yapmak için izin verecek:
function insertData($table, $data) {
mysql_query("INSERT INTO ".$table." VALUES ('".implode("', '", $data)."')");
if ( mysql_errno() ) {
if (mysql_errno() == 1146) { // table does not exist
if ( $this->createTable($table) ) {
$this->insertData($table, $data)
}
} else {
// other errors
}
}
}
Ben esneklik tablo eklemek için tüm kullanıcı veritabanları döngü kalmadan işlevsellik eklemek mümkün olmak istiyorum, bu yüzden yukarıdaki gibi bir kurulum olduğunu Arşivimiz bana yardımcı olacaktır. Bana daha sonra karar pişman yapacak şey eksik ama ben emin değilim?