С помощью того кода, который вы написали, вы просите SDK синхронизировать содержимое ENTIRE вашей базы данных каждый раз, когда что-то меняется. Это означает, что все содержимое памяти должно постоянно находиться в памяти. Это, вероятно, не очень хорошая идея, если только вы не знаете, что размер вашей базы данных ограничен.
Вместо этого попробуйте постоянно синхронизировать часть базы данных, и только если вы все время понимаете ее требования к памяти. Если часть базы данных может стать неограниченной, вы почти наверняка не захотите делать это вообще. Поскольку вы на самом деле не сказали, какова ваша цель, вы можете просто не делать этого, пока не получите четкую цель для постоянной синхронизации.
Даже если вы синхронизируете только один раз (с помощью addEventListenerForSingleEvent), все содержимое ссылки по-прежнему должно полностью помещаться в памяти одновременно. Так что подумайте о том, что вы пытаетесь сделать здесь.