powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Разработка БД под задачу реализации динамической карты
25 сообщений из 30, страница 1 из 2
Разработка БД под задачу реализации динамической карты
    #38641087
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу комментариев от специалистов, которые проектировали реализации динамических подгрузок данных на карты типа Яндекс.

Есть задача, реализовать интерфейс с динамически загружаемыми данными на карту типа Яндекс.(пример http://www.cian.ru/sale/flat/2708215) Тип данных статистический - результирующая сумма по выборке из БД, которую и необходимо спроектировать. Объем данных большой (полная выборка доходит до 10 в 8 степени), особое требование - отсутсвие задержек в отображении информации при перемещении по карте. Предполагаю, что как раз время выполнения запроса и будет тем самым узким местом, которое тормозит обновление данных на карте.

Из исходных данных пока только набор данных с определенной структурой, которую можно переформатировать.
Предстоит решить следующие вопросы:
- технологию реализации БД;
- вопрос оптимизации структуры БД;
- технологию реализации интерфейса;


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

ДА), сейчас данный механизм реализован в ДОТнете на базе Fireberd, выборка с пересечением из 6 таблиц.\ - вообщем жутко тормозит.
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641101
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10 в 8 степени чего?

woron_al...Предполагаю, что как раз время выполнения запроса и будет тем самым узким местом, которое тормозит обновление данных на карте...
предполагаю, что Вы не правы

woron_al- технологию реализации БД;
- вопрос оптимизации структуры БД;

предполагаю, что это СИЛЬНО глубоко вторично и СВЯЗАНО со следующим пунктом
woron_al- технологию реализации интерфейса;

И чем будет отрисовываться карта. После этого, вариантов выбора структуры будет не так уж и много. Будет завязано на вендора картографического софта. IMHO & AFAIK

Oracle Map Viewer ?

woron_alсейчас данный механизм реализован в ДОТнете на базе Fireberd, выборка с пересечением из 6 таблиц.\ - вообщем жутко тормозит.

Механизм чего?
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641105
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если проблема просто с группировками/агрегацией данных - возьмите какую нибудь книжку "DWH для чайников", почитайте. Откройте для себя звезда / снежинка, GROUP BY, материализованные представления и так далее.
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641108
Азагаш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woron_alПредполагаю, что как раз время выполнения запроса и будет тем самым узким местом, которое тормозит обновление данных на карте
ерунда. отключите прорисовку и убедитесь, что временем выполнения селекта можно пренебречь
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641116
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oracle Map Viewer ?

woron_alсейчас данный механизм реализован в ДОТнете на базе Fireberd, выборка с пересечением из 6 таблиц.\ - вообщем жутко тормозит.

Механизм чего?[/quot]

На данный момент подобная карта существует в описанном выше варианте , а механизм - средство отображениякарты
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641121
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так объясните, что такое 10 в 8 степени? Это чего? Точек, линий, полигонов? Товарные чеки которые нужно просуммировать? приход/уход со склада? Или просто байты?

П.С. Ссылка на Ваш пример на cian не работает
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641124
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Азагашworon_alПредполагаю, что как раз время выполнения запроса и будет тем самым узким местом, которое тормозит обновление данных на карте
ерунда. отключите прорисовку и убедитесь, что временем выполнения селекта можно пренебречь

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

Но необходимо перевести ее на динамическое обновление данных, вот в этом мой вопрос и заключается..
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641127
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой запрос? Что тормозит? При чем тут карта (если она не тормозит)?
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641130
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Приборы
- 42
- Что "42" ?
- А что "приборы" ?
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641132
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid KudryavtsevТак объясните, что такое 10 в 8 степени? Это чего? Точек, линий, полигонов? Товарные чеки которые нужно просуммировать? приход/уход со склада? Или просто байты?

П.С. Ссылка на Ваш пример на cian не работает

10 в 8 степени записей в БД при полной выборке, те это максимальное число, которое может выдать запрос при подсчете количества записей. Данные то статистические. Ну грубо говоря необходимо подсчитать сколько магазинов в конкретном городе, в базе есть сведения, какой магазин в каком городе, на карту пользователь тырк и ему выводиться сообщение , что в этом городе столько-то (20 например) магазинов.
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641136
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
woron_al,
для меня эта задача новая, поэтому и обратился к Вам...
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641146
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
woron_al,
вот новая ссылка на пример
http://www.cian.ru/sale/flat/2280006
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641150
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev
Oracle Map Viewer ?


спасибо за рекомендацию, изучаю
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641154
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woron_al особое требование - отсутсвие задержек в отображении информации при перемещении по карте.
Это достигается кэшированием соседних участков, пока клиент пялится на заданный, а не особо хитрой структурой БД.

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

получается что скорее нет (т.е. пользователь может выбрать ограниченное кличество точек (в Вашем примере - городов) и по ним и только по ним получить статистику).
Если пользователь может задать на карте произвольный полигон и сказать "А посчитай-ка мне количество обьектов в этом полигоне" - тут да, придется юзать OLAP в полный рост.
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641173
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Кот Матроскин]woron_al на карту пользователь тырк и ему выводиться сообщение , что в этом городе столько-то (20 например) магазинов

получается что скорее нет (т.е. пользователь может выбрать ограниченное кличество точек (в Вашем примере - городов) и по ним и только по ним получить статистику).
Если пользователь может задать на карте произвольный полигон и сказать "А посчитай-ка мне количество обьектов в этом полигоне" - тут да, придется юзать OLAP в полный рост.

