1

Remote SDK. Фильтрация и сортировка данных.

(28/09/2012 16:31:44 отредактировано kalaschnikow)

Тема: Remote SDK. Фильтрация и сортировка данных.

На данный момент для того, чтобы показать пользователю отсортированные объекты начинающиеся на букву 'A' нужно запросить список всех объектов, получить этот список через интернет (часто мобильный!) и потом отфильтровать нужные объекты. Проблема в том, что объектов может быть сколько угодно много. Если у пользователя скажем 200 объектов, то будут переданы все 200, хотя нужны, например, только 3 или 4. Это очевидная трата не только процессорной мощности (все объекты будут переданы через все ступени системы) но и интернет-трафика. В случае мобильной связи это будет иметь просто катастрофические последствия. Пострадает не только и не столько карман клиента, но и быстродействие системы. См. также дискуссию.

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

П.С. Эта хотелка не только для разработчиков. У меня нет сотен объектов в списке, но если мне не изменяет память, то на форуме уже жаловались на то, что Виалон не позволяет иметь в списке много объектов (от сотни) - начинаются тормоза. Поэтому голосуйте господа - и будет вам щастье smile

2

Remote SDK. Фильтрация и сортировка данных.

Re: Remote SDK. Фильтрация и сортировка данных.

http://docs.gurtam.com/en/hosting/sdk/w … arch_items

Follow us on http://www.facebook.com/Gurtam
And take a look at new IoT backend by Gurtam.
3

Remote SDK. Фильтрация и сортировка данных.

(01/10/2012 11:23:10 отредактировано kalaschnikow)

Re: Remote SDK. Фильтрация и сортировка данных.

Насколько я понял по документации этим запросом можно любые объекты запрашивать. Юниты, геозоны, водители... Только в качестве itemsType подставляй avl_unit, avl_unit_group, avl_driver, user... А почему тогда сотрудники Gurtam дискутируют ? Ладно я, чайник, но ведь они должны бы знать об этом волшебном запросе... Или все-таки не любые объекты можно запрашивать?

4

Remote SDK. Фильтрация и сортировка данных.

Re: Remote SDK. Фильтрация и сортировка данных.

kalaschnikow
Там дискуссия про геозоны, а геозоны не являются подклассом item'ов базы. Геозоны находятся внутри объекта avl_resource.

Mobile Development
Gurtam
5

Remote SDK. Фильтрация и сортировка данных.

Re: Remote SDK. Фильтрация и сортировка данных.

Понял. Спасибо за пояснения, kopa.

Ну, значит, мой запрос остается в силе. (Только кажется никому, кроме меня, до него дела нет... smile)

6

Remote SDK. Фильтрация и сортировка данных.

Re: Remote SDK. Фильтрация и сортировка данных.

Вопрос про доступ к данным в БД все равно встанет... но не так скоро...
так что не торопите события и пускай гуртам дальше сопротивляется... посмотрим на сколько им хватит терпения прикручивать новые процедуры к своему API wink

Козлов Сергей
ООО "ГК"АТС-Мониторинг"
Регион: ПФО и не только...
http://www.atc52.ru
7

Remote SDK. Фильтрация и сортировка данных.

Re: Remote SDK. Фильтрация и сортировка данных.

atc-mon пишет:

Вопрос про доступ к данным в БД все равно встанет...

Я так понимаю Вы большой специалист по NoSQL базам данных. Значит Вы должны понимать, на сколько сложно получить доступ к этим данным неподготовленному специалисту. Толку не будет практически никакого.

8

Remote SDK. Фильтрация и сортировка данных.

Re: Remote SDK. Фильтрация и сортировка данных.

nevl пишет:

Я так понимаю Вы большой специалист по NoSQL базам данных. Значит Вы должны понимать, на сколько сложно получить доступ к этим данным неподготовленному специалисту. Толку не будет практически никакого.

Я, в отличие от atc-mon вообще никакой специалист по NoSQL (и на данный момент не считаю, что мне это необходимо), но вашей аргументации не пойму. Думаю, не ошибусь если скажу, что большинство сторонних разработчиков на этом форуме не большие специалисты по Remote API. И что же? От тех продуктов, которые они создадут для Remote API априори толку не будет? По-моему всему можно научиться. Надо только хотеть. И толк обязательно будет!

Кстати, вне зависимости от этого, вопрос был совсем не о прямом доступе к базе данных. Сорри atc-mon, я не считаю что прямой доступ к базе данных для всех встречных-поперечных это хорошее дело. Определенный слой абстракции совершенно необходим. И для защиты базы данных от кривых ручек и для защиты разработчиков от ненужных подробностей.
Я имел в виду, что нужна возможность фильтрации, сортировки и пейджинга средствами Remote API. Как выяснилось такая возможность есть (спасибо shal!), но только для некоторых типов объектов. А нужно бы для всех. Это собственно все что я имел в виду.

9

Remote SDK. Фильтрация и сортировка данных.

(05/10/2012 07:58:01 отредактировано atc-mon)

Re: Remote SDK. Фильтрация и сортировка данных.

nevl пишет:
atc-mon пишет:

Вопрос про доступ к данным в БД все равно встанет...

Я так понимаю Вы большой специалист по NoSQL базам данных. Значит Вы должны понимать, на сколько сложно получить доступ к этим данным неподготовленному специалисту. Толку не будет практически никакого.

Спасибо за ответ... Было интересно почитать про NoSQL и узнать еще немного больше о продукте,
которым мы пользуемся каждый день... smile
Наверно вы правы, что данный уровень абстракции - это перебор... и вполне возможно, что со временем вы найдёте компромиссный вариант...
произвольные поля, уже первые шаги в этом направлении... wink
PS: Хотя, возможно я просто чего то не понимаю в вашей концепции в силу своей не осведомленности или информационной безграмотности...

Козлов Сергей
ООО "ГК"АТС-Мониторинг"
Регион: ПФО и не только...
http://www.atc52.ru