Как хранить большой двойной массив на Java AppEngine - PullRequest
1 голос
/ 20 февраля 2011

У меня есть массивы из 10000 двойных значений, которые я хотел бы сохранить в хранилище данных приложения JAVA. Мне не нужно запрашивать какие-либо значения, просто нужно сохранить их все и получить все. Каков наилучший способ представления этих данных в хранилище данных. Мне всегда будет нужен весь массив или нет вообще (никогда не будет подмножеством из 10 000 значений).

Мое нынешнее мышление - это просто хранить их как данные BLOB-объектов - какие-либо другие представления?

1 Ответ

1 голос
/ 20 февраля 2011

Если вам не нужно запрашивать значения, сериализуйте их и сохраните в текстовом или блоб-свойстве. Это сэкономит вам много накладных расходов по сравнению с ListProperty. Я предлагаю использовать какой-либо метод сериализации, который лучше всего работает с тем, что вы делаете, например JSON, если вы просто возвращаете его клиенту.

class T(db.Model):
   prop = db.ListProperty(int)

print db.model_to_protobuf(T(prop=[1, 2, 3]))

# result:
key <
  app: "testapp"
  path <
    Element {
      type: "T"
      id: 0
    }
  >
>
entity_group <
>
property <
  name: "prop"
  value <
    int64Value: 1
  >
  multiple: true
>
property <
  name: "prop"
  value <
    int64Value: 2
  >
  multiple: true
>
property <
  name: "prop"
  value <
    int64Value: 3
  >
  multiple: true
>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...