Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2011-07-04

Fourth of July

1776 год, декларация независимости от Королевства ВеликоБритании. Чуть больше 200 лет Соединенным Штатам Америки. Да и Бог с ними.

Знакомьтесь, SciDB. Специальная БД для поддержки обработки огромных массивов данных. Почитал я про нее и подумал — а насколько хорошо такая БД подходит под сбор и анализ сетевого трафика? Например, от качков торрентов? Ниже цитаты, длинные, но резать рука не поднимается.

Объявлено о выходе SciDB 11.06, первого стабильного релиза проекта по созданию свободной СУБД для использования в области обработки научных данных, полученных в результате экспериментов и наблюдений. В качестве примеров областей, в которых может использоваться СУБД, называется хранение и анализ наблюдений в оптической и радио астрономии, сейсмологии, генетике, океанографии, геологии, климатических и экологических наблюдениях. Кроме научного применения SciDB может использоваться для обработки статистики работы различных сенсоров в нефтедобывающей отрасли и медицинских учреждениях, выполнения финансовой аналитики. СУБД спроектирована для анализа огромных массивов данных (тысячи петабайт) и изначально поддерживает кластеризацию, масштабируясь от одного сервера до десятков тысяч узлов. Код SciDB распространяется в рамках лицензии GPLv3.
...
SciDB непохожа на классические СУБД и в ущерб поддержке некоторых привычных возможностей оптимизирована для обработки и анализа "сырых" данных, которые интенсивно читаются, но почти не изменяются. СУБД не рассчитана на обработку транзакций в реальном времени (OLTP), не поддерживает ACID (атомарность, непротиворечивость, изоляция, долговечность) и журналирование, обеспечивая транзакции лишь на минимальном уровне.
...
Возможности SciDB сосредоточены вокруг сложной аналитики, для которой стандартная реляционная модель оказывается неэффективной - хранилище оптимизировано для единовременной записи мало структурированных данных и их последующего интенсивного чтения. Вместо добавления отдельных строк, применяется подход загрузки сразу больших порций данных. Хранение данных организовано в виде многомерных вложенных массивов, для обработки которых вместо SQL задействованы языки AQL (Array Query Language) и AFL (Array Functional Language).

citforum.ru/news/26481


Наличие декларативного языка запросов к массивам обеспечивает прозрачный доступ к терабайтам многомерных данных. В SciDB реализован язык AQL (Array Query Language), во многом похожий на язык SQL. В AQL присутствует такая же конструкция SELECT FROM WHERE, только язык оперирует с массивами, а не с множествами. Язык запросов AQL позволяет формулировать запросы, анализирующие окрестности точек. Разбиение данных по чанкам с перехлестами позволяет выполнять такие запросы параллельно без коммуникации вычислительных узлов. Один из основных операторов AQL – это REGRID, который во многом похож на популярный MapReduce. REGRID создает новый массив данных на основе исходного, пользуясь двумя функциями – доменной и агрегатной. Доменная функция выбирает подмножество массива для подсчета, а агрегатная функция подсчитывает значение элемента выходного массива. Используя REGRID, гораздо проще выбирать точки с их окрестностями, а модель хранения чанков с перехлестом позволяет вычислять выходной массив параллельно на всех узлах без коммуникаций. Рассмотрим пример использования оператора REGRID для сглаживания исходных данных гауссовским фильтром.

SELECT l FROM CCD AS C
REGRID (
SELECT l FROM CCD AS C1 WHERE C1.i BETWEEN C.i–20 AND C.i+20
AND C1.j BETWEEN C.j-20 and C.j+20,
SUM( C1.l * a*e^( (-i-b1)^2/(2*c1^2) + (-j-b2)^2/(2*c2^2)))

В этом примере первый параметр в операторе REGRID выбирает окрестность точек 40х40 вокруг входной точки массива, а второй оператор считает гауссовскую функцию на основе выбранных точек.

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

Как упоминалось раньше, из-за недостатков существующих СУБД большинство научных проектов, в которых встает задача анализа больших объемов данных, осуществляют обработку и анализ исходных данных вне системы управления базами данных. SciDB решает эту проблему, обеспечивая эффективное и удобное хранилище исходных данных и широкий набор инструментов для обработки и анализа данных. Версионное хранилище и учет всех преобразований данных позволяет пользователям SciDB получить точную информацию о версиях данных и о всех вычислениях, произведенных над исходными данными. Это позволяет эффективно устранять ошибки в алгоритмах переработки данных, отслеживать процесс переработки исходных данных при получении подозрительных результатов, и в точности повторять вычисления над исходными данными. При этом SciDB работает без каких-либо ограничений, как на суперкомпьютерном кластере, так и на персональном компьютере, что позволит ученым работать в одной и той же среде со своими данными. Система SciDB также отслеживает происхождение данных. При обработке сырых данных и полученных из них объектов SciDB запоминает запросы, с помощью которых были получены те или иные результаты. По требованию пользователя СУБД может проиграть процесс получения результатов из сырых данных или выдать выборку базы данных, которая требуется для получения результата.

supercomputers.ru/index id=167:scidb

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) Java (22) humor (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) Klaipeda (13) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)