Алгоритм приближённого joinа на потоках данных Выполнил : Юра Землянский, 445 группа Научный руководитель : Б.А. Новиков СПб, 2011 Санкт-Петербургский.

Презентация:



Advertisements
Похожие презентации
Проверка эквивалентности срединной и линейной осей многоугольника Дипломная работа студента 545 группы Подколзина Максима Валериевича Санкт-Петербургский.
Advertisements

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Математико-механический факультет Кафедра системного программирования Автоматизация выбора оптимальной.
ПОТОКО-ЧУВСТВИТЕЛЬНЫЙ АНАЛИЗ УКАЗАТЕЛЕЙ ЯЗЫКА С, ОСНОВАННЫЙ НА ДИАГРАММАХ ДВОИЧНЫХ РЕШЕНИЙ Санкт-Петербургский Государственный Университет Математико-Механический.
Разработка отладчика для программ на языке haXe и целевой платформы Adobe Flash 9 Выполнил студент 544 группыКрасько Н.Л. Научный руководительПлискин М.М.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский государственный университет Факультет прикладной математики и информатики Кафедра математической.
Генерация скрипта создания базы данных с учетом зависимостей Автор : Максим Масунов, 545 группа Санкт - Петербургский государственный университет Математико.
Физические модели баз данных Файловые структуры, используемые для хранения информации в базах данных.
ОПЫТ РЕШЕНИЯ ЗАДАЧИ ДАКТИЛОСКОПИЧЕСКОЙ ИДЕНТИФИКАЦИИ С ИСПОЛЬЗОВАНИЕМ GPGPU Станислав Юрьевич Сартасов, аспирант кафедры системного программирования Математико-
Механизмы поиска в БД Структуры индексов. Основные виды индексов Простые индексы для упорядоченных файлов Вторичные индексы для неупорядоченных файлов.
Поиск данных. Постановка задачи поиска данных Первый атрибут: набор данных –совокупность данных, среди которых осуществляется поиск; –Элементы набора.
Санкт - Петербургский Государственный Университет Математико - механический факультет Кафедра системного программирования Система проверки данных на полноту.
Лекция 7 Управление памятью Сегментная, страничная и сегментно- страничная организация памяти.
Проект : Ассоциативный поиск информации с помощью нейронных сетей. Задача: методы кластеризации данных.
Операционные системы и среды. Схема устройства жесткого диска Дорожка N Сектор (блок) Пластина 1 Пластина 2 Цилиндр 0 сторона Диск – одна или несколько.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Научный руководитель: Б.А. Новиков.
Подготовил Андреев Алексей. Задача о назначениях Задача о рюкзаке Задача коммивояжера Задача теории распределений Задача маршрутизации транспорта Задача.
Система кластеризации мульти-язычных данных большого объема Студентка: Нишневич Анастасия, 545 гр. Научный руководитель: Изъюров А.Л. Рецензент: Шалымов.
Необхідність структурування даних. Послідовне і зв ' язне розподілення даних в пам ' яті ЕОМ. Статичні і динамічні структури даних.
Сравнение различных технологий создания и использования web-сервисов Дипломная работа студентки 544 группы Григорьевой Елены Научный руководитель: Графеева.
Обобщение метода кодирования Хаффмана с использованием систем счисления Ковалёв Д.С. Новосибирский Государственный Университет Факультет Информационных.
Транксрипт:

Алгоритм приближённого joinа на потоках данных Выполнил : Юра Землянский, 445 группа Научный руководитель : Б.А. Новиков СПб, 2011 Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования

Потоки данных Телекоммуникации и компьютерные сети – записи звонков – сетевой трафик – клики пользователей на страницах – логи Web-сервиса Бизнес – банковские транзакции – биржевые статистики Метеорологические данные

Потоки данных Memory vs Скорость vs Качество

Потоки данных Входные данные - набор точек в N-мерном пространстве. Данные поступают последовательно Размер входных данных заранее неизвестен и может быть произвольно большим.

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

Similarity Join Нахождение пар близких объектов В нашем случае – для точек

Основная идея Сохранение точек в структуру, позволяющую значительно ускорять поиск пар для joinа Кластеризация : – Разбиение точек на группы близких В работе используем алгоритм для работы с потоками - BIRCH

algo. BIRCH

В вершине храниться информация о множестве точек P

algo. BIRCH Объём памяти, занимаемой деревом ограничен Радиус листовых множеств ограничен

algo. BIRCH-JOIN Листовые вершины хранят сами точки множества При превышении допустимого объёма памяти – часть дерева удаляется

algo. BIRCH-JOIN Поддержка модифицированного Cluster- Feature дерева. Поиск пары для точки – Рекурсивный обход дерева – В вершине проверяется – пересекается ли круг (центр – искомая точка, радиус – пороговое значение для joinа) с кругом (центр – центр масс вершины)

algo. BIRCH-JOIN Параметры для настройки – Стратегии удаления вершин – Условие для запуска рекурсивной процедуры от вершины – Размер используемой памяти – Степень ветвления – Максимальный радиус листьев

algo. BIRCH-JOIN Линейная сложность алгоритма Объём используемой памяти ограничен

Заключение Исходный код выложен на Google Code : – Всем спасибо!