приложение php базы данных с плоскими файлами - PullRequest
1 голос
/ 27 октября 2009

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

Я использую мимесис (http://mimesis.110mb.com) это проще, чем использование mySQL, с которым я должен признать, что у меня мало опыта. Я задаюсь вопросом о безопасности БД. но файлы хранятся как php, и, похоже, это надежное решение для базы данных.

Мне действительно нравится простота резервного копирования и транспортировки баз данных, что мне сложнее с mySQL. Я вижу, что все, похоже, предпочитают способ MySQL - и, вероятно, он быстрее, когда речь идет о запросах, но кроме этого есть ли основания не использовать db с плоскими файлами и (наконец) правильно изучить mysql?


редактировать Просто, чтобы люди знали, Я закончил тем, что пошел с MySQL, и использую структуру CodeIgniter. Все еще похож на обычный файл базы данных, но теперь понял, что он намного сложнее для этого проекта, чем необходимо.

Ответы [ 8 ]

3 голосов
/ 27 октября 2009

Использование SQLite , вы получаете базу данных со многими функциями SQL, и все же это только один файл.

3 голосов
/ 12 апреля 2010

Привет, я создатель Mimesis. Реляционные базы данных и SQL важны в ситуациях, когда у вас есть большие объемы данных, которые необходимо обработать. Плоские файлы превосходят реляционные базы данных? Ну, вы могли бы спросить Google, поскольку вся их система архивирования работает с плоскими файлами, и это самая популярная поисковая система на Земле. Mimesis сравнивается с их системой? Скорее всего нет.

Mimesis был создан для решения конкретной нишевой проблемы. Я использую только бесплатные веб-сайты для своих онлайн-усилий. Множество бесплатных сайтов предлагают возможность использовать PHP. Однако они не предоставляют бесплатный доступ к базе данных SQL. Поэтому мне нужно было создать базу данных, которая будет хранить данные, реализовывать блокировку и работать с правами доступа к файлам. Это были основные параметры проекта Mimesis, и он успешно работает на всех из них.

Если вам нужно знать скорость Mimesis, если вы перейдете на первую страницу, она скажет вам, из какой страны вы просматриваете сайт. Эта бесплатная база данных взята с сайта ip2nation.com и портирована на Mimesis ffdb. В нем сотни, если не тысячи записей.

Кроме того, счетчик посещений на главной странице уже отслеживал более 7000 посетителей. Это уникальные посещения, что означает, что сценарий должен выполнить поиск в базе данных, чтобы узнать, существует ли уже посещаемый IP-адрес, а также выполнить подсчет общего количества IP-адресов.

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

Большинство других сценариев ffdb включают переписывание файла COMPLETE при каждом обновлении. Mimesis не делает этого, он переписывает только структурный файл и обновляет фактическое содержимое строки. Таким образом, даже если возникает ошибка, вы потеряете только добавленные новые данные, а не старые. Мимесис также поддерживает свою историю. Если таблица не обновлена, данные, которые ранее содержались в строках, все еще содержатся внутри.

Я мог бы продолжить рассказывать обо всех функциях, но это не задумывалось как «Мимесис - самая лучшая база данных за всю историю». Кроме того, он предназначен для того, чтобы открыть глаза людям на тот факт, что SQL не является ЕДИНСТВЕННОЙ доступной технологией, и что плоские файлы при наличии надлежащих парадигм разработки превосходят реляционную базу данных, учитывая, что они более специализированы.

Да здравствуют плоские файлы и кодеры, выдерживающие последующие головные боли.

1 голос
/ 11 февраля 2011

Хотел сообщить, что Mimesis перешел с исходного URL на http://mimesis.site11.com/

Более того, я перенес фокус Mimesis с ffdb на хранилище значений ключей.Это более разумно, учитывая типы информации, которую я храню, и методы, которые я использую для ее получения.Также была серьезная ошибка в кодировке Mimesis (которую я с тех пор исправил).Тем не менее, я все еще на этапе тестирования нового типа хранилища ключ-значение.Меня также отвлекли другие вещи.Блокировка также была изменена с использования создания файла на создание каталога в качестве механизма мьютекса.

1 голос
/ 27 октября 2009

Мне очень нравится легкость резервного копирования и транспортировка баз данных, которые С mySQL мне сложнее.

Используйте SQLite , как указано в другом ответе. Существует только один файл для резервного копирования или настройки периодических дампов баз данных MySQL в файлы SQL. Это относительно простая вещь.

Я вижу, что все предпочитают способ MySQL - и это, вероятно, быстрее, когда речь идет о запросах

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

кроме этого есть какая-либо причина держаться подальше от плоских дб и (наконец) правильно выучить mysql?

Конечно, есть много причин использовать решение для базы данных, но есть аргументы для простых файлов. Всегда полезно изучать вещи, отличные от того, что вы «обычно» используете. Большинство решений зависит от приложения. Сколько одновременных пользователей у вас будет? Вам нужна поддержка транзакций?

1 голос
/ 27 октября 2009

Ответ «Хорошо», если вам НУЖНА только плоская структура файла. Один тест: справится ли одна простая электронная таблица со всеми потребностями? Если нет, вам нужна реляционная структура, а не плоский файл.

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

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

0 голосов
/ 27 октября 2009

Проблема с переходом на плоский файл заключается в том, что для того, чтобы скорректировать ситуацию для дальнейшего развития, вы должны изменить значительный объем кода, чтобы улучшить основы системы. Принимая во внимание, что если бы это была чисто SQL-система, в будущем для ее изменения практически не потребовалось бы никаких изменений.

0 голосов
/ 27 октября 2009

Вы также можете посмотреть http://lukeplant.me.uk/resources/flatfile/ для пакета плоских файлов PHP.

0 голосов
/ 27 октября 2009

Interoperability.MySQL может взаимодействовать практически с любым языком, который имеет значение.Мимесис вряд ли будет использоваться вне PHP.

Это становится значительным, когда вы пытаетесь использовать профилировщики или изменять данные извне.

...