@rubylang

Страница 702 из 1684
I
26.11.2016
13:16:31
ок. Только обещай мне не использовать paper_trail для задачи
если у него проект весомый, то весьма важно, как оно хранится

Andrey
26.11.2016
13:16:36
ок. Только обещай мне не использовать paper_trail для задачи
без проблем :) Задача в принципе теоретическая. Из разряда я хочу в будушем проекте в котором еще даже init комита нету запилить такую фичу.

Mikhail
26.11.2016
13:16:39
ну на самом деле нет

преждевременная оптимизация зло

Google
Mikhail
26.11.2016
13:16:56
Важно дойти до хайлоада

Я спрашивал тут как то как оптимизировать запрос

I
26.11.2016
13:17:09
Over time your versions table will grow to an unwieldy size. Because each version is self-contained (see the Diffing section above for more) you can simply delete any records you don't want any more.

Mikhail
26.11.2016
13:17:25
Мне сказали ты дойти до хайлоада и будем на деле смотреть как лучше сделать

I
26.11.2016
13:17:29
а если он уже на хайлоаде?

Andrey
26.11.2016
13:17:35
При чем тут преждевревенная оптимизация если это типа и есть "основная фича"

I
26.11.2016
13:17:45
да, на проде повыполнять запросы, которые идут по 10 минут?

чтобы просрать все полимеры?

Mikhail
26.11.2016
13:18:11
а если он уже на хайлоаде?
ты думаешь человек который работает с хайлоадом будет задавать вопрос о версионности модели?

I
26.11.2016
13:18:12
если берешь новый гем - надо адекватно понимать его минусы

Mikhail
26.11.2016
13:18:12
лолчто?

I
26.11.2016
13:18:32
что, не видел запросов на 10 минут?:)

Mikhail
26.11.2016
13:18:46
на 10 минут что?

Google
I
26.11.2016
13:19:06
запрос, который 10 минут выполняется базой

Mikhail
26.11.2016
13:19:40
Ну 10 минут не видел. Видел минуту

И это было у проекта с базой в пару десяткой ГБ

И один раз и лиды это быстро поправили

достаточно было переписать логику запроса и подчистить незамеченные n+1

I
26.11.2016
13:20:58
ну я за лидов рад, но я о том, что на проде тестить немного хуевая идея

Mikhail
26.11.2016
13:21:16
проект пришел в поддержку

Давай будем писать супербыстрыйправильный код на dry-rb и rack

тогда ты точно не проебешь проект

Mikhail
26.11.2016
13:22:21
Вот и я говорю, зачем думать о проблеме, пока ее нет

Проблемы надо решать по мере поступления

I
26.11.2016
13:22:43
у них в документации написано "База быстро разрастается"

Mikhail
26.11.2016
13:22:59
Да это ясно и так

Если ты сохраняешь документ по 100 раз в день то да

если миллион пользователей будут по 10 раз в день сохранять то надо будет думать об этом

У меня был проект с 10млн пользователей и папертрейлом

и никакой боли в нем не было

I
26.11.2016
13:25:20
ну если у тебя не было проблем, а в доках сказано, что они вполне вероятны - то это не значит, что проблем не будет?)

тем более, что они реально сохраняют весь объект, а не диффы

Google
Mikhail
26.11.2016
13:25:39
это значит, что ты если ты пряморуких программист ты будешь сохранять только нужные версии

например последние 5

Alex
26.11.2016
13:25:55
для документов точно надо диффы сохранять

и делать опорные точки

I
26.11.2016
13:26:30
вот и я о том, что хранить доки целиком в базе - сомнительное решение

Mikhail
26.11.2016
13:27:00
цена разработки/проектировки = результату/полезности?

I
26.11.2016
13:27:17
в смысле? Разве гема нет для версионирования?

Нужно посмотреть, кто внес изменения в док месяц назад - последние 5 изменений тут не особо помогут

Mikhail
26.11.2016
13:28:38
Ну и будешь ты в соседнюю табличку дифф складывать какой вообще профит

I
26.11.2016
13:28:41
у нас была проверка - письма маркетинг с версионированием делал. В итоге скатились к тому, что отменили версионирование, поскольку те запутались в версиях(не от большого ума, но буквально за пару дней они всем отделом наплодили около 1000 разных вариаций одного и того же письма)

