IDE как система - база данных или файловая система для хранения - PullRequest
0 голосов
/ 29 февраля 2012

Проект с открытым исходным кодом IDE-подобная система для редактирования кода, изменения изображений, , запуска кода и т. Д. Для учащихся в школе.

Содержит загрузку архива / папок с характеристиками:

  • Загрузка архива, содержит до 30 файлов (txt, js, xul, xml, php, gif / png /jpg), av.size всего 500kb
  • Пользователи могут редактировать и разветвлять
  • все файлы доступны для редактирования через Codemirror (как используется в jsfiddle)
  • всеGif / Png / Jpg являются заменяемыми (10 - 40 на архив)
  • мы ожидаем ежедневно как минимум 1 000 новых загрузок / форков со средним числом 20 файлов, общий размер мин.500 МБ

Наша среда:

  • PHP
  • наиболее вероятная база данных MySQL
  • Linux

Для рассмотрения:

  • Нам не требуется Поиск по папкам / файлам в глобальной области действия
  • Пользователь сохранил данные как есть, никаких изменений с нашей стороны не требуется

Состояние разработки:

  • Готов помимо хранениявопрос и все их зависимости

Вы бы посоветовали SQL или простую файловую систему?

Перед началом проекта мы были уверены на 100%, используя MySQL, но сМы боремся за добавленную функцию модификации изображений и растущую базу данных (файлы atm 80 / k, 2 ГБ).Также читая здесь , позвольте нам тоже колебаться.

Преимуществами MYSQL, несомненно, являются простота обслуживания и более простая реструктуризация системы в будущем.Хотя это позволит быстро найти огромную базу данных.

Используя глобальный php entryfile для чтения файловой системы на основе параметров URL, можно пропустить поиск и сразу перейти к отображению извлеченного каталога с его содержимым.

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

Вместо того, чтобы голосовать за базу данных или файловую систему, подумайте над своими собственными советами, чтобы сделать эту среду более эффективной для запуска (например, индексирование , структура, таблицы и т. Д.).) или уточните ваше решение.

очень благодарен за любые советы от вас

кстати, проект будет размещен на git

1 Ответ

1 голос
/ 01 марта 2012

Я считаю, что лучший вариант - это файловая система с учетом ваших требований.Плюсы этого выбора:

  1. Повышение производительности вашей базы данных, поскольку таблица будет содержать только ссылку на вашу файловую систему, где хранится файл.
  2. Проще сделать резервную копиюбаза данных.
  3. У вас есть возможность хранить файлы в разных местах, определяя правила.Это дает вам гибкость в управлении вашим хранилищем.

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

Надеюсь, что мой ответ будет вам полезен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...