Web framework with NoSQL in mind

13 views
Skip to first unread message

Nikolay Fominykh

unread,
Jan 24, 2016, 3:59:47 PM1/24/16
to django-...@googlegroups.com
Всем привет.  

Захотелось странного - написать бэкенд для джанго, работающий с rethinkdb. 
Заглянул в django.contrib.admin и желание естественно уменьшилось. :)

Количество веб-проектов, которые используют в качестве основной базы nosql - растет.

Вопрос - какие сейчас существуют фреймворки, изначально предполагающие работу с NoSQL базами? Чтобы было поменьше join в компонентах и т.д.. ?

Вадим Рудь

unread,
Jan 25, 2016, 1:28:32 AM1/25/16
to django-...@googlegroups.com
django nosql :)

--
Вы получили это сообщение, поскольку подписаны на группу "Django russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес django-russia...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Nikolay Fominykh

unread,
Jan 25, 2016, 4:38:05 AM1/25/16
to django-...@googlegroups.com
Гуглил. Ничего целостного по этому запросу. 

Если существующее SQL приложение as is сложить в NoSQL - костыляво получается. Лучше заново придумать. Отсюда и вопрос - не придумал ли кто уже движок похожий на django, но изначально заточенный под nosql? :)

Yuri Baburov

unread,
Jan 25, 2016, 11:33:00 AM1/25/16
to django-...@googlegroups.com
1) Все NoSQL разные. Даже очень разные, в отличие от реляционных баз данных.
2) NoSQL не нужен ORM

Поэтому вряд ли такое вообще появится.

А что у вас за задача? Для чего такой бэкенд нужен? Для админки?

Ведь для тех же сессий есть скажем django-redis-sessions, для кеширования -- django-redis-cache.

Если вы хотите сделать реляционную обёртку (ORM-like интерфейс для NoSQL базы данных), то есть django-nonrel и несколько других попыток.
Но ведь у того же Redis даже нет возможности сделать SomeKey.filter(...).count() -- а приложения рассчитывают на то, что определённые запросы будут быстрыми, а другие медленными (и в целом все запросы будут возможными). Что вы будете делать в этом случае? Всегда возвращать 101 вместо истинного количества записей в той же админке или загружать всю "таблицу" и подсчитывать число записей, удовлетворяющих фильтру?

P.S. Я тоже пробовал подобный проект делать, но быстро отступил во вышеуказанным причинам.

Best regards, Yuri V. Baburov, Skype: yuri.baburov

Serge Matveenko

unread,
Jan 25, 2016, 11:45:02 AM1/25/16
to django-...@googlegroups.com
ну вот https://github.com/lig/pynta писалась с этой мыслью... но там сыровато;)

вообще, flask прекрасен в связке с MongoDB. А если еще и с Eve, то совсем.

Большинство готовых приложений под Flask включают подержку MongoDB в том или ином виде из каробки.

Nikolay Fominykh

unread,
Jan 25, 2016, 12:53:49 PM1/25/16
to django-...@googlegroups.com
Юрий, вот я хочу, чтобы не хотелось сделать реляционную обертку :) Ту же админку можно сдизайнить так, чтобы она с key-value любым заводилась. Для этого нужно, к примеру, чтобы права пользователя денормализовано хранились в таблице users. 

Гляну вновь на flask и eve. Thx :)

Задачи конкретной нет. Захотелось просто бложик с админкой на rethinkdb сделать - и увидел, что фреймворки в эту сторону еще предстоит разработать. 

Yuri Baburov

unread,
Jan 25, 2016, 1:47:04 PM1/25/16
to django-...@googlegroups.com
Вместо адаптации админки джанго на порядок проще будет свою админку запилить на Bootstrap.
Всё равно моделей, из которых генерится админка и change forms, нет, и т.п. .
Не забудь поделиться своей запиленной админкой в виде библиотеки! )


> Для этого нужно, к примеру, чтобы права пользователя денормализовано хранились в таблице users. 
Не имеет смысла отрывать это от django, хоть и стало проще это делать, но всё равно всё рассчитано на RDBMS. Пусть лучше Django держит пользователей в обычной таблице, а уже для логики приложения будет доступна rethinkdb или что-нибудь ещё (или всё вместе).

Yuri Baburov

unread,
Jan 25, 2016, 2:25:41 PM1/25/16
to django-...@googlegroups.com
Кстати, посмотрел на rethinkdb, не понял три момента:
а) что у него с security? типа, нужен security -- и БД теряет возможность передачи обновлений и превращается в тыкву^W mongodb?
б) насколько плохо у него со скоростью? Для того же MongoDB есть на выбор LSM или BTree...
в) да и вообще, кому-то нужна эта его фишка с обновлениями?

Nikolay Fominykh

unread,
Jan 25, 2016, 4:08:37 PM1/25/16
to django-...@googlegroups.com
Мне он заочно нравится. А заинтересовался после прослушивания интервью с автором -  http://devzen.ru/episode-0076/

В принципе, в любом live stream м.б. интересна база с обновлениями. 
Reply all
Reply to author
Forward
0 new messages