@symfony_php

Страница 197 из 1418
Dinar
26.04.2017
11:39:21
Я думал ты имеешь ввиду использование только эластика и все

Просто там где зпрос тот, который быстрее сделать в мускле - делаешь в мускле

Там же у тебя актуальные данные

Sergey
26.04.2017
11:57:09
плохо тем что нужно дублировать кучу данных, которые не нужны

Google
Sergey
26.04.2017
11:57:22
проще выгребать с эластика айдихи и потом по ним идти к мускулю

Dinar
26.04.2017
11:57:40
Вообще да. Наилучший юзкейс когда Эластик возвращает только Айдишки

.avolver
26.04.2017
11:59:46
А если elastic возвращает 25 тысяч ID-шников на запрос — хорошо ли брать потом столько строк из mysql?. WHERE id IN (1,..n=25k).

Sergey
26.04.2017
12:01:59
с доктриной вообще не лучшая идея выбирать столько

и в мускуле будешь ограничен только максимальным пакетом в 1мб по-дефолту вроде

.avolver
26.04.2017
12:04:16
У нас сейчас так сделано. elastic выдаёт кучу ID + mysql их сортирует и лимитит. И я вот думаю, как бы это рефакторнуть.

Правда с 25к я погорячился.

11 тысяч выбирается, в максимальном случае.

Sergey
26.04.2017
12:05:46
ну в целом ок) у нас так монга с мускулем общаются

и эластиком

на эластике правда 5к ограничение поставили, но из-за наших кейсов, а не потому что он не тянет

Dinar
26.04.2017
12:10:06
Как данные структурируете?

Google
Ivan
26.04.2017
12:10:54
плохо тем что нужно дублировать кучу данных, которые не нужны
и чем плох дубляж? только тем, что больше памяти требует?

Sergey
26.04.2017
12:14:47
и чем плох дубляж? только тем, что больше памяти требует?
ну если у тебя база на 100гб, то держать еще вторую такую же такая себе затея)

Dinar
26.04.2017
12:15:18
в плане?
Ну что вообще там храните?

Я просто вообще не понимаю, как ее юзать, чтобы было удобно

Sergey
26.04.2017
12:16:24
запчасти, каким машинам подходят эти запчасти, какие дистрибьюторы продают эти запчасти. из основного

Dinar
26.04.2017
12:16:51
А связи как организовываете?

Sergey
26.04.2017
12:17:01
по айдихам

Dinar
26.04.2017
12:17:03
Я знаю как реляционно хранить, чтобы не дублировать.

Ну так это ж реляционная модель

В чем профит монги?

Sergey
26.04.2017
12:17:15
и че?)

Dinar
26.04.2017
12:17:20
Больше проблем только? :)

Ты читал статью про монгу?

Sergey
26.04.2017
12:17:34
ну на мускуле шардинг делать такая себе затея

и терабайты данных он хреново тянет

по сравнению с монгой

Dinar
26.04.2017
12:18:01
Я давно давно вот эту статью читал.

Еще раньше работал немного с монгой

https://habrahabr.ru/post/231213/

Google
Dinar
26.04.2017
12:18:21
Но прочитал статью, и понял, что мне кажется, плюсов-то немного

А неужели нет реляционных БД, которые шардятся нормально, но при этом нормально поддерживают джойны и т.п.?

Sergey
26.04.2017
12:18:55
а зачем тебе джоины?)

.avolver
26.04.2017
12:19:45
Мы вот сейчас переносим все mysql-данные в mongo.

И хотим вообще отказаться от doctrine dbal-зависимости

Оставить только odm.

Sergey
26.04.2017
12:20:07
щас вообще в сторону кассандры смотрим

Dinar
26.04.2017
12:20:09
а зачем тебе джоины?)
Ну если есть связи по айдихам, то иногда таки нужны джойны, нет?

Sergey
26.04.2017
12:20:11
odm не юзай. гавно

Dinar
26.04.2017
12:20:18
Либо ты данные все равно связываешь в коде своем

.avolver
26.04.2017
12:20:22
А как юзать?

чистый mongodb экстеншн?

Sergey
26.04.2017
12:21:08
odm еще не поддерживает нативный новый экстеншен, только через адаптер. а из-за него производительность падает

.avolver
26.04.2017
12:21:17
В чем профит монги?
документы монги больше подходят для хранения объектов.

Sergey
26.04.2017
12:21:22
ну и плюс odm просто неудобен по сравнению с прямым экстеншеном

Dinar
26.04.2017
12:21:37
документы монги больше подходят для хранения объектов.
Но у тебя не один объект иерархический в системе

А сущности

Которые имеют перекрестные связи

Sergey
26.04.2017
12:21:53
Ну если есть связи по айдихам, то иногда таки нужны джойны, нет?
а если у тебя несколько разных баз, и вообще еще rest сервисы в придачу. как ты без джоинов жить будешь?

