На этих выходных в Django была включена поддержка Oracle.
С моей точки зрения это замечательно как само по себе, так еще и тем, что показывает, что процесс изменений в Django стал более стабильным. Сформировались требования к патчам, к бранчам и их поддержке, более-менее работает расстановка приоритетов на задачи. Процесс стал более предсказуемым, и теперь это дает основания думать, что юникодный бранч действительно выкатится в следующие или через следующие выходные, а за ним будет и новая админка.
А вот еще маленький показательный пример Правильной Вещи™.
Недавно в trunk'е переделали вывод результат работы шаблонов: раньше весь результат формировался в одну большую строку в памяти и выдавался сразу, а его переделали на покусочную выдачу блоков по мере готовности. Теоретически это должно было дать прирост производительности из-за убирания пары мест, где строка копировалась в памяти. Однако это вылезло небольшими изменениями семантики окончания запроса, из-за чего коннекты к базе закрывались раньше выдачи шаблона, потом открывались в нем заново и висели вечно. А также непредвиденными потерями в производительности, из-за отсутствия буферизации вывода.
Так вот вместо того, чтобы быстро-быстро все латать, эти изменения просто отменили, чтобы разобраться с ними спокойно, и чтобы они не мешали основному течению задач.
Хорошо :-).
Комментарии: 26
Не в тему, но.
В RSS когда отдаешь неполную запись, указывай это пожалуйста :)
А то не понятно, есть ли что там "читать дальше" или нету.
Отличная новость. Особенно в вероятности выкатывания юникодной ветки.
Поддержка Oracle сомнительное достоинство,IMHO.
Стоит Oracle дофига, требует соотв. железа для
получения результата, большая часть людей, занятых
в web никогда с ним не работала , укорить он
врядли что-нить сможет, т.к. django по большей
части будет "слабым звеном" да и даже весьма
нагруженные сайты неплохо себя чувствуют на
MySQL/PostgreSQL. Разве-что "Proof of concept" -
так разве кто сомневался что можно?
Сомнительное - это когда сомневаешься, достоинство или недостаток. :) Поддержка Оракла - несомненное достоинство. :)
Ок, практическая польза от поддержки Oracle,
IMHO, меньше предела измерения ;).
Но почему? Есть люди, у которых уже стоит Оракл (прочно и надолго). Почему бы не дать им возможность использовать Django? Чем это может быть плохо?
Тру Оракл админ умрет или убьет увидев сгенерированную схему базы. Все-таки разница между SQLite и Ораклом есть. Тем, кто такой разницы не видит - вполне подойдет SQLite. Зато не будет неоправданных надежд в плане производительности.
Не могу спорить по поводу разных SQL DB/Engines.
Могу сказать одно, в рассылке достаточно часто спрашивали про поддержку Oracle (насколько мне помнится как раз люди у которых уже есть Oracle в продакшене), именно поэтому и сделали, что востребованно оно. А если сделали то, что востребованно - значит преимущество!
В этом нет ничего плохого. Но таких людей так
мало что ради них добавлять в джанго вагончик
кода IMHO не стоило. Дальше - если у человека
стоит Oracle то явно для чего-то серьезного и
нагружать тот-же сервер django'й станет вовсе не
каждый.
И, наконец, три - он всегда может поставить себе
еще mysql, прикрутить в ней размер кеша, приоритет
и получить свой сайт. В качестве примера - даже самые загруженные PHP сервера замечательно
обходятся без "тяжелой артилерии" типа Oracle,
и я не верю что связка Oracle/Django будет
использоваться.
P.S. Тут недавно кое-кто говорил что history
к постам в форуме - излишество. Это излишество
куда больше.
Хм... Тут, похоже, есть недопонимание того, как это все работает. Это не для кого-то джанговские девелоперы взяли и написали поддержку Оракла. Это сами люди, которым она была нужна, собрались, написали, поддерживали бранч 8 (кажется) месяцев и собираются поддерживать дальше уже в основной ветке. То есть их оказалось достаточно много, чтобы довести дело до конца.
А тут недопониманий я вижу, уж простите, два :-).
Во-первых, нет никакой нужды нагружать Django'й тот же сервер, она прекрасно будет работать и на соседнем.
Но это мелочь. Главное, что меня всегда искренне удивляет — это вот это деление на "серьезность" и "несерьезность". Приведите, пожалуйста, пример такой веб-задачи, которая бы ясно показывала, что это вообще означает?
Повторюсь, это актуально не тем, кто начинает писать новое веб-решение и может обойтись. А тем, у кого уже есть база под Ораклом, и к ней надо сделать веб. База с живыми данными обычно является хребтом всей организации, поэтому перевести ее со всей логикой на любую другую обычно просто абсолютно нереально. И уж точно не по причине того, что Оракл — это "слишком серьезно".
Дело не в вере. Есть простой факт, что они уже используются в связке. Как раз теми людьми, которые это написали.
Почему? Django не навязывает четкой схемы, достаточно, чтобы совпадали названия таблиц, полей и их типы, и все. DBA волен делать все что угодно с индексами, tablespace'ами, вьюхами и процедурами. Собственно, Джанго и генерировать схему не заставляет, просто это в большинстве случаев и удобно, и подходит.
Отжирая мощьности и память того самого не
соседнего. Одна малина.
Ну раз так, тада пусть )), тут сказать нечего,
лишь бы код не сильно тяжелым был и они его
поддерживали.
Oracle как раз не ради веба ставят, а для BL какой-нить тяжелой софтины.
Я конечно ничего действительно тяжелого web не
видел, но, например, новостной сайт, под который
писался Django явно ходит не под Oracle(иначе
поддержка Oracle в Django была-бы изначально). А
это довольно нагруженный ресурс.
Бред написал - если ставить для Django отдельный
Oracle сервер(в смысле отдельную машину), то
нужно нормально денег выкинуть(Oracle + соотв.
тачка).
И предпоследний абзац - тоже цитата.
Уважаемый, вы говорите о вещах, которые сами не пробовали. У нас в компании, например, много веб-приложений внутреннего использования, с базой Oracle работающих — и по моим впечатлениям Oracle востребован, и вполне стоит своих денег.
Хм. А у нас архитектура именно такая: сервер СУБД (Oracle, кстати) + веб-сервер на разных машинах физически. И это оправдано как минимум из соображений безопасности и производительности.
Согласен на все 100%
Привожу: система управления крупной организацией состоит из большого числа подсистем, часто даже написанных на разных языках программирования, но работающих с одной СУБД. Плюс веб-приложение, которое включает в себя некоторые подсистемы и генерит кучу оперативных отчетов.
Нет, я имел в виду в рамках вот этой цитаты:
Я попросил пример того, что система с Ораклом + Джанго является менее "серьезной" чем просто с Ораклом. Я просто вообще не понял, о чем речь.
А так-же Serog'е и Горбунову Олегу.
Ради чего ставят Oracle?
1)Производительность при больших нагрузках.
Для того что-бы нагрузить Oracle из Django
прийдется запустить действительно МНОГО Django
серверов, я думаю порядка сотни.
2)Обширные возможности PL/SQL и все остальные
расширения.
Полностью идут лесом из-за ORM(что,
то-же, кстати, не позволит достичь высокой производительности. Т.к. никакого "тюнинга"
запросов Вы сделать не сможете). Именно
это и имелось в виду под "серьезностью" - с
позиции Django Oracle не отличается от SQLite.
И используется ровно так-же как SQLite - забивание гвоздей микроскопом с очень удобной ручкой. Для сравнения оракловские
проэкты, которые я видел, вмещали более 1000
тяжелых процедур, т.е. там "жило" процентов 40
бизнес-логики и все отчеты. Я уже молчу про
пользовательские типы данных, вьюхи,etc.
Кстати - именно высокая скорость обработки
данных встроенными процедурами и есть основная
сильная сторона Oracle. На plain request его
превосходство(над MySQL или PostgreSQL, в
зависимости от задачи) гораздо меньше.
3)Удобство администрирования, профилирования,
etc.
Из-за того-же ORM большая часть этих удобств будет не нужна/(не принесет пользы). Хотя это
IMHO основная(и единственная серьезная) причина использовать здесь Oracle.
А я что говорил обратное? Просто при
использовании вместе с Django Вы заплатите
больше половины денег за то что использовать не
будете.
Надежность и безопасность гораздо выше, когда
на каждом сервере стоит своя база, а не все
работают на одном.
Причины использовать Oracle c Django могут
быть(существующая Web инфраструктура, например),
но до сих пор все кто Django использовал,
а это и весьма крупные новостные агентства,
с серьезной нагрузкой, как-то жили без Oracle
(это я повторяюсь, т.к. прошлый пост, кажется,
никто не читал) =>