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

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

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

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

04.07.2014, 03:02. Просмотров 1230. Ответов 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 записей (HTML5):

Работа с базой данных(вывод записей) - PHP БД
Привет форумчане! Помогите решить одну проблемку. Имеется запрос к базе данных: $strSQL = "SELECT * FROM `table` LIMIT...

Работа с большой базой (>1 млн записей) - C#
Товарищи, помогите! Я недавно перешел на C# 2005, меня особенно интересует вопрос работы с большими базами (более 1 млн. записей) В...

Aser v5 i7 u - очень медленная загрузка системы и такая же медленная работа приложений - Ремонт ноутбуков
Всем привет. Полгода назад купил ноут ( aser v5 i7 u) . Все было нормально, но неделю назад начал не много тормозить, всегда долго...

Используя функции категории Работа с базой данных в excel 2010, реализовать запрос к базе данных - MS Excel
Используя функции категории Работа с базой данных, реализовать запрос к базе данных: средняя закупочная цена для одного вида мороженого.

Работа с базой данных - C#
Хочу сделать систему регистрации и некоторые приемы работы с базой данных через своё приложение C#. На PHP я знаю как всё это сделать, а...

Работа с базой данных - XNA
Как сделать выборку из базы данных в XNA? Базу данных к проекту я уже подключил.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
646kapeh064
59 / 58 / 15
Регистрация: 09.12.2013
Сообщений: 206
07.07.2014, 18:18 #2
Vorona, почему бы не засунуть базу на удаленную машину?
из js делай запрос к серверу, а результат обрабатывай как надо.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,282
10.07.2014, 02:34  [ТС] #3
База лежит на salesforce
В приложении требуется поддержка оффлайн режима
Боюсь, тогда будет еще дольше, если бы даже такая возможность прокатила

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

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

Smartsync библиотека, которую мы используем, обрабатывает данные на стороне нативного аппа итак, и уже возвращает результат в js,
а чтобы вообще все делать на стороне нативного аппа, то нативный код вместе с js использовать в данной ситуации будет очень неудобно, так как это по-сути dal и bll слои приложения, которые представляют из себя ядро аппа и будет сложно поддерживать их логику синхронизации, подготовки БД и работы с моделями на стороне iOS, Android и js, чего собственно и пытаемся избежать использованием Phonegap и ему подобных
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2014, 03:53
Привет! Вот еще темы с ответами:

работа с базой данных - Delphi БД
дана база данных с полями №п/п ФИО Оценка, нужно организовать поиск по полю ФИО, а вот в чем подвох, когда когда нашли в база данных...

работа с базой данных - Visual Basic .NET
доброго времени суток. у меня возникла проблема. На форме расположен DataGrigView. в него загружаю таблицу из БД.mdb . Вношу изменения в...

работа с базой данных - C++
Написать программу работы с базой данных. База хранится в оперативной памяти в виде структуры. Структура содержит набор переменных разного...

Работа с базой данных - MS Access
Добрый день! Помогите пожалуйста с формированием БД! Есть исходник, который необходимо доделать по определенным требованиям. Буду очень...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.08.2014, 03:53
Ответ Создать тему
Опции темы

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