@phpclubru

Страница 641 из 956
Yuriy
08.08.2018
20:30:36
а ты про кеш не вспомнишь?
Кешить можно всё что угодно, в тч запросы к массивам и тут mysql со всеми своими механизмами будет далеко сзади)

Dmitry
08.08.2018
20:30:37
Юрий, здесь мало таких... интересующихся, тут больше думающих... надеюсь

Pavel
08.08.2018
20:30:37
Поэтому вообще непонятно что с чем ты сравниваешь.

Что такое запрос к массиву?

Google
Yuriy
08.08.2018
20:36:20
Что такое запрос к массиву?
К примеру, классический перебор и сравнение.

Pavel
08.08.2018
20:36:39
А в каком ряде высоконагруженных задач у тебя данные лежат в 100 файлах ПХП ?

Dmitry
08.08.2018
20:39:55
Главное не проверять, как быстрее спуститься с 20 этажа - на лифте или по воздуху из окна

Adel
08.08.2018
20:48:41
мне надо было. чтобык кешам постоянно не стучаться.. этиданные нужны были прикаждом запросе. из 50 файлов всегда грузились два.

ноони были закешированы в памяти байткодом

поэтому работалошустро

Dmitry
08.08.2018
20:53:19
если не меняющиеся данные, то почему бы нет

Yuriy
08.08.2018
20:53:20
еще вопрос такой. а если записей не 50миллонов а 50триллионов?
Если это террабайты данных, то MySQL организуется по схеме горизонтального и вертикального шардинга (на физическом уровне это Ethernet) - и тут всё понятно. Что касается гипотетического решения на файлах/массивах, то я пока не панимэ как организовать серию серверов в кластер к которому могут иметь доступ несколько веб-серверов, на которые направляются запросы пользователей после балансировки. То есть не уверен что на физическом уровне можно так объединить сервера. Если схема решения всё же есть, то я б затестил. Но опять таки, скорость определяется узким местом - интерфейсом объединения серверов.

Dmitry
08.08.2018
20:55:32
юрий... займись общей теорией программирования, алгоритмами, ооп... этим ты принесешь пользу себе и миру... а хайлоад на массивах тебя настигнет сам

Google
Adel
08.08.2018
20:59:17
но никто не называет это вертикальным шардингом :)

Dmitry
08.08.2018
21:00:48
про это просто говорят очень редко в ввиду малой распространенности

Pavel
08.08.2018
21:01:06
> по схеме горизонтального и вертикального шардинга то есть диагональный шардинг

Yuriy
08.08.2018
21:18:45
А в каком ряде высоконагруженных задач у тебя данные лежат в 100 файлах ПХП ?
Представь, у заказчика говнохостинг и выделить на нём оперативки более 128М - ну это топ а то и меньше. Я не говорю ещё о max_allowed_packet для MySql. В подобных условиях, к примеру, прайс на 50 млн позиций будет адским хайлоадом и деление данных на файлы единственный вариант. Можно решить железом, но с другой стороны, почему бы не задуматься над архитектурой, которая будет масштабируема и эффективна. Хорошая архитектура выдержит как прайс на 50 млн позиций, так и очередную соц сеть на 100ни млн юзеров. И я не говорю что массивы это панацея, но показываю, что они как минимум в ряде случаев могут быть эффективнее sql бд.

Pavel
08.08.2018
21:19:58
а как ты засунешь 50 млн записей в массив если у тебя 128мб оперативки?

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

Dmitry
08.08.2018
21:25:07
массивы хороши только для поиска перебором или по ключу и только для тех данных, которые меняются очень редко и большими кусками сразу это очень и очень специфичные кейсы

а если данных много, то не массивы, а структуры в файлах подобранные под данные и характер поиска

