Вопрос довольно открытый конец, и вы действительно должны обеспечить некоторый код, чтобы то, что вы пытались и, возможно, Firebase структуры данных.
Это, как говорится, ответ, что да, это можно сделать; но есть проблемы для преодоления.
Если вам необходимо обновить коллаборационисты только с измененными пикселями, это будет проблемой, если вы храните 10 Мб фрагментов всего изображения.
Если пиксели 5000 и 5001 в slice_0 изменены, вам нужно будет записать весь фрагмент размером 10 Мбайт в Firebase (поскольку он хранится в одном узле), который затем уведомляет ваших соавторов через событие наблюдения, после чего они будут скачайте, что 10Mb slice (Ouch)
Это толкает много данных, потому что оно недостаточно гранулировано.
Более простым решением является разложение данных и сохранение элементов, например, строка; «Hello, World»
my_string
element_00: "H"
element_01: "e"
element_02: "l"
...
element_11: "d"
С этой структурой, если элемент element_02 изменяется, это простое обновление для всех сотрудников. Однако теперь у вас есть миллионы узлов, хранящих отдельные фрагменты данных.
Развивая эту структуру, вы должны решить, какой размер срез данных против производительности против масштабируемости будет работать для вашего приложения:
my_string
element_00
data: "Hel"
start: 0
end: 2
element_01:
data: "lo,"
start: 3
end: 5
element_02
data: " Wo"
start: 6
end: 8
element_03
data: "old"
start: 9
end: 11
Теперь, если element_02 изменения, это гораздо более управляемым и гораздо меньше узлов в и узел легко расположен, так как каждый хранит 3 значения, и вы знаете, какие значения они находятся через начало и конец.
Существуют десятки других структур, которые будут работать: например: устранить начальные и конечные дочерние узлы и вычислить имя узла с помощью уравнения, чтобы получить тот, который вы хотите. Например; node_name = int (pixel_ #/3), поэтому символ 3 (l) будет element_01 через 3/3 = 01.
Мы не знаем объем приложения, поэтому я бы предложил взять файл 100 Мб, вверх по некоторому коду и структуре Firebase и дать ему вихрь.
Вы можете попробовать нарезать кусочки 1Mb (так было бы 100 из них) и посмотреть, как производительность и настроить оттуда.
Я с Джей здесь. Почти любое приложение может быть смоделировано в Firebase, так как это просто (по общему признанию, потрясающая) база данных. Однако, как эффективно сопоставить вашу проблему с этой базой данных, это другое дело. Он невероятно широк, зависит от знания всех ваших прецедентов и теперь легко ответил в нескольких параграфах. Если у вас есть структура данных и у вас есть прецедент, который вам трудно поддаться, отправьте ответ с этими особенностями, и мы, возможно, поможем вам в дальнейшем. –