научные вызовы к субд и система sci db. п. велихов. зал 2

Post on 16-Jun-2015

416 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Научные вызовы СУБД и система SciDBПавел Велихов

Sunday, April 24, 2011

Sunday, April 24, 2011

e-Science

Наука организуется вокруг данных

Крупные проекты по сбору и диссеминации данных

LHC Grid: 50+ стран, 200+ институтов

Open Grid, Virtual Observatory, GEON Grid, PDB...

Sunday, April 24, 2011

Пример: PDB (SDSC)

Sunday, April 24, 2011

Лавина данных

Раньше bottleneck был в получении данных

Сенсорные технологии перевернули картину

Сейчас bottleneck = анализ полученных данных

Sunday, April 24, 2011

Лавина данных

Физика высоких энергий - LHC: 15 Pb/год

Астрономия - LSST: 6 Pb/год

Астрономия - ЛИРА: 200-300 Tb

Науки о земле: сотни Tb (например LIDAR)

Геномика: сотни Tb с секвенсеров

Sunday, April 24, 2011

Проект ЛИРА

Sunday, April 24, 2011

Сложные сенсоры

На примере астрономии

Как было раньше

ПЗС матрица

ЛИРА

Sunday, April 24, 2011

Хранение и обработка данных

Надо хранить самые сырые данные

Процедура извлечения научных данных должна быть прозрачной и повторимой

Sunday, April 24, 2011

Анализ

Анализ численных рядов

Поиски в окрестностях точек

N^2 и N^3 алгоритмы

ковариация, PCA, SVD

Sunday, April 24, 2011

Современные СУБД

Реляционная модель или noSQL

Плохо масштабируются

High Availability - сложно дается

Закрытый код, дорогие лицензии

Почти ни один крупный проект не использует СУБД

Sunday, April 24, 2011

Кто как хранит

данные в файлах, немного метаданных в СУБД

LHC

сырые в файлах, вторичные в СУБД

PanSTARRS, LSST

доморощенные системы

Yahoo, Google, Amazon, и другие

Все в СУБД

Wallmart, eBay, SDSS

Sunday, April 24, 2011

SciDB

Sunday, April 24, 2011

SciDB

Проект стартовал в 2008 г

Основатели проета:

Stonebraket, DeWitt, Becla и др.

Международная комманда, 5 российских разработчиков

Sunday, April 24, 2011

Mike StonebrakerIngres

PostgresIllustraCoheraVerticaVoltDB

Sunday, April 24, 2011

Цели SciDB

“OLAP” для науки

Система с открытым кодом

Качество коммерческих продуктов

Масштабируемость до петабайт

Sunday, April 24, 2011

Большая цельСырые данные

SciDBХранение, обработка,

анализ

Воспроизводимые научные результаты

Sunday, April 24, 2011

Модель данных SciDBi

j A : int B : float C : float D : nested

Sunday, April 24, 2011

Вертикальное хранение

a1 a2 a3

a4 a5 a6

a7 a8 a9

b1 b2 b3

b4 b5 b6

b7 b8 b9

c1 c2 c3

c4 c5 c6

c7 c8 c9

Sunday, April 24, 2011

Хранение

Чанк как единица хранения и обработки

Чанки большие - десятки-сотни мегабайт

Иногда подразделяются на подчанки для cpu cache (мегабайты)

Sunday, April 24, 2011

Транзакционность

Научные данные не меняются

Изменения только как новая версия

Навигация между версиями

Sunday, April 24, 2011

Транзакционность

Eventually consistent

COW и Delta

Избегаем большого количества замков, лога, управления буфферами

Избегаем накладных расходов современных СУБД

latching, locking, logging, buffer management

Sunday, April 24, 2011

Анализ данных

AQL и AFL

AFL: filter( subsample(A, 10, 100), x > 0.5 )

Специфические операторы: subsample, regrid

Sunday, April 24, 2011

Subsample

Sunday, April 24, 2011

Regrid i

jSrc

u

vTgt

assign: (u,v) -> { (i,j) }aggregate: f (assign(u,v)) -> tgt

Sunday, April 24, 2011

Пример запроса

S: <x:float>[i,j]T: <z:float>[u,v]regrid(

S,T,assign: subsample(s, [k-10,l-10,k+10,l+10])agg: sum( x * ae-(i-b)^2/2c^2)

Sunday, April 24, 2011

Конвейерное выполнение

Пример: subsample

интерфейс: getChunk( attribute, pos )

пересылаем вниз: getChunk( attribute, pos + offset)

если чанк внутри окна опрератора, передаем вверх

иначе: распаковываем, обрезаем, передаем вверх

Sunday, April 24, 2011

Параллелизм в SciDB

core

overlap

Sunday, April 24, 2011

Параллелизм в SciDB

Оптимизатор запроса расчитывает хватит ли overlap для запроса

Докидывает доп. данные оператором Scatter-Gather

Sunday, April 24, 2011

Параллелизм

f

g

f*g

core

overlap

Свертка: f*g

Sunday, April 24, 2011

Параллелизм

Также: распределение по колонкам и столбцам, и блочно-циклическое как в ScaLAPACK

Send, Recive как в MPI

Sunday, April 24, 2011

Дополнительные возможности

Uncertainty - арифметика интервалов

Provenance

отслеживание результатов

playback

Sunday, April 24, 2011

Расширяемость

User Defined Types - модель PostgreSQL

UDF - произвольные функции над массивами

Интерфейсы к Python, R, Matlab(?)

Sunday, April 24, 2011

Статус

Сентябрь 2009 демонстрация прототипа на VLDB

Январь 2011 - выпуск версии 0.75

Май 2011 - выпуск версии 1.0

Sunday, April 24, 2011

Немного о структуре

SciDB Inc.

paradigm4НБД

Non-profit

Sunday, April 24, 2011

Q&A

Sunday, April 24, 2011

top related