Yuriy
08.08.2018
21:28:32
юрий... займись общей теорией программирования, алгоритмами, ооп... этим ты принесешь пользу себе и миру... а хайлоад на массивах тебя настигнет сам
иди про html-формочки нубам поясняй, как из отправлять, не забывай упомянуть про паттерны и антипаттерны с юнит тестами - реально сразу прям авторитет ??‍♂️

Adel
08.08.2018
21:29:14
Юра борзый :)

Dmitry
08.08.2018
21:29:55
ну он массивы с мускулем бенчмарчит, такие всегда почти борзые

Adel
08.08.2018
21:30:19
хайлоад-мастера

ARDEV
08.08.2018
21:31:19
срачик

Dmitry
08.08.2018
21:31:54
да... а потом спросишь на собеседовании как устроен хеш индекс... и никто ответить не может как же мы ячейку то нужную находим...

Yuriy
08.08.2018
21:33:52
а как ты засунешь 50 млн записей в массив если у тебя 128мб оперативки?
Я его потому и разбил на 100 файлов по 500 000 запмсей в каждом. Это реальные цифры но задача гипотетическая. И да, повторюсь, индексами можно обложить и массивы, что увеличит скорость в неменьшее количество раз. И снова, повторюсь, не настаиваю, скорее как деление опытом. Не утверждаю что опыт илеальный) Нооо я бы предпочёл читать об опыте коллег; расшифровыать новичкам очевидное мне менее интересно.

Pavel
08.08.2018
21:37:33
Ты конечно можешь начать городить классы которые за тебя управляют памятью, грузят 1 файл, потом освобождают память из под него, грузят второй файл. Но тогда это все будет не быстрее mysql.

Adel
08.08.2018
21:38:07
кстати тв своем тесте наверняка не прогрел ее

Google
Adel
08.08.2018
21:38:19
до теста

Yuriy
08.08.2018
21:39:40
Юра борзый :)
Я по лайту. Коллега не заметил, что я не прошу его поучать не по теме. Но, видимо проблемы с чсв, комплексы может, у человека.

Dmitry
08.08.2018
21:39:48
дада... данные в файлах.. ну можно индексы приделать... ну неплохо бы какое то апи удобное для поиска... надо бы еще оптимизировать все это, что бы быстро куски менять... ах, да, конкурентность, как бы блокироваться поменьше... что? говорите, написал свою субд, только кривее, неудобнее и ненадежнее.... ну нее...

Dmitriy
08.08.2018
21:41:24
массивно ориентированное программирование)

Dmitry
08.08.2018
21:42:04
Я по лайту. Коллега не заметил, что я не прошу его поучать не по теме. Но, видимо проблемы с чсв, комплексы может, у человека.
коллега заметил, что вы ничего не знаете и мало что умеете. и посоветовал вам путь к профессионализму... но вы можете меня заткнуть своей должностью в именитой хайлоад компании или ссылкой на доклад на конференции, например

Yuriy
08.08.2018
21:42:14
Ты не пояснил ни разу. Чтобы найти нужные подстроки среди всех записей тебе надо заинклюдить все файлы и перебрать их, памяти не хватит.
Хватает. Грузим полмиллионный массив, перебираем, загружаем очередной, в то время как прошлый выгружается.

Pavel
08.08.2018
21:42:45
уймись)
Ты провел бенчмарк неправильно, сравнил несравнимое, для кейсов которых не бывает, с гипотетическими алгоритмами которые нереализуемы на практике. Поэтому все так хейтят твой отчет.

Dmitry
08.08.2018
21:43:25
зато через окно быстрее...

Pavel
08.08.2018
21:43:48
Хватает. Грузим полмиллионный массив, перебираем, загружаем очередной, в то время как прошлый выгружается.
В какое то время? У тебя нет того времени. пшп создан чтобы умирать, работает в одном треде, все операции синхронны. Пока не дождешься полной выгрузки данных и сборки мусора, к следующему оператору не перейти.

Dmitry
08.08.2018
21:45:31
работа с говнолегаси подрывает нервную систему ...

