Реляционная база данных, доступная только для чтения в Google App Engine?

StackOverflow https://stackoverflow.com/questions/4663071

Вопрос

У меня есть база данных среднего размера (~ 100 МБ), доступная только для чтения, которую я хочу разместить в Google App engine.Я мог бы поместить это в хранилище данных, но хранилище данных работает довольно медленно, не имеет реляционных функций и имеет много других неприятных ограничений (не будем здесь вдаваться в них).Другой вариант - загрузить все данные в память, но я быстро превысил квоту, установленную Google.Последний вариант - использовать django-nonrel + djangoappengine, но я боюсь, что этот пакет все еще находится в зачаточном состоянии.

В идеале я хотел бы создать базу данных sqlite, доступную только для чтения, которая использует blobstore в качестве источника данных.Возможно ли это?

Это было полезно?

Решение

Я не думаю, что вы найдете что-то подобное ... Конечно, не в blobstore.Потому что, если все ваши данные хранятся в одном большом двоичном объекте, вам пришлось бы считывать всю базу данных в память для любой операции, а вы сказали, что не можете этого сделать.

Использование хранилища данных в качестве серверной части более правдоподобно, но ненамного.Большой проблемой с предоставлением драйвера SQLite была бы реализация семантики транзакций, и поскольку это ключевая вещь, которую GAE забирает у вас ради высокой доступности, трудно представить, что у кого-то будут большие проблемы с написанием такой вещи.

Другие советы

Django -Nonrel не волшебным образом предоставляет базу данных SQL - так что это не на самом деле решение вашей проблемы.

Возможна доступ к блокированию Blobstore, подобной файлу, но модуль SQLite требует собственного расширения C, которое не включено в App Engine.

Хотя можно получить доступ к объектам Blobstore через BlobReader Класс в качестве файловых объектов, он, вероятно, еще хуже, предмет данных, чтобы попытаться выполнить операции реляционной базы данных в таком файле, не загружая полную часть файла в первую очередь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top