Андрей Андреевич ([info]heavenmaster) wrote,
@ 2009-03-07 15:41:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Выводы
Две недели без тренировок - это challenge.

Разработка на django + mysql возможна, но для микроскопических проектов. То, как там принято общаться с базой данных - преступление с точки зрения производительности. Я конечно понимаю, что "MVC" и "MTV" это очень круто и солидно, но уходить от прямых селектов надо крайне аккуратно.

В ряде обсуждений встретил мнение, что при джойне 2х таблиц, N+1 запрос - это нормально (N - количество выбираемых строк). Аргумент - они небольшие и за счет кеширования будет выигрыш перед одним большим запросом. Не уверен. В Оракле точно - нет.



(10 comments) - (Post a new comment)


[info]janvarevvlad
2009-03-07 01:43 pm UTC (link)
А зачем тебе ОЧЕНЬ БОЛЬШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ на SQL-запросов? :))

Моя точка зрения - надо использовать самый удобный инструмент, пусть и не очень производительный. А если действительно в какой-то момент будет очень надо (в этот момент обычно на это уже есть деньги), то можно и все переписать. Или кеширование внедрить - тоже очень полезно.

(Reply to this) (Thread)


[info]heavenmaster
2009-03-07 01:54 pm UTC (link)
>> ОЧЕНЬ БОЛЬШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ

Где ты это нашел?

(Reply to this) (Parent)(Thread)


[info]janvarevvlad
2009-03-07 02:09 pm UTC (link)
А что ты тогда подразумеваешь под микроскопическим проектом?
Я, кстати, часто использую сходную схему работы с БД.

(Reply to this) (Parent)(Thread)


[info]heavenmaster
2009-03-07 02:28 pm UTC (link)
Количество таблиц - около 10
Размер каждой - сотни записей, в паре - тысячи
Количество пользователей ограничено цифрой 9 :-)
Количество запросов к базе имеет смысл рассматривать только за месяц, так как в течении дня могут и не обратиться

(Reply to this) (Parent)


[info]daevaorn
2009-03-07 02:38 pm UTC (link)
Разработка на django + mysql возможна, но для микроскопических проектов.


Расскажите это Яндексу, Гуглу и ещё сотням компаний, которые используют Джангу в высоконагруженных сервисах с тысячами посетителей:-)

(Reply to this) (Thread)


[info]heavenmaster
2009-03-07 03:08 pm UTC (link)
1. Пример сервиса можно?
2. Неужели у гугла все таблички имеют primary_key из одного столбца?
3. Реализации left/full джойнов таблиц, не связанных через foreignkey я тоже пока не видел.
4. Про производительность сказано выше
5. Я не ругаю джангу, потому как пишу на ней и вижу, что она существенно упрощает процесс разработки в сравнении с той же ADF (Java + Oracle framework). Однако имеет около 1 процента функциональности последней.

(Reply to this) (Parent)(Thread)


[info]daevaorn
2009-03-07 03:18 pm UTC (link)
1. А то: http://rasp.yandex.ru/, http://kuda.yandex.ru/, http://blog.kremlin.ru/, http://code.google.com/hosting/
2. А неужели без первичных ключей из несколких столбцов нельзя обойтись?:-)
3. А неужели без них нельзя обойтись?:-)
4. Неубедительно:-)
5. Вопрос, нужна ли вся эта фунциональность Джанге?

Суть то в том, что всё это не мешает джанги быть основой высокопроизводительных сервисов.

PS: И вообще джоины в базах зло! Да реляционность как таковая для большинства веб сервисов...

(Reply to this) (Parent)


[info]alex_nobody
2009-03-07 05:05 pm UTC (link)
А тебе точно нужен этот монстр [оракл] в это проекте?

(Reply to this) (Thread)


[info]heavenmaster
2009-03-07 05:55 pm UTC (link)
Я этого не говорил.

(Reply to this) (Parent)(Thread)


[info]alex_nobody
2009-03-07 07:04 pm UTC (link)
По поводу N+1 запроса - с тобой соглашусь - не есть это хорошо. В rails, например, при выборке можно указать что грузить одним селектом (т.е. с помощью join). Про джанго - не знаю, но, скорее всего, что-то подобное тоже есть.

(Reply to this) (Parent)


(10 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…