Моя команда и я строим продукт SaaS, который будет использоваться несколькими компаниями по всему миру. Проще говоря, наше программное обеспечение делает некоторые базовые учетные записи для них и предупреждает их, если какой-либо документ должен быть обновлен.Как создать эффективные базы данных для многопользовательского SaaS-продукта?
Проблема заключается в том, что для каждой такой компании в Индии может быть только 3 таких документа, но 4 в Шри-Ланке и 7 в Сингапуре. И каждое поле может быть названо по-разному. Например, три поля могут быть названы «Водительские права», «Страхование», «Разрешение» в Индии, но их можно назвать «XYZ», «XXYZ» и «XZY» в Сингапуре.
Каков наилучший и эффективный способ реализации таких функций с помощью MySQL. Допустим, я могу ограничить количество таких столбцов в 5. Кроме того, я не хочу использовать NoSQL для этого проекта.
Мы используем PHP, работающий на CodeIgniter, и мы планируем развернуть его на Engineyard.
Спасибо за помощь. почему мне не приходилось изолировать документы в отдельный стол?!? Было бы легко сделать многое. – Manikandan
У меня есть еще один вопрос. У каждого из моих клиентов есть уникальная формула для расчета тарифа (это таксисты). формулы не могут быть обобщены, но имеют одинаковые входные и выходные переменные. но формулы зависят от клиента. Поскольку это продукт SaaS, я хочу, чтобы все было автоматизировано. Я думал о том, чтобы позволить им написать свою собственную формулу на PHP и использовать eval для ее работы, но это кажется глупым. Есть ли способ создать «конструктор формул» в PHP? – Manikandan
Это немного зависит от типа формулы, очень сложная математика трудно поместить в какой-то конструктор формул. Но для операторов такси это, скорее всего, всегда будет в нескольких возможных форматах. Я думаю, вы должны иметь возможность обобщить формулу, в которой будут работать только некоторые переменные. Например, одна компания использует цену за пассажира за километр, а другую на километр, тогда вы можете сделать что-то вроде этого: startfee + (kmfee * km) + (пассажирские пассажиры) + (пассажирское поле * пассажир * км). Если вы установите переменные платы в 0, вы получите эту часть. – nvanesch