@proGO

Страница 663 из 1674
Ywein
15.06.2017
16:45:20
если в духе "найти всех юзеров в группе" то это очень легко делается

Michael
15.06.2017
16:45:55
несколько join и ответ получать в денорм. виде

Marperia
15.06.2017
16:46:13
Юзеры, группы юзеров, теги, новости и отношения юзер-группа и группа-тег.

Ywein
15.06.2017
16:46:14
ну или в БД денормализировать сразу

Google
Ywein
15.06.2017
16:47:17
Юзеры, группы юзеров, теги, новости и отношения юзер-группа и группа-тег.
получить юзеров + группы каждого юзера + теги каждого юзера - это один запрос. отдельно получаешь теги отдельно группы

это разные сущности, поэтому вполне логично получать их отдельными запросами

Marperia
15.06.2017
16:48:44
Например, для формирования списка новостей нужно узнать отношение юзера к группе (1), а то и к группам (n) потом их отношение к тегу, а то и к тегам (m), а потом вывести все новости в заданной пропорции (столько-то новостей от этого тега, столько-то от другого).

Marperia
15.06.2017
16:49:58
Джоином? А если групп 10?

Michael
15.06.2017
16:50:26
банить таких юзеров ?

Ywein
15.06.2017
16:50:30
индексы только правильно настрой

Marperia
15.06.2017
16:51:13
Это в джанге-то?

Michael
15.06.2017
16:52:13
а будет тупить?

Ywein
15.06.2017
16:52:15
причем тут джанга вообще

100 элементов для серверного кода - это очень очень мало.

Marperia
15.06.2017
16:53:00
А, лол. На секунду показалось, что через ОРМ индексы не настраиваются.

Google
Ywein
15.06.2017
16:53:04
тебя заботит только скорость твоих SQL запросов

Kirill
15.06.2017
16:53:43
А, лол. На секунду показалось, что через ОРМ индексы не настраиваются.
Так и есть, через ОРМ индексы не настраиваются :)

Marperia
15.06.2017
16:54:51
100 групп = 10000 отношений к тегам (читай: правила фильтрации) = пара дней на формирование идеи о том, как же всё-таки вытаскивать новости.

Ywein
15.06.2017
16:55:20
10000 это тоже не особо много

Michael
15.06.2017
16:55:21
а что понимается под настройкой индексов?

Ywein
15.06.2017
16:55:47
а что понимается под настройкой индексов?
да хотя бы просто их сделать и поставить на нужные поля.

Aleksandr
15.06.2017
16:56:37
100 групп = 10000 отношений к тегам (читай: правила фильтрации) = пара дней на формирование идеи о том, как же всё-таки вытаскивать новости.
solr/elasticsearch - все придумано уже. для базы у нас нормализованная реляционная база, для фронта быстрая денормализованная с поддержкой фасетов

Michael
15.06.2017
16:57:01
ну про джангу не в курсе, но так же многое делается в code first других орм других яп

Ywein
15.06.2017
16:57:34
не видел такого по крайней мере

Aleksandr
15.06.2017
16:58:04
индексы в коде не настраиваются
если только в orm из коробки механизм миграций - такое бывает

Aleksandr
15.06.2017
16:59:01
как ему тут полнотекстовый поиск поможет?.. или я что-то не понимаю?
полнотекстовый поиск будет плюшкой к быстрой денормализованной базе

Ywein
15.06.2017
16:59:21
Aleksandr
15.06.2017
17:00:05
просто в том что он привел вообще текста нет
а, что он там в новостях собрался выводить? айдишники? байты?

Ywein
15.06.2017
17:00:47
а, что он там в новостях собрался выводить? айдишники? байты?
да я без понятия, но он же другую проблему пока решает. поиск по новостям вопросом вообще не стояло

у него соотношения между юзерами, тегами, группами и новостями.

