Если вы собираетесь сохранить рисунок как изображение, у вас есть несколько возможных решений.
- Сохранить пункт где-то в папке и сохранить путь к каталогу + имя файла в базе данных
- Сохранение изображений в базе данных как
blob
. Тем не менее, Blobs действительно интенсивно работают с базой данных.
Есть несколько интересных статей о блобе. Как this one от microsoft.
Как и ожидалось из общей мудрости, объекты размером менее 256 КБ лучше всего хранятся в базе данных, а объекты размером более 1 М лучше всего хранятся в файловой системе.
Таким образом, это будет лучшим решением для сохранения изображения в каталоге.
Также можно экспортировать файл с рисунком svg
. (info) Я не знаю, поможет ли это вам, но это мой личный опыт. И я согласен с вами в том, что хранение тысяч команд в базе данных не лучшее решение. Поэтому вы можете захотеть взглянуть на сохранение изображений где-нибудь, но тогда вы потеряете возможность редактировать изображение, если у вас это реализовано.
Update:
Если вы не хотите, чтобы сэкономить blob
лучшим решением было бы «вынести» изображение на каждый раз редактировать производится. Таким образом, вы можете выполнять все команды, когда кто-то открывает чертеж. Применяйте только последние команды при запуске редактирования.
Существует несколько вариантов достижения этого. Например Jimmy Chandra сказал, firebase
было бы хорошим решением. Они также предоставляют tutorial с почти всем, что вы хотите достичь. (рисование изображения с использованием x
и y
координат в реальном времени) Возможно, вам стоит взглянуть на это.
Немного больше информации о Firebase.
Firebase мощный API для хранения и синхронизации данных в режиме реального времени
Это именно то, что вы хотите достичь, я верю. Вы можете попробовать полный учебник here.
Другой вариант, который вы можете принять во внимание, - nodejs
. Я видел людей, использующих nodejs
для чат-систем для отправки данных всем другим пользователям. Если вы можете отправлять данные, я уверен, что вы можете сделать с ним изображение.
В конце концов, вам решать, какую технологию вы хотите использовать. Поэтому я думаю, что вам придется исследовать несколько решений, как я предложил, и задать другой вопрос, если у вас возникнут проблемы с интеграцией этой технологии.
Вы смотрите на Firebase? Они неплохо выполняют эту трехстороннюю синхронизацию. источника, сервера и других клиентов одновременно ... https://www.firebase.com/tutorial/#session/nvjq7b2kop2 –