Alex
26.11.2016
13:28:51
профит в размерах базы

Mikhail
26.11.2016
13:29:14
ну строки также будут плодится быстро

I
26.11.2016
13:29:14
а какой профит в гите? Взял, откатился на любую версию по диффам. И сможешь посмотреть, когда что было изменено

Mikhail
26.11.2016
13:29:19
просто будет меньше полей

I
26.11.2016
13:29:25
нет, гораздо меньше будет

Mikhail
26.11.2016
13:29:39
ну как нет. Изменил я текст, записал

Текст не поменялся не записал

I
26.11.2016
13:30:00
да, поменял ты строку - а пересохранился весь текст

в paper_trail так

Mikhail
26.11.2016
13:30:12
ну тебе же надо видеть разницу

Google
Mikhail
26.11.2016
13:30:23
за много сохранений и иметь доступ к любой версии

что к 48 что к 13

I
26.11.2016
13:30:48
да

paper_trail для такой задачи не подходит

Alex
26.11.2016
13:30:56
Я опорные точки для дураков написал?

Mikhail
26.11.2016
13:31:06
как раз я могу жонглировать версией

любой

у тебя та хранятся все версии

I
26.11.2016
13:32:04
не, у меня хранятся только изменения

Admin
ERROR: S client not available

I
26.11.2016
13:32:11
если у меня не paper_trail

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

Mikhail
26.11.2016
13:32:34
a = Article.create a.versions.length # 1 a.update_attributes :title => 'My Title', :rating => 3 a.versions.length # 1 a.update_attributes :title => 'Greeting', :content => 'Hello' a.versions.length # 2 a.paper_trail.previous_version.title # 'My Title'

I
26.11.2016
13:32:58
или с другой стороны начну - у нас на проекте одном был флеш. Там файлики бинарные - гит их пересохранял целиком. За 2 года проекта папка гита была около 70 Гб

притом сам проект весил около 7

Mikhail
26.11.2016
13:33:18
не, тут идея в чем, в том что ссыте что база будет вырастать быстро

от каждого апдейта

И типа когда записи пойдут на десятки/сотни миллионов все это будет тяжело выбираться

Andrey
26.11.2016
13:34:20
Идея как раз сделать мини-гит в базе, а не сохранять всё подряд

Google
Mikhail
26.11.2016
13:36:06
Да я понял, вопрос это стоит того? У тебя реально миллионы пользователей в месяц, которые засрут тебе базу? у тебя реально нет денег чтобы когда это случится вложиться в оптимизацию и железо? Переписать выборку и отдачу на более быстрые решения? Поколдовать с кэшированием?

Я думал мы про быструю разработку и быструю прибыль

Все таки railsway

I
26.11.2016
13:37:00
а что, хранение диффов каким-нибудь готовым гемом - настолько неприемлимая для тебя идея, что там бомбит?)

Mikhail
26.11.2016
13:37:12
Прям

Andrey
26.11.2016
13:37:21
Вопрос не в том стоит или не стоит. А вопрос в том как реализовать такую фичу. Чисто спортивный интерес. О прибыли темболее нет речи :)

Mikhail
26.11.2016
13:37:33
Просто эти диффы же он тоже будет тебе приводить в порядок

брать разницу подменять текст выдавать

это рубя

она медленная и тупая

про это тоже не забывай. Я думаю что очень логично на БД такое вешать

Меня учили что если чтото можно отдать БД пусть Бд это делает.

Она умная и быстрая

I
26.11.2016
13:39:55
да, так и есть, но кто мешает сделать тогда тонкий клиент на фронте, небольшую прослойку и все в ней делать?)

Mikhail
26.11.2016
13:39:59
ну и по идее для такой задачи монго подойдет, насколько я правильно понял

да, так и есть, но кто мешает сделать тогда тонкий клиент на фронте, небольшую прослойку и все в ней делать?)
также ничего не мешает сделать эту задачу за вечер и годами работать без боли

на готовом проверенном решении

?

главное чтобы проект не умер раньше, чем начнуться траблы с бдшкой

I
26.11.2016
13:41:24
ой, да умереть может что угодно

тот же разработчик

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

Mikhail
26.11.2016
13:42:30
ну я поэтому и говорю что преждевременная оптимизация зло. Тогда раз такие сложности, может вообще от рельсы отказаться

Страница 702 из 1684