Google
Sergey
26.04.2017
12:22:25
отож. от сложных джоинов некоторые даже в мускуле отказываются

.avolver
26.04.2017
12:22:33
Ну конкретно в нашей задаче документы были бы лучше, так как сейчас есть несколько god-entity, к которым прицеплено по 20-30 разных подсущностей.

Sergey
26.04.2017
12:22:59
особенно когда делают джоин миллионной таблицы к другой такой же. типа юзеров к логам

ну, сфера приложения какая)

.avolver
26.04.2017
12:23:51
https://www.medkompas.ru/doctor/599/

Dinar
26.04.2017
12:23:53
особенно когда делают джоин миллионной таблицы к другой такой же. типа юзеров к логам
Ну хорошо структурированная БД с индексами не должна наверно таких проблем вызывать.

По крайней мере на средних рзмерах

Admin
ERROR: S client not available

Dinar
26.04.2017
12:24:14
Я к сожалению не имею опыта работы с очень большим массивом данных

Sergey
26.04.2017
12:25:36
если нужен джоин 2х огромных таблиц, чтобы по ним сделать поиск, то тут уже надо думать не о том что без джоинов это неудобно, а о том что это ппц как тяжко будет для мускуля

когда всего одна база юзается это конечно круто, но не всегда это реально и вообще необходимо

Dmitry
26.04.2017
12:26:19
а зачем доставать 11 тыс элементов впринципе? они все в рамках одной бизнес-транзакции как-то задействованы?

нуу юзкейс понять бы

Sergey
26.04.2017
12:26:36
map-reduce может для аналитики)

Sergey
26.04.2017
12:28:42
и еще редис поверх)

Dinar
26.04.2017
12:28:45
Ну опять же, от ситуации зависит.

Может и редис для кеширования

или любой другой кэш

Google
.avolver
26.04.2017
12:28:57
Доставать не достаём, но сортируем и лимитим. У нас поисковая параметрика реализована через elastic. Дефолтный поиск (без параметров) ищет по определённому городу (cityId) и с определённой сортировкой. Сначала elastic выдаёт все ID из определённого города, потом mysql сортирует их и обрубает для пагинации.

.avolver
26.04.2017
12:34:04
Здесь я уже не про монгу. А просто пояснил своё сообщение: "У нас сейчас так сделано. elastic выдаёт кучу ID + mysql их сортирует и лимитит. И я вот думаю, как бы это рефакторнуть."

Dmitry
26.04.2017
12:35:47
у эластика достаточно данных чтобы сделать нужную сортировку?

.avolver
26.04.2017
12:38:00
Пока нет, после рефакторинга — будет.

И mysql можно будет отрезать.

Dmitry
26.04.2017
12:39:01
да, будет норм можно и сразу эластиком резать

.avolver
26.04.2017
12:39:36
Я имел ввиду выбросить mysql из этой цепочки. Да, лимитировать эластиком.

Evegniy
26.04.2017
12:43:38
Всем добрый день. Подскажите, а как докидывать в профайлер perfomance события? http://shot.ruzarh.ru/2017-04-26-15-42-36-l3dta.png

Evegniy
26.04.2017
12:46:55
из контейнера берешь stopwatch и туда пишешь
Спасибо огромное! Я думал будет что то сложнее!

Евгений
27.04.2017
06:55:48
Добрый день всем! Подскажите пожалуйста, добавил в default коннект для доктрины секцию slaves со слейвом, но почему-то возникают ситуации что не все запросы которые изменяют состояния обьектов попадают на мастер, в чем может быть проблема? Ввлетает ошибка с read-only транзакциями ... как вообще это по уму реализовать master-slave?

Sergey
27.04.2017
07:10:48
покажи конфиг

Евгений
27.04.2017
07:30:16
# Doctrine Configuration doctrine: dbal: types: tsvector: Core\HelperBundle\DBAL\TsvectorType default_connection: default connections: # default Postgres connection default: driver: "%database_driver%" host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" mapping_types: tsvector: tsvector slaves: # a collection of named slave connections (e.g. slave1, slave2) slave: host: "%slave_database_host%" port: "%slave_database_port%" dbname: "%slave_database_name%" user: "%slave_database_user%" password: "%slave_database_password%"

Sergey
27.04.2017
07:33:41
вроде все ок. запросы случаем не вида INSERT ON SELECT?

а погодь. я не вижу тут мастера в конфиге

master: host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" slaves: ...

и еще keepSlave: true поставь, а то он после запроса на запись не будет делать выборки со слейвов

Евгений
27.04.2017
08:16:23
Спасибо большое, сейчас буду править .... !)

Evegniy
27.04.2017
10:13:13
Всем привет. Скажите, а как при multyKernel чистить кеш не для основного ядра?

Страница 197 из 1418