Maksim (Ellrion)
но есть общепринятые паттерны решения задач
их ты установил? я не в одной конторе видел как используются джейсон поля в постгресе и мускуле. Эти поля и решают проблемы используя общепринятые паттерны
Alexander
Суть в другом, есть одно место в которое просится json и mongo и из за этого проект переводить на монго? Или хранить все в реляционной а продукты в монге?
Anton
еще раз - я ничего и никому не запрещаю
Anton
и не говорю как ты ДОЛЖЕН делать
Anton
я говорю как задачи решают в массе своей
Anton
и наверное есть рациональное зерно в том что многие так решают
Anton
и на мой взгляд превращать реляционную БД в документоориентированную - ну это слегка не правильно
Alexander
Ну т.е. ты считаешь рациональным ради одного узкого места использовать монго?)
Maksim (Ellrion)
В смысле? Там же просто ключ - значение.
тогда я не понял как ты цвета там собрался хранить {"red":1, "green":1} - так что ли?
Anton
например не пихать в JSON, а сделать нормальную связь одну ко многим
Alexander
Ну так с этого начинать нужно, а не монго предлагать)
Alexander
например не пихать в JSON, а сделать нормальную связь одну ко многим
Ну так с этого вопрос и начался, json или связи сделать)
Anton
предлагать монгу я стал только со слов - а я хочу реляционную в документоориентированностью
Maksim (Ellrion)
не надо мне своих фантазий
с тобой дискутировать вообще писец. ты не слышишь аппонента. говоришь безапеляцеонно. а потом съезжаешь на "это мое мнение"
Maksim (Ellrion)
0 : "Green" 1 : "Red" 2 : "Blue"
вот именно. а теперь найди мне продукты которые имеют красный цвет
Anton
Попробую объяснить свою позицию чтобы не было недопониманий
Anton
Я попытался объяснить почему считаю что json в реляционной БД это костыль и этим самым дать понять что решение - обычные связи 1 ко многим в этом конкретном случае лучше
Anton
Но и не собирался никому запрещать использовать json в реляционных БД
Anton
Но получил в ответ - оскорбления и наезды
Anton
Очень любопытно спрашивать совета так
Anton
Учту на будущее
Maksim (Ellrion)
Но получил в ответ - оскорбления и наезды
что то ты заговорился, хоть одно оскорбление покажи?
Алексей
вот именно. а теперь найди мне продукты которые имеют красный цвет
$result = DB::table('products') ->whereIn('colors', ["red"]) ->get(); ?
Anton
слово съезжаешь - имеет конкретную негативную коннотацию
Anton
обвинения что я не слышу оппонента - ложно
Anton
ну то есть ты мне преписал непонятно что
Maksim (Ellrion)
обвинения что я не слышу оппонента - ложно
ну так это объвинение а не оскорбление.
Anton
вобщем выяснение отношений считаю вообще лишним в этом чате и предлагаю перенести дискуссию или в личную переписку или просто остановится
Anton
пока это только предупреждение
Anton
переходить на личности лучше в личной переписке
Maksim (Ellrion)
переходить на личности лучше в личной переписке
ну раз уж на то пошло то ты первый обвинил всех кто использует json поля в некомпитентности)
Anton
я попросил прекратить личные обвинения
Алексей
Спасибо за ответ. Оставлю, пожалуй, таблицы связи.
Alexander
Разрядил обстановку :)
Anton
Я дважды попросил
Максим
Добрый день! Нужно залить в базу файл csv (два поля, разделитель ,) в котором 133 млн строк (размер 1,5 гб) Как это можно ускорить? Понятно что можно считать по строкам и инсертить например по 1000 штук Может можно распараллелить как то? Какие есть идеи?
Ivan
как вариант загрузить в базу из csv (если mysql)
Ivan
или цикл с офсет лимит =)
Artem
Ребят, что посоветуете использовать лучше для очереди?
Artem
Redis ?
Максим
как вариант загрузить в базу из csv (если mysql)
такой вариант не подходит, к базе нет доступа про цикл не очень понял, как его сделать?
Максим
Бд какая?
постгрес
Anonymous
Redis ?
rabbit
Artem
rabbit
У ларавел есть поддержка?
Artem
Или надо очередь не стандартную запускать
Anonymous
У ларавел есть поддержка?
не из каробки но пакеты есть
Ivan
такой вариант не подходит, к базе нет доступа про цикл не очень понял, как его сделать?
распарси csv на php в массив или обьект, вставляй в базу в цикле со сдвигом limit 1000, offset 1000 limit 1000, offset 2000 limit 1000 и т.д.
Anonymous
У ларавел есть поддержка?
https://github.com/vyuldashev/laravel-queue-rabbitmq
Leonid
Корректно ли правила валидации указывать в eloquent моделях?
Anton
fopen, freadcvs
Ivan
113 млн строк распарсить в массив?)
можно сносить предыдущие 1000 и вставлять новые 1000
Leonid
а где их тогда указывать?
Ivan
или использовать генератор
Максим
fopen, freadcvs
я так и делаю, читаю построчно, инсерт делаю по 1000 штук, но все равно очень долго, может как то в несколько потоков можно, например начинать файл с конкретной строки, по частям
Anonymous
А чем лучше редис?
рэдис это БД, а рэббит полноценный сервер очередей со своей БД
Artem
И что
А преимущества
Anonymous
И что
ок, + для меня, что можно создавать очередь с выходом из которой осуществляетсья по истечению времени.. а не как первый зашел первый вышел
Anonymous
ок. бери редис
Artem
А sqs что это?
Alexander
а где их тогда указывать?
В модель должны попадать уже подготовленные, отвалидированные данные. На уровне контроллеров
Anton
тогда нужны опитимизации
Максим
Если я распаралелю по воркерам, в базу инсерты будут в 1 поток? или несколько?
Anton
я бы думал про несколько потоков и с разных частей файла пускать