Для такой ужасной сложности уровня данных, как 500 таблиц с 1500 представлениями, в отличие от большинства ответов, я лично предпочел бы придерживаться SQL (PostgreSQL предлагает действительно отличную реализацию, особенно в новой версии 8.4, которую вы должны действительно лоббировать ибо если у вас есть шанс); единственный ORM, который я бы [неохотно] принял, - это SQLAlchemy (один из немногих ORB, которые мне не особо нравятся, но главное добавленное значение - это переносимость на разные СУБД: если вы поддерживаете только одну, и в проекте С этой сложностью БД вам лучше быть, тогда, по моему личному мнению, любая ORM - это просто накладные расходы, поскольку разработчикам уровня доступа к данным потребуется глубокое знакомство с конкретной СУБД для ползания к приемлемой производительности).
Выбрав «raw psycopg2» или SQLAlchemy в качестве технологии для моего уровня доступа к данным, это исключило бы Django (который по моему опыту хорошо работает только с собственным ORM - но это не подходит для проекта такой БД сложность, ИМНШО). Лично я бы пошел с Werkzeug, как с фреймворком, наиболее подходящим для очень сложных проектов, требующих невероятного количества гибкости и мощности - хотя Pylons и Turbogears 2 на вершине этого могут быть приемлемы как запасной вариант, если команда просто не ' не имеет опыта работы с веб-приложениями и навыков, необходимых для создания по-настоящему красивой музыки с помощью гибкой среды, такой как Werkzeug.
И последнее, но не менее важное: я настоятельно рекомендую Dojo создать презентационный уровень на клиенте - богатую и хорошо структурированную инфраструктуру Javascript, предлагающую великолепно разработанную функциональность для «локальных данных», доступа к хосту и т. Д., Оптимизированную для Лучшее, что может предложить каждый из нескольких браузеров (и плагинов, таких как Gears), а также расширенные функциональные возможности пользовательского интерфейса, кажется наиболее вероятным для облегчения тяжелого бремени разработки для серверной части (на самом деле, я настоятельно рекомендую взглянуть на предлагая по существу RESTful-интерфейс на стороне сервера, и делегируйте всю работу над презентациями Dojo на клиенте - см. этот сайт , за исключением того, что я бы подумал о JSON, а не XML как о предпочтительном формате обмена ). Но я с готовностью признаю, что знаю гораздо меньше об аспектах пользовательского интерфейса, чем о бэкэндах, бизнес-логике и общей архитектуре, так что возьмите этот последний абзац во что бы то ни стало! -)