Вопрос

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

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

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


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

Это было полезно?

Решение

Ответ будет "Отлично", если вам нужна только структура с плоским файлом.Один тест:Справится ли одна простая электронная таблица со всеми потребностями?Если нет, то вам нужна реляционная структура, а не плоский файл.

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

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вы также можете посмотреть на http://lukeplant.me.uk/resources/flatfile/ для пакета PHP Flatfile.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top