Google
Michael
15.06.2017
17:01:13
не видел такого по крайней мере
modelbuilder & attributes (https://msdn.microsoft.com/en-us/library/jj591583(v=vs.113).aspx)

Ywein
15.06.2017
17:04:40
причем здесь поиск по новостям?
единственное применение полнотекстового поиска которое я тут вижу. не очень понимаю как он еще может помочь.

может не знаю чего то

Aleksandr
15.06.2017
17:04:47
Александр, что делает данный пакет?
это два разных продукта на базе apache lucene, позволяющие хранить в денормализованном виде данные, с возможностью полнотекстового поиска, со статистическими и аналитическими запросами.

единственное применение полнотекстового поиска которое я тут вижу. не очень понимаю как он еще может помочь.
я описываю обычный стек: реляционка на бэке, денормализованная база на фронте. да, у предложенных мною вариантов, есть функция полнотекстового поиска, но предложил я их не только по этому.

Marperia
15.06.2017
17:07:18
Ладно, попробуем сперва отношения пользователь-группа и группа-тег... Как запилю — приглашу на тестирование.

Ywein
15.06.2017
17:08:20
или просто абстрактно что у нас данные хранятся в реляционной базе, а отдаются из денормализованной?

Aleksandr
15.06.2017
17:09:11
а что понимается под фронтом?
то, что юзают клиенты, то, что создает основную нагрузку на сервис

Ywein
15.06.2017
17:10:13
то, что юзают клиенты, то, что создает основную нагрузку на сервис
а почему эти базы? я их не встречал в качестве используемых для денормализованного хранилища, видел только как специализированные для полнотекстового поиска

Aleksandr
15.06.2017
17:11:08
потому что на фронте зачастую нужен и поиск и статистика.
http://www.mvideo.ru/noutbuki-planshety-komputery/noutbuki-118/f/category=noutbuki-apple-macbook-709

в качестве примера) это все на обычной реляционке практически нерешаемо. тяжелые запросы, куча джойнов, миллионы строк, подсчеты количества итд. на solr это доли секунды

наверняка не знаю, но думаю там solr

Ywein
15.06.2017
17:17:09
в качестве примера) это все на обычной реляционке практически нерешаемо. тяжелые запросы, куча джойнов, миллионы строк, подсчеты количества итд. на solr это доли секунды
ну, я видел вполне адекватные магазины на реляционках с умеренным количеством денормализации прямо там, в той же реляционке(постгре это очень хорошо умеет).

плюс кэширование на базе редиса/монго или вообще кассандры

Aleksandr
15.06.2017
17:18:04
ну, я видел вполне адекватные магазины на реляционках с умеренным количеством денормализации прямо там, в той же реляционке(постгре это очень хорошо умеет).
не, ну денормализовывать можно на реляционке, вопросов нет, но фасетный поиск как по ссылке все равно не построишь.

Ywein
15.06.2017
17:19:14
не, ну денормализовывать можно на реляционке, вопросов нет, но фасетный поиск как по ссылке все равно не построишь.
Вообще я не знал что эластик с JSON может по сути как с полноценным набором данных работать, я его всегда воспринимал как исключительно для полнотекстового поиска штуку.

Google
Ywein
15.06.2017
17:19:24
Нужно будет почитать про это больше.

Aleksandr
15.06.2017
17:19:49
плюс кэширование на базе редиса/монго или вообще кассандры
кэширование ок. но когда прогрев кэша зханимает 30 секунд и более - это не вариант. а столько и будет на миллионе строк с десятью джойнами. на солре это десятые секунды

Artem
15.06.2017
17:34:03
Горутина выполняется в отдельном потоке/на отдельном ядре? Если нет, то как сделать, чтобы было так?

Michael
15.06.2017
17:35:02
никак

anton
15.06.2017
17:39:58
и чем вам так chi нравится? :) для каждого пейлоада обязательно делать пустые Render и Bind, иначе не маршалит даже.. если логгер миддлварю не подрубать - запускается и уходит вникуда по дефолту, потом приходится пид руками килять через какое то время начинаешь уставать от render.Status(r, http.StatusCreated) render.Render(w, r, data) и пишешь своё, что бы сетить данные и тело одной строчкой..

