Влияет ли наличие большого количества свойств в хранилище данных Entity на производительность чтения / записи? - PullRequest
1 голос
/ 02 июля 2010

У меня есть пара сущностей с номерами свойств в диапазоне от 40 до 50. Все эти свойства являются неиндексированными.Эти объекты являются частью более крупной древовидной структуры группы объектов и всегда извлекаются с использованием их ключа.Ни одно из свойств (кроме свойства ключа) не индексируется.Я использую Objectify для работы с сущностями на BigTable.

Я хочу знать, есть ли какое-либо влияние на производительность при чтении или записи сущности с большим количеством свойств из / в BigTable.

Поскольку эти крупные сущности выбираются только по ключам, они никогдаучаствовать в любом запросе, мне было интересно, если я должен сериализовать сущность pojo и хранить в виде двоичного объекта.Это довольно просто сделать в Objectify, используя аннотацию @Serialized.Я понимаю, что, сериализовав мою сущность и сохранив ее в виде большого двоичного объекта, я делаю этот двоичный объект полностью непрозрачным для любой другой программы или не-Java-кода, но это не проблема.

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

Ответы [ 2 ]

3 голосов
/ 09 июля 2010

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

У меня есть сущности с числом свойств до 25, и я получаю их почти по всем запросам по ключу.разница в производительности для меня ничтожна.вряд ли + - 1 мс.проблемы с производительностью обычно возникают в частях запроса.число неиндексированных свойств не будет иметь большого значения в производительности.в то время как индексированное свойство может быть значительно отложено из-за изменения индекса.

, если необходимо, вы можете разбить свойство на несколько таблиц, если они вам не понадобятся сразу.

2 голосов
/ 04 августа 2010

Если исходить из того, что я мало знаю о том, как это работает, я бы сказал, что наличие множества неиндексированных свойств ничем не отличается от сериализации всего этого.

...