Доброго Времени Суток! Как вы считаете, как лучше организовать и какой способ будет все таки быстрее для переборки ? Вариант1 - accounts/ -- username1/ --- profile.yaml ... ... -- username1000/ --- profile.yaml Вариант2 - accounts/ -- username1.yaml ... ... -- username1000.yaml
однозначно 1 вариант .... при большом кол-ве файлов в папке в Линуксе - довольно много времени на перебор тратится особенно если они большие, в зависимости от хоста заметно уже от 500-600 файлов в одной папке
Однозначно второй. А за первый надо по рукам бить большой толстой школьной линейкой. Долго бить. Ну а дальше зависит от числа файлов. Оптимально разбивать на группы по ~1 тысячи. Об этом уже говорили. Например, https://php.ru/forum/threads/xranenie-izobrazhenij-na-servere.34688/ , https://php.ru/forum/threads/kak-luchshe-xranit-izobrazhenija.46231/
.@Chushkin - вы товариш во всех обсуждениях только и знаете бить линейкой, не раскрывая сути вопроса. Лучше б два предложения - почему так не надо делать. А ещё лучше результаты тестов - когда быстрее. Я так на задачу посмотрел шире, с запасом, что человек будет хранить вообще не один файл на пользователя, а множество. Я на своем опыте это познал, что когда более 500 в одной папке, то начинаются тормоза.
А я что написал? Тоже самое, только вид сбоку. - Если у каждого юзера будет 200-1000 файлов, то первый вариант подходит. Или второй с разбивкой на группы. По сути и то и другое будет "с разбивкой на группы", - что эффективнее будет зависеть от конкретики. - Если один файл, как указал ТС (!), то ... линейкой за первый вариант. 1) Опыт говорит, что "линейкой" эффективность 99%, а "раскрытие сути вопроса" менее 10%. 2) Когда-то тестировал, давно, в начале 2000-х (результаты не сохранились конечно). С тех пор ничего не изменилось - ФС те же. п.с. Где-то читал, что вроде-как придумали ФС, которым миллионы файлов в каталоге нипочём, но мне такие не попадались на практике.
Конечно, второй лучше, если с «пользователем» связан только один файл и у ветки accounts нет «собственных файлов». Вообще я не завидую разработчикам CMS на файлах
Чей та? Делай дамп и загоняй )) А вообще, мне больше нравится современный тренд на handless cms. Думаю ещё год или два и те же strapi или ghost станут вполне себе решением для небольших проектов.
@ADSoft, чтобы использовать YAML. В БД пока нет YAML-полей. @artoodetoo, просто халявный хостинг гитхаба не поддерживает БД @romach, дамп плохо воспринимается хомо сапиенсами. А железу можно скормить все что угодно. Стерпит. (Я про YAML.)
@miketomlin ну просто сейчас есть два отдельных развивающихся тренда: 1. Генераторы - когда после билда у тебя появляется каталог dist с html,js,css и ты заливаешь всё это на любой хостинг. При этом тебе ни что не помешает подтягивать ещё данных с клиента и работать это будет на любом хостинге 2. CMS без фронта: от бложиков типа gost, до довольно интересного strapi, где ты собираешь структуру сущностей прямо в админке и у тебя сразу появляются формочки с табличками, данные хранятся в какую-нибудь монге, а доступ ко всему этому ты получаешь через api, что позволяет интегрировать это всё куда угодно (в теории, на практике пока не слишком впечатляет) Так вот - эти два случая я понимаю, первым время от времени пользуюсь и с нетерпением жду когда добьют второй до production ready (реального, а не заявленного), а вот cms на файлах - нет. С одной стороны они всё равно требуют среды выполнения, а с другой - файлы не дают такой гибкости использования, как БД. Короче, непонятно )
@romach Код (Text): Так вот - эти два случая я понимаю, первым время от времени пользуюсь и с нетерпением жду когда добьют второй до production ready (реального, а не заявленного), а вот cms на файлах - нет. а как же Statamic ? Kirby ? да и тот же Grav от разрабов Джумлы ? вполне успешные и крупные проекты. Первые два еще и денег стоят. --- з.ы. да я и сам делю свою Flat File CMS - Flextype. Это лишь вопрос времени - плагинов, когда она сможет генерировать простую статику и станет HeadLess. По поводу второго, уже в 0.9.7 - Появится Delivery Content API. И по сути Flextype 0.9.7 можно будет юзать как HeadLess систему.
Это радует. Я где-то раз в 2-3 месяца посматриваю на Flextype и каждый раз он становится вкуснее. То что вы делаете - очень круто на самом деле )
@Awilum, да делайте себе на здоровье. Только без агрессии. А то на серче на днях уже забросали тапками одного, за то что он посмел пренебрежительно высказаться об CMS на файлах и топил за использование БД. По тебе, кстати, там тоже прошлись как-то не оч. хорошо. На мои насмешки тоже не обращайте внимание. Я с товарищами перестал использовать подобные CMS лет десять назад, причем они уже тогда на самом деле были гибридами, т.е. в них активно использовались БД. Поэтому, когда сейчас мне говорят, что файлы можно использовать для хранения контента, отличного от традиционных медиафайлов (картинок и т.п.), конфигурации и разнообразного кэша, я смеюсь, не сдерживаясь. Ну еще логи можно хранить. Шаблоны к контенту я не отношу, т.к. в отличие многих разработчиков подобных CMS стараюсь не смешивать их с контентом. Headless и т.п. – это хорошо. Для нек. разрабов это не какой-то новый тренд, а сто лет как обыденность. Присоединяйтесь --- Добавлено --- P.S. С мыслью, что CMS на файлах можно использовать для «простых сайтов», согласиться могу. Но, как по мне, они сейчас все какие-то «корявые». Так что у вас есть шанс отличиться P.P.S. Хотя главное – это все же БД. В то время как нек. «коллекционеры контента» распределяют его по файлам и папкам, я заполняю БД любым доступным в конкретный момент способом.
Ты просто глянь на свежие тренды. Пока оно ещё он не production-ready, в том плане что нельзя его просто так взять и использовать как тот же wordpress, местами вылезают либо недоделки, либо критически не хватает функционала. Но как тренд - это уже продвинулось довольно далеко как для бложиков, так и для простеньких каталогов / магазинов. В том же strapi можно прямо в админке сформировать сущности, связи между ними и получить на выходе как редактор табличек / формочек, так и api для доступа ко всему этому. У меня правда нет ни одного таска, что бы это применить, потому что все что я обычно делаю не ляжет ни на одну CMS, но если возникнет какой-нибудь лэндос с сотней товаров - я всерьез задумаюсь взять что-нибудь подобное. Ах да, strapi хранит все в БД, причем диапазон широк, от mysql до монги. p.s. хотя, подозреваю что у тебя тоже нет таких тасков. эх, на ком бы протестировать это? ))
@romach, я видел твой пред. адресованный мне пост Для нек. разрабов это тоже не какой-то новый тренд, а обыденность.
@romach, лично мне удобнее манипулировать структурами данных на SQL. Без всяких прокладок и тем более свистоперделок. P.S. Кстати, классное «strapi», например mysql alter...
@miketomlin Какая агрессия ? можно ссылку ? У меня вечный бан на сраче.ру. Гопота туда более не пускает. По поводу трендов. Да, в ближайшем будущем - API First / Headless системы будут в тренде и этот тренд будет только расти с ростом девайсов и тд. А вот тренд на монолитные системы будет спадать и неважно FlatFile или какая еще там другая БД.
Если директории содержат по несколько файлов, это одно дело, но хранить по одному файлу уж точно смысла нет. Ну и не надо сваливать тысячи файлов в одну директорию, если размещать по тысяче файлов в директории, то тысяча директорий это уже миллион файлов, с которыми можно уже работать, но если это текстовые файлы, лучше их в базе данных хранить, меньше места будут занимать, и работать с ними проще.