Форум программистов, компьютерный форум CyberForum.ru

HTML5: мобильные приложения

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Vorona
Peace 2 all shining faces
666 / 528 / 44
Регистрация: 05.03.2010
Сообщений: 1,271
#1

Медленная работа с базой данных, если в ней по 50000-100000 записей - HTML5

04.07.2014, 03:02. Просмотров 1195. Ответов 4
Метки нет (Все метки)

Всем привет!
На нескольких недавних проектах использовал либу persistence js для хранения данных в базе
Все круто и удобноо, используется html5 websql база плюс еще всякие плюшки
Но, когда дело доходит до обработки таблиц по 50000-100000 записей, наступает мрак
Javascript не успевает освобождать память плюс все это вроде как асинхронно, но все-равно в одном единственном потоке и приложение либо жутко тупит либо падает

Второй вариант - чуть хитрее, это smartStore плагин от salesforce, который с базой работает на нативной стороне и только отдает результат в js
Но тут тоже возник ступор с обработкой огромного кол-ва данных
База возвращает не все сразу, а батчами по 1000 записей, к примеру, и вот с каждым следующим батчем при интенсивной работе с базой, данные возвращаются все медленнней и медленней

Потому вопрос: если кто сталкивался или просто знает, как и при помощи чего, максимально быстро можно настроить и хендлитть работу с БД, отзовитесь пожалуйств, думаю эти знания будут полезны не только мне, а и многим другим.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2014, 03:02     Медленная работа с базой данных, если в ней по 50000-100000 записей
Посмотрите здесь:

Работа с большой базой (>1 млн записей) C#
работа с базой данных Delphi БД
работа с базой данных Visual Basic .NET
Работа с базой данных C++ Builder БД
C# Работа с базой данных
PHP БД Работа с базой данных(вывод записей)
Работа с базой данных C#
Aser v5 i7 u - очень медленная загрузка системы и такая же медленная работа приложений
Работа с базой данных Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
646kapeh064
59 / 58 / 15
Регистрация: 09.12.2013
Сообщений: 208
07.07.2014, 18:18     Медленная работа с базой данных, если в ней по 50000-100000 записей #2
Vorona, почему бы не засунуть базу на удаленную машину?
из js делай запрос к серверу, а результат обрабатывай как надо.
Vorona
Peace 2 all shining faces
666 / 528 / 44
Регистрация: 05.03.2010
Сообщений: 1,271
10.07.2014, 02:34  [ТС]     Медленная работа с базой данных, если в ней по 50000-100000 записей #3
База лежит на salesforce
В приложении требуется поддержка оффлайн режима
Боюсь, тогда будет еще дольше, если бы даже такая возможность прокатила

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

Повторюсь:
Из того, что я знаю - persistence.js работает с websql, достаточно удобный и хороший фреймворк, но для таких масштабов, по ходу, не подходит
Smartsync обрабатывает данные на стороне нативного приложения, но чем больше синхронизация, тем медленнее обрабатывает каждый следующий батч данных, хотя утечек памяти нет, странно..
Если iOS еще терпимо с этим справляется, то Android тупит в 3.5 раза дольше
646kapeh064
59 / 58 / 15
Регистрация: 09.12.2013
Сообщений: 208
14.08.2014, 11:30     Медленная работа с базой данных, если в ней по 50000-100000 записей #4
почему бы тебе не попробовать использовать нативный код вместе с JS ?
ведь PhoneGap по сути, должен дать такую возможность, просто напиши сервис в своем приложении, который запускай при запуске приложения, пускай этот сервис и работает с БД.
Vorona
Peace 2 all shining faces
666 / 528 / 44
Регистрация: 05.03.2010
Сообщений: 1,271
19.08.2014, 03:53  [ТС]     Медленная работа с базой данных, если в ней по 50000-100000 записей #5
Ладно, спасибо, восновном было интересно или есть готовые решения для подобных задач, сейчас все больше смотрю в сторону angularJS и Ionic для удобства построения UI, а такую задачу будем решать использованием всяких хитростей с lastModifiedDate и тд, что к сожалению на salesforce не достаточно удобно реализованно для таких хиленьких клиентов

Smartsync библиотека, которую мы используем, обрабатывает данные на стороне нативного аппа итак, и уже возвращает результат в js,
а чтобы вообще все делать на стороне нативного аппа, то нативный код вместе с js использовать в данной ситуации будет очень неудобно, так как это по-сути dal и bll слои приложения, которые представляют из себя ядро аппа и будет сложно поддерживать их логику синхронизации, подготовки БД и работы с моделями на стороне iOS, Android и js, чего собственно и пытаемся избежать использованием Phonegap и ему подобных
Yandex
Объявления
19.08.2014, 03:53     Медленная работа с базой данных, если в ней по 50000-100000 записей
Ответ Создать тему
Опции темы

Текущее время: 12:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru