@dba_ru

Страница 93 из 718
Fike
12.02.2017
11:45:24
"мы так уже три года делаем, чего ты пристал"

Vladislav
12.02.2017
11:45:35
Во во

Fike
12.02.2017
11:45:35
в общем, у меня был очень печальный опыт с этим говном

а потом "да не знаю я, как там скидка посчиталась"

Google
Vladislav
12.02.2017
11:47:21
Самое веселое, что очень часто встречаю глупейший касяк при разработке на pl/sql, когда функция возвращает несколько значений, а прописывают, что функция ничего не вернула

Fike
12.02.2017
11:47:24
"ее Влад делал, его спрашивайте"

Кирилл
12.02.2017
12:04:34
/stat@combot

Combot
12.02.2017
12:04:34
combot.org/chat/-1001045152752

Кирилл
12.02.2017
12:04:36
/stat@combot

Combot
12.02.2017
12:04:36
combot.org/chat/-1001045152752

Alex
12.02.2017
13:00:27
"да на хранимках сделаем"
форич в пхп на датасетах в 10-20 тысяч строк конечно будет мгновенным ;)

VlIvYur
12.02.2017
13:00:40
Ну я собственно про то же.Даже если тупо как хранилище использовать можно проблем огрести.Но тут хотя бы не все запросы переписывать.Это не считая того что тюнить всё с нуля придётся.Тем более что с одного уникума на другой переезжаете.У нас тут витает идея с mssql на postgres переехать.Но все понимают что это по сути займёт примерно столько же времени что и разработка с нуля и мы хотя бы понимаем что это в принципе реально и нам хватит возможностей postgres.А ещё надо будет научить программистов oracle перестать думать на оракле

"ее Влад делал, его спрашивайте"
Я только заголовок написал,тело не моя работа

VlIvYur
12.02.2017
13:02:50
Выше написали-смотря какая логика находится на стороне sql-сервера

Точнее сколько её там

Google
Fike
12.02.2017
13:17:38
мы тут все сидим и обмазываемся пыхом

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

Alex
12.02.2017
13:23:28
Я такое видел.

Fike
12.02.2017
13:23:53
ну так вот, ЭТО БЫЛ НЕ Я

!111

но если серьезно, то там у людей посерьезней процедурок проблемы

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

Amber 8
12.02.2017
13:51:02
А миграция типа бесплатно?Структурой наверно без проблем переехать, а вот с запросами уже безболезненно не получится.А если ещё и процедуры были
я за то, чтобы считать, а не вешать ярлыки сходу. Что там у оракла с политикой лицензирования? Особенно если оно в виртуалке, особенно если виртуалка на ферме или как там это называется. Чот мне припоминается, что если у тебя виртуалка плавает по 10 физическим серверам, в каждом из которых по 8 ядер, то оракл хочет денег за 80 ядер. А МС, если твоя БД для приложения на 5000 юзеров - за 5000 конкурентных лицензий. Если специфичных запросов надо переписать три штуки, то может оказаться сильно дешевле свалить на MySQL.

Alex
12.02.2017
13:58:53
даже интересно почему на mysql а не на постгрес ?

Amber 8
12.02.2017
14:04:41
Мне кажется, ты перепутал лицензии ?
ой-вей, до тех пор, пока не я плачУ, и даже не меня спрашивают, за что платить, мне-таки не очень интересно запоминать детали

Vladislav
12.02.2017
14:05:37
А зря, научиться выбирать инструмент не только по хотелкам, но и по финансовым возможностям, очень хороший опыт

VlIvYur
12.02.2017
14:09:08
Политика лицензирования от оракла заставляет не смотреть в его сторону пока "кроме него ни одну бд не поддерживает",а таких продуктов я не припоминаю

Ну и обычно знают одну какую-то платную субд и парочку бесплатных.Так что выбирать не приходится

Max
13.02.2017
18:32:22
День добрый. Вопрос от нуба - есть таблица | id | user | referral (id того кто пригласил) | ; Если значение атрибута зависит от ключа какого-либо кортежа в этой же таблице - имеет ли такой подход право на жизнь или лучше разделить на две таблицы (юзеров и рефералов)?

Павел
13.02.2017
18:35:36
тоже нуб ?, т.е. я (студент заочный), думает что имееет

Max
13.02.2017
18:41:56
хорошо, а если добавить еще два атрибута (| выплачено денег с X | выплачено с рефералов |)? У меня опыт в проектировании в бд только теоритический (в универах щас учат строго соблюдать нормальные формы, вопросов производительности там не касаются)

Павел
13.02.2017
18:48:20
думаю если тебе не нужно хрнить историю выплат то можно добавить не деля таблицы

Google
Max
13.02.2017
18:50:35
конкретно выплаты хранятся отдельной таблицей, в формате | id | id юзера | ... |

Max
13.02.2017
18:53:42
Таблица юзеров и таблица рефов
А можете конкретные аргументы привести? Я долго курил гугл и теорию прежде чем задать вопрос в чат, ну в универах у нас учат "меньше сущностей (таблиц) - лучше бд" (те, кто учат, по крайней мере учебник Дейта прочитали, в отличии от меня)

Павел
13.02.2017
18:55:35
И за за этого мои модели данных как мне кажется были слишком перегружены сущностями

Max
13.02.2017
18:57:30
Если бы курил, не спрашивал
значит не то курил, ок, в любом случае спасибо

Dmitry
13.02.2017
18:57:41
Во всем должна быть мера

Это реально две разные сущности просто

Реф не обязательно юзер может быть, так же?

Dmitry
13.02.2017
18:58:25
Количество лучше дели

Таблицу юзеров ваще засирать не стоит нигде

Max
13.02.2017
18:58:44
реф может быть юзером как раз таки

Dmitry
13.02.2017
18:58:54
Max
13.02.2017
18:58:56
точнее должен быть юзером

Dmitry
13.02.2017
18:59:22
В любом случае я вижу один ко многим

Один юзер, много рефов

Max
13.02.2017
19:01:07
я понимаю, что так проще будет выборку делать в случае необходимости, но такой необходимости не будет. А первый же пример в гугле мне дал как раз таки мой вариант решения проблемы.

Google
Max
13.02.2017
19:03:04
Автор той небольшой бд, что досталась мне в руки, вообще хранил рефералов в сессии (и записывает их в куки, соответственно браузер закрыт - реферал пропадает, в таблицу выплат адресс рефералов он зачем-то записывал)

Sergey
13.02.2017
19:03:18
В моем понимании юзеру может только один человек инвайт выдать, разве нет? Или тут другие рефы?

Max
13.02.2017
19:03:45
один юзер = много рефов, всё правильно

Sergey
13.02.2017
19:05:23
Каждый юзер может пригласить кого-то ещё.

Admin
ERROR: S client not available

Sergey
13.02.2017
19:05:35
Дерево почти бесконечное

Павел
13.02.2017
19:06:00
если тебе нужно получать это дерево (кто кого пригласил то тогда дели)

если нет, то не вижу смысла делить

Max
13.02.2017
19:06:35
тут стандартная задача - реферал получил выплату, нужно выплатить % и тому, кто его пригласил. Тобишь, я как только делаю выплату рефералу, нужно оплатить % и юзеру (кто его пригласил) тоже

делать поиск всех рефералов юзера необходимости нет

Павел
13.02.2017
19:07:29
вложенность 1 всегда

я бы тогда не стал делить

Max
13.02.2017
19:08:19
если бы я лепил многоуровневую систему рефералов - я бы рассматривал уже другие базы данных

Sergey
13.02.2017
19:10:59
Что-то я или туплю или не понимаю зачем из делить в любом случае. У пользователя есть Id и реферал - Id другого пользователя. Куда ещё базу нормализовать?

Max
13.02.2017
19:12:26
полная таблица щас так | id | юзер | реферал (id строки в текущей же таблице) | выплачено от X | выплачено от рефералов |

ну и сам код - выплатить юзеру, если его кто-то пригласил - выплатить % и ему

атрибуты выплат - самих выплат в соответствующей таблице очень много, поэтому кэшую

Sergey
13.02.2017
19:15:00
Кеш, наверное, лучше не в базе хранить в этом случае

Max
13.02.2017
19:16:24
Кеш, наверное, лучше не в базе хранить в этом случае
я храню лишь сумму всех выплат, чтобы не делать выборки по таблице выплат. Если хранить не в базе, то где?

Google
Max
13.02.2017
19:16:55
кеш это всмысле таблицы выплат?
сумма всех выплат для данного юзера

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

Павел
13.02.2017
19:23:53
пересчет полей таблицы (выплачено от X | выплачено от рефералов |) идет только при просмотре профиля пользователя?

может глупый вопрос но мне интересно

или будешь обновлять при каждой вставке в таблицу выплат,

?

Max
13.02.2017
19:33:30
я планировал делать так - делаю выплату -> заношу запись в таблицу выплат -> прибавляю к атрибуту "выплачено от X" новую выплату. Если есть реферал, то опять запись в таблицу выплат, в атрибут "выплачено от рефералов" прибавляю выплату. А просматривать юзер будет скорей всего у себя в профиле, да.

пересчет делать не имеет смысла как раз таки если добавлять атрибут с суммарным количеством выплат (у меня в данном случае "выплачено от X"), его каждый раз просто пересчитывать нужно

я не думаю что моя схема на 100% правильна, если гуру ткнут носом - буду рад

lost
13.02.2017
19:38:38
я бы разделил на 3 таблицы вообще: отдельно хранить юзеров(что,наверное, есть) отдельно хранить связь реферал-юзер отдельно хранить выплаты от юзера/рефералов

потому что одному богу известно что потом понадобится делать с этими данными

Max
13.02.2017
19:41:12
у меня уже есть таблица выплат (с дополнительными атрибутами), я лишь денормализовал добавив атрибут с суммарным кол-вом выплат (чтобы не делать выборку из всей таблицы выплат, записей там будет много)

lost
13.02.2017
19:42:27
мысль здравая

Max
13.02.2017
19:42:35
поправка - добавив атрибут к таблице юзера

Страница 93 из 718