Рекомендуемый способ хранения rich text для веб приложения
Всем привет! Мир всем, это мой первый вопрос здесь, заранее спасибо за ответы.
Я делаю сайт, в котором хочу предоставить пользователям возможность добавлять свои красиво оформленные куски страницы, заметки. С линками, изображениями, видео, стилями и тд. Каждую заметку надо будет привязать к записи в БД. Сами заметки по смыслу будут представлять собой текстовый атрибут объекта, скажем описание. Но не просто текст, а некий rich text. В настоящее время думаю, что это будет HTML, вероятно фрагмент HTML, состоящий из корневого элемента <p> или <div> с вложенными элементами. Размер HTML может варьироваться в широких пределах. Все эти данные желательно иметь возможность хранить долго, переносить куда надо при необходимости, делать бэкапы по времени, и масштабировать систему.
На бэкэнде - Linux сервер с базой MySql и приложение на .Net. Можно MongoDb привлечь, если это дает какие то преимущества. Или еще какую-то нужную подсистему.
Как лучше всего в данной ситуации хранить Rich Text заметки?
Видятся варианты:
- Хранить HTML в поле таблицы MySql
- Хранить закодированный base_64 или иначе HTML в поле таблицы
- Хранить в файле, а в поле таблицы держать имя файла
- Хранить в облаке, а в поле таблицы держать адрес в облаке
Есть ощущение, что хранение сырого HTML в таблице MySql может дать нежелательные эффекты, да и encoded тоже как-то не очень эффективно. С файлом возникают сомнения о том, не изобретается ли велосипед, плюс необходимость дополнительного обслуживания, бэкапов, дискового пространства и т.д. С облаком есть сомнения, что хранение данных не у себя на сервере может обернуться теми или иными нежелательными и неконтролируемыми результатами.
Какой подход к хранению таких данных рекомендуется?