Кто будет использовать приложение? Сколько человек одновременно? Какие-либо конкретные причины для выбора CakePHP?
Из того, что я слышал, Rails и CakePHP вовлечены в "магию"; это становится проблемой, когда все вдруг не работает, и вы не знаете, почему. Если приложение предназначено только для сотрудников компании, и ваша конечная цель состоит в том, чтобы классифицировать эти инструменты, самый простой способ заключается в использовании Python с SQLite.
Но самое простое не обязательно означает лучшее:
Плюсы:
- Использование Python означает, что когда вам нужно будет внести изменения в ваш код, это будет относительно безболезненно.
- Использование SQLite равняется простоте использования; настройка не требуется вообще. Если вы используете Python 2.5 или выше, SQLite встроен, и его очень легко использовать.
- SQLite просто взаимодействует с одним файлом .db, поэтому, когда вам нужно переместить / изменить / экспортировать данные из вашей базы данных, не будет никаких хлопот.
Минусы:
SQLite не обеспечивает строгого соблюдения типов. Это означает, что даже если вы установите атрибут как «целое число», кто-то может прийти и поместить туда текст, и SQLite с радостью примет его. В зависимости от того, сколько данных могут делать другие люди, это может стать проблемой, поскольку у вас могут быть противоречивые данные.
- SQLite предназначен только для нескольких клиентов одновременно. Если многие люди будут использовать вашу базу данных, вам придется использовать MySQL вместо этого.
- SQLite не будет работать с терабайтами данных; это может или не может быть ограничением для вас.