Dmitriy
08.08.2018
21:45:55
Мы 3 года назад искали по массиву грузили 90 гб в память. и искали там что нужно. Разделяли на массивы по меньше. в реальности оказалось не очень. быстрее и дешевле грузануть чем пилить костыли с разделением

Dmitry
08.08.2018
21:47:22
мы делили апельсин...

Dmitriy
08.08.2018
21:47:44
а почему массивы?:)))
ну не массивы . там жсон бы сгенерированный хД мвп такой был.хД

Yuriy
08.08.2018
21:47:54
коллега заметил, что вы ничего не знаете и мало что умеете. и посоветовал вам путь к профессионализму... но вы можете меня заткнуть своей должностью в именитой хайлоад компании или ссылкой на доклад на конференции, например
Если бы у тебя было нечто подобное, то кинул бы ссылочку на свой доклад, где ты рассказываешь о нагрузках и с тестами. А так, выпендриваться особо нечем?

Dmitry
08.08.2018
21:57:51
так я и глупости не несу в этом чатике...

надеюсь...

ньюрелик прикольная штука...

Google
Adel
08.08.2018
22:02:15
ай стоп

ты ВСЕ данные загружаешь?

тогда смысла ясное дело нет...

но никому не нужны сразу все 50кк данных

их селектят по ид

Dmitriy
08.08.2018
22:03:56
и как в массиве делать сложные выборки ?

Admin
ERROR: S client not available

Yuriy
08.08.2018
22:04:41
надеюсь...
Возможно, глупости это всё, до чего ты не дошёл. Такое бывает. Я к примеру, не очень понимаю, зачем во все задачи тащат ООП даже уровня Hello World. Возможно, потому, что им типа-гуру нашёптывают, что ООП это вот всё. Но при этом моё ЧСВ в подобных ситуациях не страдает от такого - пропущу, не стану читать. Попробуй.

Dmitriy
08.08.2018
22:07:51
ты с Тарасом не знаком?
ну наконец-то я что зря видео искал. хД

Владимир
08.08.2018
22:09:46
Да это поди Тарас под другим именем…не бывает 2-х таких людей же)

Yuriy
08.08.2018
22:11:24
дада... данные в файлах.. ну можно индексы приделать... ну неплохо бы какое то апи удобное для поиска... надо бы еще оптимизировать все это, что бы быстро куски менять... ах, да, конкурентность, как бы блокироваться поменьше... что? говорите, написал свою субд, только кривее, неудобнее и ненадежнее.... ну нее...
Вот тут твой месседж ясен, но я сказал выше, что привёл тест не ради того, чтобы доказать что массивы лучше mysql, что надо писать свою субд на массивах. Хотя местами - стоит рассмотреть использование массивов.

Yuriy
08.08.2018
22:28:51
до хранения данных в файлах я дошел лет так 25 назад... и пошел дальше
картинки, видосики и пр. бинарники в блобах уже 25 лет?

Dmitry
08.08.2018
22:33:09
миленько...

Artur
09.08.2018
03:29:36
3.1) SQL выборка заняла 53 сек. (на 26% дольше)
Дай угадаю, like %xxx% и без индексов?

Artem
09.08.2018
05:50:51
я бы хотел поприсутствовать на собеседовании с этим чуваком и соверешенно не важно с какой стороны стола он будет сидеть. Это определенно будет весело :)

Google
Artem
09.08.2018
05:57:40
да не мне даже нравится когда человек делает ресерч, чтобы что-то понять. Но делать это откровенно с огроомными проблелами в основах CS -это тупик, а игнорировать аргументы -это проф непригодность. Надесь он просто тролил вас тут )) На самом деле забавно, когда человек делает очевидные и наивные выводы, но аргументирует этим какую -то ахинею) А вот такая беседа на собесе -это прям радость. Там время оплачено и можно предложить реализовать свою идею и поговорить уже по факту применив эту реализацию к реальной задаче.

