Вопрос о php, js и mysql

S
На сайте с 30.09.2016
Offline
469
#71
Devvver:
Ограничения на количество файлов на хостинге.

Можно же и много строк в одном файле хранить.

Devvver:
когда накопится порядка 100К файлов в папке
Да и папок можно создать несколько.
Devvver:
в базе за счет того что оно в оперативе это будет быстрее. Или я не прав?
Мускуль в конечном итоге в файлах хранит информацию.

Если данные однородны, то следует их писать в базу, разбирая JSON на объекты. Тогда будет экономия по времени извлечения и по объёму данных. Если же там неоднородное месиво, тогда, на мой взгляд, можно рассмотреть и вариант с хранением в файлах.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
OI
На сайте с 19.07.2019
Offline
3
#72
Devvver:
Собственно вопрос:
Имеются данные, которые собираются в браузере с помощью JS в виде огромного JSON.
Но у меня большие сомнения по поводу такого метода. Ведь по идее можно подделать JS и сгенерировать JSON с вредоносным кодом. B php скрипт добавит его в базу.
У меня паранойя или это возможно? Если можно добавить - может ли злоумышленник каким то образом его запустить в БД?
Еще вопрос - так как размер данных очень большой - сколько можно грузить в базу без проблем? Можно будет ли работать с БД если ее размер будет 5-10 Гигов? Не будет ли тормозить в будущем при попытке импорта данных?

Спешу подогреть вашу паранойю, так как многие кодеры активно интересуются, как сделать перехват и изменение строки JSON https://myht.ru/question/34654139-perehvat-i-izmenenie-stroki-json-do-togo-kak-jque Соответственно это можно реализовать, да любую БД можно хакнуть. Если переживать об этом постоянно, то с ума сойти можно.

Вообще вы как-то поверхностно описали проект и проблему в целом. Почему вы считаете. что в обязательном порядке кому-то понадобится подделать JS и генерировать JSON с вредоносным кодом? Были предпосылки?

Sly32
На сайте с 29.03.2012
Offline
302
#73

OkoloIneta, Вот оно и видно что вы Около Нета! Не несите ахинею вместе со ссылками непонятно про что

Devvver
На сайте с 02.07.2008
Offline
662
#74
Sitealert:
Можно же и много строк в одном файле хранить.

Можно. Но мне потом надо экспортировать данные, делать по ним поиск.

Sitealert:
Если данные однородны, то следует их писать в базу, разбирая JSON на объекты.

Что имеется под однородностью?

Мой блог. Все о создании сайтов,Seo и СДЛ ( https://devvver.ru/ ) Мой SEO телеграм канал https://t.me/seobloggers
S
На сайте с 30.09.2016
Offline
469
#75
Devvver:
Что имеется под однородностью?

То, что JSON содержит объекты из известного набора с известными свойствами, а не случайные данные, формируемые пользователями из их собственных соображений.

_
На сайте с 24.03.2008
Offline
381
#76
Devvver:
Ограничения на количество файлов на хостинге.
Ну и опыт подсказывает что когда накопится порядка 100К файлов в папке - будет лагать.
Эти данные в будущем нужно будет экспортировать. Я всегда считал что в базе за счет того что оно в оперативе это будет быстрее. Или я не прав?

Мой опыт показывает, что 100к вполне рабоче, правда не на хостинге конечно, а внутри VPS.

Ну и конечно, лучше не в 1 папку сувать, а в несколько, это обычно не проблема.

Вот более 100к уже больше проблем. Более 1 млн надо уже думать серьезно.

Экспорт зависит "какой". Если вы не планируете пользоваться индексами от базы один вред.

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

Сувать туда просто текст смысла ноль.

ЗЫ. Файловая система - это такая база данных с доступом по имени-пути... вероятность того, что sql субд будут работать в этом применении быстрее стремится к нулю. Для большого кол-ва фалов есть кстати какие-то отдельно типы файловых систем... вроде бы еще быстрее.

lonelywoolf
На сайте с 23.12.2013
Offline
151
#77

Все верно, размер списка файлов в каталоге -4к по умолчанию. Если список файлов больше - повод раскидывать по суб-каталогам, так как начинает падать производительность.

Платный и бесплатный хостинг с защитой от DDoS (http://aquinas.su)
Devvver
На сайте с 02.07.2008
Offline
662
#78
Sitealert:
То, что JSON содержит объекты из известного набора с известными свойствами

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

Я предполагал таблицу, в которой есть 2 значения = id и JSON в 2 ячейке.

_SP_:
Если вы не планируете пользоваться индексами от базы один вред.

Погуглил за индексы - нет я не планировал их использовать, так как данные хотел хранить в 1 ячейке.

_SP_:
вероятность того, что sql субд будут работать в этом применении быстрее стремится к нулю

Ну почему? данные то будут в оперативе, а при чтении с диска будет медленее.

S
На сайте с 30.09.2016
Offline
469
#79
Devvver:
Набор свойств известен. Но я не хотел записывать каждое свойство в отдельную ячейку mysql именно по причине того что большой шанс что при попытке взлома мне могут залить левые данные. А значит нужно дополнительно делать проверку всех свойств JSON.

Если бы вопрос стоял именно так, то никто не пользовался бы MySQL, потому что эта проблема была бы у всех. Однако весь мир как-то хранит данные в БД.

Devvver:
Я предполагал таблицу, в которой есть 2 значения = id и JSON в 2 ячейке.
Дурная затея. Тогда проще в файлах.

---------- Добавлено 23.12.2019 в 14:17 ----------

Devvver:
Ну почему? данные то будут в оперативе, а при чтении с диска будет медленее.
А в оперативке они откуда возьмутся? С того же диска.
_
На сайте с 24.03.2008
Offline
381
#80
Devvver:

Ну почему? данные то будут в оперативе, а при чтении с диска будет медленее.

С чего вы взяли, что кеширование в памяти для базы будет лучше, чем для диска ?

В любой нормальной ОС ВСЯ свободная память кеширует операции с диском.

Если хотите работать "быстро и много", то есть такая штука как ram drive...

Создаете из памяти, копируете туда "что надо", работаете.

Идея хранить в БД в одной ячейке текст - ущербна.

Но это несколько проще, чем хранить в файлах.

---------- Добавлено 23.12.2019 в 14:31 ----------

ЗЫ. Ощущение такое, что вы хотите какой-то "хайлоад" сделать без опыта вообще и без понимания как работают простейшие вещи.

Если хотите результатов - придется кого-то нанять, либо полгода-год разбираться самому.

В первом случае вам "как надо" скажет тот, кого наймете. Во втором случае делайте в файлах и не морочьте людям голову.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий