@gogolang

Страница 1542 из 1630
Artem
12.10.2018
09:08:39
указатель на структуру в канале передавать норм или не оч? Получатель из канала по уму не будет менять структуру

Никита
12.10.2018
09:09:49
Спасибо

Alexander
12.10.2018
09:11:26
Артем, указтель передавать дешевле, но что в итоге получится - никто не уверен

Google
Artem
12.10.2018
09:12:19
Илья
12.10.2018
09:12:28
Artem
12.10.2018
09:12:30
туда сюда копировать это такое

Илья
12.10.2018
09:13:28
Artem
12.10.2018
09:13:30
туда сюда копировать это такое
ток потом можно больше проблем хапнуть. Каналы и сделаны для синхронизации через копирование данных

если не хочешь копировать, юзай mutex

синхронизацию через память

Artem
12.10.2018
09:14:02
Норм, если ты не планируешь с ней работать со стороны отправителя
никто не хочет с ней работать. Она готова и ее только сунуть в реббит и забыть

Alexander
12.10.2018
09:14:19
туда сюда копировать это такое
Мне очень нравится твой ник, но письменность у тебя - детсадовская какая-то. Пожалуйста, будь тщательней!

Илья
12.10.2018
09:14:42
никто не хочет с ней работать. Она готова и ее только сунуть в реббит и забыть
Структура большая? Если она на стеке, то копировать дешевле

Такое бенчить стоит

Google
Artem
12.10.2018
09:16:37
хм у меня в структуре поле Data []byte. Значит мне лучше скопировать а слайс все равно передастся по ссылке. не?

many-faced
12.10.2018
09:16:48
Artem
12.10.2018
09:16:49
или оно копируется при передаче по каналу?

Artem
12.10.2018
09:17:00
Mykyta
12.10.2018
09:17:21
ага
Так а в чем сложность?

many-faced
12.10.2018
09:18:14
Так а в чем сложность?
Получая текущую страницу, нужно понимать, есть ли там ещё страницы, чтобы делать или не делать запрос на следующую страницу.

many-faced
12.10.2018
09:21:40
ну сделай COUNT(*) перед этим
ну вот да, сейчас так и делаю.

Alexander
12.10.2018
09:22:38
count(*) - это ад!

Alexander
12.10.2018
09:22:55
many-faced
12.10.2018
09:22:58
count(*) - это ад!
готов выслушать райские предложения =)

Artem
12.10.2018
09:22:59
ага, ток это дорого это

открой доклады с хайлоада по типичным оптимизациям в бд/приложениях

Ivanov
12.10.2018
09:23:31
beego, кто репликацую делал?

Alexander
12.10.2018
09:23:35
Если в табличке есть ключевой индекс, то надо count по этому индексу, чтобы не мучать базу

Alexander
12.10.2018
09:23:40
чойта?
эх, ща бы задавать тупые вопросы не зная контекста высказывания

Artem
12.10.2018
09:23:49
Alexander
12.10.2018
09:24:10
many-faced
12.10.2018
09:24:38
Mykyta
12.10.2018
09:24:53
count(*) - это ад!
count есть count, а если пользоваться не умеешь, то это не проблемы count

Google
Mykyta
12.10.2018
09:25:16
постгрес умная в этом плане?
Да легко проверить, поставь перед запросом EXPLAIN ANALYZE

Alexander
12.10.2018
09:25:27
база итак должна быть достаточно умная, чтобы догадаться
база должна быть честная, а не умная. Поэтому в нормальных базах count(*) это ад

Artem
12.10.2018
09:25:50
база итак должна быть достаточно умная, чтобы догадаться
лол предлагаю тебе запилить стартап: бд с ии. забирай идею

Alexander
12.10.2018
09:26:05
база должна быть честная, а не умная. Поэтому в нормальных базах count(*) это ад
> база должна быть честная, а не умная Честным должны быть только ассемблер и машинные коды, и то в современных процессорах это далеко не так.

many-faced
12.10.2018
09:28:08
Да легко проверить, поставь перед запросом EXPLAIN ANALYZE
count(*): "Planning time: 0.108 ms" "Execution time: 1.728 ms" count(id): "Planning time: 0.144 ms" "Execution time: 3.094 ms"

Alexander
12.10.2018
09:28:33
постгрес умная в этом плане?
PostgreSQL как раз честная база в этом плане

Alexander
12.10.2018
09:28:45
> база должна быть честная, а не умная Честным должны быть только ассемблер и машинные коды, и то в современных процессорах это далеко не так.
Если бы современные базы или, например, компиляторы, были честными, а не умными, то софт бы работал на порядок медленнее.

Alexander
12.10.2018
09:29:34
Если хочешь получить количество записей в табличке - спроси просто сколько записей в ключевом индексе. Это - любая база тут же скажет, без ползанья по диску

many-faced
12.10.2018
09:31:20
к слову https://habr.com/post/126233/

Alexander
12.10.2018
09:36:19
Если хочешь получить количество записей в табличке - спроси просто сколько записей в ключевом индексе. Это - любая база тут же скажет, без ползанья по диску
Вам любой разработчик БД скажет — не мешайте оптимизатору запросов работать, пока в этом не появится необходимость.

Alexander
12.10.2018
09:36:47
так я любому разработчику и не мешаю :)

оптимизатору :)

Alexander
12.10.2018
09:37:56
так я любому разработчику и не мешаю :)
Программист - очень неэффективный оптимизатор, когда дело касается вопросов микрооптимизаций.