Michael
15.06.2017
18:18:26
сломать систему

Серж
15.06.2017
18:25:10
причины то кстати есть - чтобы кеш ядра закрепить за горутиной

для числодробилки

https://golang.org/pkg/runtime/#LockOSThread

Admin
ERROR: S client not available

Серж
15.06.2017
18:27:49
вообще я вопроса его не понял, горутина выполняется на отдельном потоке - да, причем в разные моменты может гулять между системными потоками при перепланировке

с ядром также

Duck
15.06.2017
18:29:09
Серж
15.06.2017
18:29:31
я думаю система, если ты про операционную, ничего не знает о горутинах

Duck
15.06.2017
18:30:35
Я имел ввиду то, что в кэше будет

Michael
15.06.2017
18:31:42
https://www.weave.works/blog/linux-namespaces-and-go-don-t-mix One could argue that locking a goroutine with runtime.LockOSThread could help, but a) the goroutine might spawn a new goroutine which would run in a wrong namespace b) locking does not prevent the runtime from creating a new OS thread for scheduling.

Серж
15.06.2017
18:32:03
в кешэ будет то, что туда загрузили при обращении к памяти, как я понимаю у каждого ядра, обычно - свой кеш. Если горутина выполнялась на одном ядре, то при переходе на новое ядро будет кеш мисс

Michael
15.06.2017
18:32:06
в тепличных условиях наверное runtime.LockOSThread даст желаемый эффект

Google
Серж
15.06.2017
18:33:14
ну вообще это опять борьба с инструментом, для числодробилки лучше взять си

Michael
15.06.2017
18:37:19
или https://github.com/rainliu/gocl

anton
15.06.2017
19:44:17
так кто за chi расскажет? как вы живете с Bind и Render для каждой структуры? :)

Denis
15.06.2017
19:57:21
Уже вбросили за стандартный конкурентный мап в 1.9?

Alexey
15.06.2017
20:01:13
А что, будет?

nn008783
15.06.2017
20:15:53
Посоны, поясните за gccgo бога ради, хочу накатить golang на атмегу чисто поржать

LexsZero
15.06.2017
20:16:13
соснешь.

рантайма под авр нет нихуя

nn008783
15.06.2017
20:21:33
рантайма под авр нет нихуя
Но он же как то через жопу но компилит насколько я понял

Vladimir
15.06.2017
20:21:59
Но он же как то через жопу но компилит насколько я понял
язык, сам базовый синтаксис, заработает. Кроме make, slice, map, всей стандартной библиотеки

nn008783
15.06.2017
20:23:52
язык, сам базовый синтаксис, заработает. Кроме make, slice, map, всей стандартной библиотеки
Ну блин, слайсы на атмеге, мне что-то подсказывает, что вряд ли будут применяться. (мапы уж тем более. Все таки не чудо-агрегат) хотяяяяя....

nn008783
15.06.2017
20:24:27
Ну я все равно хочу попробовать. Библиотеки то подклбчать можно? Буду пытаться че-нибудь выцепить годное авось прокатит, интересно же

Vladimir
15.06.2017
20:24:35
скорее всего нет

Ну я все равно хочу попробовать. Библиотеки то подклбчать можно? Буду пытаться че-нибудь выцепить годное авось прокатит, интересно же
ну то есть библиотеки которые самодостаточные, не использующие bytes/string/reflect/runtime/... будут работать

а, еще горутины и каналы сломаются

история же та же что с сями и плюсами - пока ты не напишешь свой рантайм - не заработает ничего (

nn008783
15.06.2017
20:25:53
А почему bytes и strings не зайдут? Простейшие же типы

Знаешь, анус у меня растянут хорошенечко, такие проблемы мне в самый раз ?

Просто не понимаю, как эту хрень установить и как ее компилить

Vladimir
15.06.2017
20:35:10
А почему bytes и strings не зайдут? Простейшие же типы
я про модули, потому что почти все юзает горутины, рефлект или еще что-то в рантайме го

Страница 663 из 1674