Я не совсем уверен, что вы подразумеваете под нативными возможностями для списков, наборов и словарей . Однако вы можете создавать классы, которые эмулируют типы контейнеров и типы последовательностей , определяя некоторые методы со специальными именами . Это означает, что вы можете создать класс, который ведет себя как список, но хранит свои данные в базе данных SQL или в хранилище данных GAE. Проще говоря, это то, что делает ORM. Однако отображение объектов в базе данных очень сложно, и, вероятно, не стоит придумывать собственный ORM, а использовать уже существующий.
Боюсь, что не существует универсального решения. Особенно GAE - это не волшебная волшебная пыль, которую вы можете посыпать своим кодом, чтобы он масштабировался. Есть несколько ограничений, которые вы должны иметь в виду, чтобы создать приложение, которое может масштабироваться. Некоторые из них носят общий характер, например сложность вычислений , другие специфичны для среды, в которой работает ваш код. Например, в GAE максимальное время ответа ограничено 30 секундами, а запрос к хранилищу данных работает иначе, чем в других базах данных.
Трудно дать какой-либо конкретный совет, не зная вашей конкретной проблемы, но я сомневаюсь, что GAE - правильное решение.
В целом, если вы хотите работать с большими наборами данных, вы должны либо помнить об этом с самого начала, либо вам придется переделывать свой код, алгоритмы и структуры данных по мере роста наборов данных.