dypa
09.08.2018
06:19:22
на собеседовании подобный кандилат - это катострофа, человек приходит и изливает на тебя свое сумашествие, тратит твое время и твои силы.

Артем
09.08.2018
06:32:38
Возможно, глупости это всё, до чего ты не дошёл. Такое бывает. Я к примеру, не очень понимаю, зачем во все задачи тащат ООП даже уровня Hello World. Возможно, потому, что им типа-гуру нашёптывают, что ООП это вот всё. Но при этом моё ЧСВ в подобных ситуациях не страдает от такого - пропущу, не стану читать. Попробуй.
ОФТОП: Присоединюсь к этой точке зрения. ООП это инструмент. Применять его надо там где это необходимо и оправдано. Многие задачи быстрее и проще решить написав плоский код в несколько строчек. Ну или методов.

а по теме поста. Научная работа не обязана иметь под собой прикладное значение. Надо отнестись как некое испытание - "А давайте без оптимизации MySQL сравним и Array в php". До этого исследования никто бы точно не сказал на сколько одно медленнее другого. С практической точки зрения, тоже не понимаю при каких условоиях нужно затащить 50млн записей в память и с ними потом оттуда работать.

Feodor
09.08.2018
06:44:30
А точно правильно на аргументированную точку зрения говорить что глупости это всё до чего ты не дошёл? Звучит как "сперва добейся". А научная работа обязана иметь строгую методологию, которой не предъявили.

Yuriy
09.08.2018
06:45:05
Стоило "разместить объяву" о скорости работы массива в сравнении с MySQL в рамках частного теоретического случая и понеслось ))) Я уже, оказывается, предлагаю заменять MySQL массивами во всех задачах и, конечно, делаю это сидя на собеседовании у местных сан-сеев, которые привыкли поднимать своё ЧСВ за счёт ответов на вопросы а-ля "не подскажете, почему PHP не работает" ) Амежтем, мне не более чем интересно изучать возможности интерпретатора в нюансах, к примеру, связанных с потребляемыми ресурсами, сравнивать эти возможности. И, сколько я не видел подобных тестов, подобными вопросами занимаются как раз люди с опытом. Хотя, наверное, опытом не таким большим, как у здешней петросянии.

Yuriy
09.08.2018
06:48:03
Дай угадаю, like %xxx% и без индексов?
Артур, индексировать можно и массивы. Проверял да, лайком. Но и значения массива можно сравнивать не только strpos'ом. Факт в том, что эксперимент относительно чистый с использованием стандартного инструментария, так скажем.

br
09.08.2018
06:48:40
а MySQL vs SplFixedArray тесты проводились? стоит перехеодить на второе?

Yuriy
09.08.2018
06:52:06
а MySQL vs SplFixedArray тесты проводились? стоит перехеодить на второе?
SplFixedArray быстрее стандартного массива, который уже в рамках частного случая порвал мускуль ))) (интересно, припекёт у кого-то от "порвал мускуль")

br
09.08.2018
06:53:58
а че за случай такой частный?

Yuriy
09.08.2018
07:03:02
а че за случай такой частный?
Он теоретический для изучения возможностей. Хотя можно подверстать под него вполне себе практическую историю, в которой главное что имеем это ограниченный хостинг (обычный разделённый), в рамках которого любая задача с миллионами записей становится хайлоадом.

Артем
09.08.2018
07:03:13
любая научная работа должна содержать НОВИЗНУ!
Бенчмарк "не оптимизированный мускул vs голыемассивы". Я такого еще не видел)))

Yuriy
09.08.2018
07:04:41
Ребят, да какое исследование и ресёрч? )) Ну мне самому смешно ) Не более чем один из тестов. Ну провалилась на нём мускуль - ну тем и интересен показался ))

dypa
09.08.2018
07:04:55

Страница 641 из 956