полигонов, задаваемых пользователем не предвидится, но в зависимости от масштаба карты сведения указывать по городам\районам\областям\краям\республикам\ федеральным округам\ странам
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641176
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пользователь не выбирает места на карте, данные, сами по факту отображения карты подгружаются на нее
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641183
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woron_al
полигонов, задаваемых пользователем не предвидится, но в зависимости от масштаба карты сведения указывать по городам\районам\областям\краям\республикам\ федеральным округам\ странам


Классическая задача из учебников, гуглить по словам "OLAP географическая иерархия"
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641187
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woron_alДанные то статистические. Ну грубо говоря необходимо подсчитать сколько магазинов в конкретном городе, в базе есть сведения, какой магазин в каком городе, на карту пользователь тырк и ему выводиться сообщение , что в этом городе столько-то (20 например) магазинов.

А нафига их "считать"?
Простенькая табличка: город (объект, точка на карте) - кол-во объектов
Считается ОДНИ раз и ВСЕ. Нафига в динамике пересчитывать?

Как реализовывать обновление информации в таблице со статистикой - зависит от БД. В Oracle можно на триггерах, можно на матвиев, можно на уровне прикладного софта.
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641197
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsevworon_alДанные то статистические. Ну грубо говоря необходимо подсчитать сколько магазинов в конкретном городе, в базе есть сведения, какой магазин в каком городе, на карту пользователь тырк и ему выводиться сообщение , что в этом городе столько-то (20 например) магазинов.

А нафига их "считать"?
Простенькая табличка: город (объект, точка на карте) - кол-во объектов
Считается ОДНИ раз и ВСЕ. Нафига в динамике пересчитывать?

Как реализовывать обновление информации в таблице со статистикой - зависит от БД. В Oracle можно на триггерах, можно на матвиев, можно на уровне прикладного софта.

Пересчитывать необходимо, так как база постоянно обновляется по содержанию, те количество в разных городах может меняться.
Вот этот "В Oracle можно на триггерах" момент мне интересен, я его тоже рассматриваю,
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641226
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woron_alПересчитывать необходимо, так как база постоянно обновляется по содержанию,
те количество в разных городах может меняться.
Поскольку количество обновлений обычно гораздо меньше чем количество выборок, имеет смысл
пересчитывать хранимые агрегаты при изменениях.

PS: В Firbird в отличие от Oracle таблицы не мутируют, триггера можно применять без
ограничений.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641278
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovworon_alПересчитывать необходимо, так как база постоянно обновляется по содержанию,
те количество в разных городах может меняться.
Поскольку количество обновлений обычно гораздо меньше чем количество выборок, имеет смысл
пересчитывать хранимые агрегаты при изменениях.

PS: В Firbird в отличие от Oracle таблицы не мутируют, триггера можно применять без
ограничений.


Либо я не понял что вы имеете в виду, либо - в нашем случае хранить результаты выборок не целесообразно, так как их неопределенное количество (по всем городам + несколько критериев по каждому магазину в городе), отсуда и проблема, что необходимо выполнять запрос на выборку с параметрами в момент обращения пользователя.
Есть мысль кэшировать результаты выборок например в Тимес Тен Оракл и в случае повторного обращения от туда их подавать, как Вам такой вариант?
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641283
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woron_alЕсть мысль кэшировать результаты выборок например в Тимес Тен Оракл и в
случае повторного обращения от туда их подавать, как Вам такой вариант?
Exadata - ваше всё.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641285
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскинworon_alполигонов, задаваемых пользователем не предвидится, но в зависимости от масштаба карты сведения указывать по городам\районам\областям\краям\республикам\ федеральным округам\ странам


Классическая задача из учебников, гуглить по словам "OLAP географическая иерархия"

Спасибо за совет,
возможно придется создавать пересеченные таблицы из которых уже выводить результат на карту, и периодически обновлять эти таблицы
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641300
woron_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovworon_alЕсть мысль кэшировать результаты выборок например в Тимес Тен Оракл и в
случае повторного обращения от туда их подавать, как Вам такой вариант?
Exadata - ваше всё.


Буду знать, спасибо за совет
думаю это слишком серьезная штука, для решения моей задачи))
...
Рейтинг: 0 / 0
Разработка БД под задачу реализации динамической карты
    #38641312
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
woron_alЛибо я не понял что вы имеете в виду, либо - в нашем случае хранить результаты выборок не целесообразно, так как их неопределенное количество (по всем городам + несколько критериев по каждому магазину в городе)

Сомневаюсь, что во всем мире 10 в 8 степени городов.

Таким образом, замена представления информации на разрез "по городам" на ПОРЯДКИ уменьшает кол-во обрабатываемой информации. Что там может быть "не целесообразно" и "неопределенное количество", я не знаю. Кол-во городов понятие достаточно определенное, реформы, типа Учреждение о губерниях 1775 г. Екатерины II случаются достаточно редко. AFAIK.

woron_alзапрос на выборку с параметрами в момент обращения пользователя

Можно, конечно, и в момент обращения. Хозяин - барин. Тогда это называется DWH (data warehouse), агрегация, matview, в Oracle может даже сам matview под запросы подкладывать.

woron_alЕсть мысль кэшировать результаты выборок например в Тимес Тен Оракл и в случае повторного обращения от туда их подавать, как Вам такой вариант?

Хороший вариант. У богатых свои причуды. Захотите купить лицензии на Тимес Тен - обращайтесь.
Так же можем и консалтинг продать. Вообще, продать можем почти все!!! Были бы у Вас деньги.
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Разработка БД под задачу реализации динамической карты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]