Ilya
12.10.2018
09:38:07
Раз уж про БД говорим - как забить базу фейковыми данными для стресс-теста? Если вопрос покажется простым, сорян

Alexander
12.10.2018
09:40:15
тема уже переходит в фольклерную область, в общем. Не думаю, что тут много кто думал по-настоящему об отпимизации SQL-запросов :)

Artem
12.10.2018
09:41:14
Alexander
12.10.2018
09:51:04
Программист - очень неэффективный оптимизатор, когда дело касается вопросов микрооптимизаций.
А тут - никакой микрогоптимизации. Просто надо спросить count по ключевому индексу. А count(*) - это не всегда то, что все думали

Google
Marperia
12.10.2018
09:58:30
Прокомментируйте кто, пжлст Допустим, у меня стоит лоад бэлансер на основном сервере, он проксирует запросы на сервера с бизнес-логикой (по степени загруженности), которые используют большое количество slave-БД для чтения и одну master-БД для записи. При этом есть всякие мелкие запросы типа «поставить лайк», и их много. Стоит ли использовать для этого какую-нибудь быструю NoSQL, или как ещё извратиться, чтобы не загружать ими центральную БД?

Marperia
12.10.2018
10:02:31
можно их в эш складывать. А потом потихоньку обновлять чтобы лока небыло
Типа ставить всякие Redis/RabbitMQ на серверах с бизнес-логикой, записывать в очередь лайки, а потом формировать один запрос для одной записи с этими лайками и отсылать?

И соответсвенно дёргать значения лайков с кэша, а не с БД?

@onokonem спаси помоги, я знаю, ты можешь

Daniel
12.10.2018
10:04:13
А?

Я в дороге

В чем вопрос?

Marperia
12.10.2018
10:04:33
Эскезе муар

Alexander
12.10.2018
10:04:49
NoSQL, на изменение данных будет вряд ли лучше SQL

Marperia
12.10.2018
10:05:24
если нет проблем с перформансом на 1 БД, то зачем париться
Там чтения с БД на порядки больше, чем записи, поэтому разношу на slave-master. Но вот лайки...

Pavel
12.10.2018
10:06:02
Там чтения с БД на порядки больше, чем записи, поэтому разношу на slave-master. Но вот лайки...
ну я про лайки и говорю, зачем париться, если работает и запасов по мощности хватает

Subbotin
12.10.2018
10:06:11
блин. так мало библиотек переехали на go.mod пока

Илья
12.10.2018
10:06:29
Там чтения с БД на порядки больше, чем записи, поэтому разношу на slave-master. Но вот лайки...
Пиши в таблицу только insert, в очереди разгребай лайки, потом чисти таблицу

Subbotin
12.10.2018
10:07:11
блин. так мало библиотек переехали на go.mod пока
например не вижу ни одной библиотеки для toml с go.mod

Marperia
12.10.2018
10:07:12
ну я про лайки и говорю, зачем париться, если работает и запасов по мощности хватает
По прогнозам уже через две-четыре недели хватать не будет

Nibbler
12.10.2018
10:07:48
Почему нельзя положить в кэш и дергать оттуда? или я чет не понимаю?

Marperia
12.10.2018
10:07:57
Пиши в таблицу только insert, в очереди разгребай лайки, потом чисти таблицу
https://t.me/gogolang/154162 Так, что ли? Я совсем недавно в этом вашем хайлоаде

Google
Pavel
12.10.2018
10:08:21
1) шардинг 2) какую-нибудь кассандру воткнуть на лайки 3) очередь

Илья
12.10.2018
10:08:28
Я такое без очереди, через хип таблицы делал

Artem
12.10.2018
10:08:54
например не вижу ни одной библиотеки для toml с go.mod
а зачем им переезжать? если там тег стоит, то уже хорошо

Marperia
12.10.2018
10:09:07
Я такое без очереди, через хип таблицы делал
Это MySQL в оперативке, если я правильно помню? Key-Value же, типа редиса?

Pavel
12.10.2018
10:09:31
в любом случае лайки можно как отдельный сервис запилить и сделать под него отдельный сторадж

Илья
12.10.2018
10:09:41
++

Pavel
12.10.2018
10:09:50
потому что как я понял это единственный функционал, который напрягает базу

Marperia
12.10.2018
10:10:50
в любом случае лайки можно как отдельный сервис запилить и сделать под него отдельный сторадж
В общем да, наверное так и сделаю. Что посоветуете для хранения?

Artem
12.10.2018
10:10:58
и под стораж монгу выкатить например

Pavel
12.10.2018
10:11:21
В общем да, наверное так и сделаю. Что посоветуете для хранения?
куча вариантов выше была, вы только знаете требования по производительности записи/чтения, не мы ?

можно упороться и handlersocket взять, кек

Marperia
12.10.2018
10:13:21
В последнее время на типичных вопросах засыпаюсь как джун последний, ещё раз благодарю за разъяснения. Поставлю что-нибудь типа кассандры.

Foxcool
12.10.2018
10:14:53
вытеснение

неприменяемые знания вытесняются. Нормальный естественный процесс

а этот мсье непрост... http://robpike.io/

Alexander
12.10.2018
10:17:15
Сегодня день баз данных SQL?

Pavel
12.10.2018
10:19:01
какая нагрузка на лайки сейчас?

какой сервер базы?

Alexander
12.10.2018
10:20:05
нагрузка на лайки - это 5!

Страница 1542 из 1630