Привет всем. Ситуация такая: у меня есть сайт, у которого файловая база на php файлах, в которых прописан php код в виде массивов с информацией. Подскажите, не делаю ли я грубейшей ошибки в этом случае? И какой вариант хранения файловой базы лучше всего (емкость кода и возможность его динамичного использования)? И какой рекомендованный размер файлов?
Если у вас нет какой-то очень серьезной причины использовать файлы, лучше использовать базу. Если причина есть, то возможно стоит ее описать и отталкиваться от нее.
да как сказать. если делать полный объём описаний всех существующих природных фаун + ещё ссылки на изображения. и прочие удобства. это получается не хило уже начинаю подумывать как разбить раздел на несколько файлов и более. но как это сделать, варианты конечно есть но ещё не утвердил их.
А базу я не хочу из принципа. своя рубашка ближе всего. да и стабильной безопасности проще добиться.
Потому что php интерпретируемый язык. Т.е. нет средств хранения чего-то в памяти. Т.е. даже если вы напишите супер эффективные индексы для вашей БД, то их придется читать каждый раз с диска, а это бешеная нагрузка на I\O, я уж не говорю о том, что без индексов вы вообще сдохните. Поэтому пользователи будут страдать.
Хотя если идут в ход аргументы "хочу свой туалет а не стоять в очереди в общественный", то не уверен, что имеет смысл пытаться наставить вас на пусть истинный.
Правда ваша. но туалет это не неотъемлемая часть нашей жизни "суть этой фразы такова что хочется своё." приятнее иметь свою машину а не у соседа брать чтобы по кататься.
я эту тему и поднял для того чтобы понять где я могу допустить ошибку и теперь понял. но база нужна и ни как иначе. кто знает может ещё тоже по мучаюсь и пойду у соседа машину просить.
Если нужно кей-валью хранилище есть CoutchDB, MongoDB. Сейчас огромный выбор хранилищ на любой веус и цвет. Писать свое имеет смысл, с моей точки зрения, только либо с целью научиться писать хранилища, либо если есть какая-то очень узкая нишв где ничто не подходит. Но во втором случае вам стоит взять не php, а c++ или эрланг или что-то еще модное, но нативное, а из php цепляться через сокет и слать запросы в каком-то формате.
Какой объем? Современные базы могут тянуть очень большие объемы, просто нужно мощное железо и правильное индексирование. Какой у вас примерно объем? Сотни тысяч строк? Миллионы? Сотни миллионов? Сразу говорю, если меньше миллиона можете даже не заморачиваться, это даже встроенные БД типа SQL Server Compact проворачивают на напрягаясь. Если десятки-сотни миллионов и нужен полнотекстовый поиск и сложные запросы то тут уже посложнее, но тоже вполне решаемо.