
- •Задачи интеллектуального анализа: кластеризация
- •Распределенные вычисления на примере cloud-based по на примере prezi.Com
- •Условия использования сервиса Prezi.Com
- •Технология Redis
- •Программное обеспечение интеллектуального анализа: Система statistica Data Miner
- •Программное обеспечение интеллектуального анализа: Oracle Data Mining
- •Понятие «Data mining», Data mining и базы данных.
- •Архитектура odm
- •Функциональные возможности odm.
- •Технология BigTable (Google)
- •MapReduce: модель и реализации.
- •2. Реализация в распределенной среде.
- •3. Расширенные средства.
- •«Методы Data Mining: ассоциативные правила»
- •1. Определение. Основные понятия
- •2. Типы ассоциативных правил
- •3. Алгоритм apriori
- •4. Применение
- •«Методология Data Mining: crisp-dm»
- •Понимание бизнеса (Business Understanding)
- •Понимание данных (Data Understanding)
- •Подготовка данных (Data Preparation)
- •Моделирование (Modeling)
- •Оценка (Evaluation)
- •Развертывание (Deployment)
- •Большие данные
- •История
- •Методики анализа больших данных
- •Почему данные стали большими
- •Аналитический инструментарий
- •Как справиться с большими данными?
- •Кому выгодны большие данные
- •Проблема больших данных в различных отраслях
- •Информационной экономике нужны миллионы ит-сотрудников
- •10, Спрос на администраторов Big data
- •Стадии интеллектуального анализа: задача консолидации
- •Основные этапы консолидации данных
- •Источники данных
- •Обобщенная схема процесса консолидации
- •Вероятностный вывод
- •Методы интеллектуального анализа : эволюционное программирование и генетические алгоритмы
- •Применение генетических алгоритмов
- •Примеры программного обеспечения
- •Методы интеллектуального анализа: деревья решений
- •Документно-ориентированная система управления базами данных CouchDb
- •Ftp Сервер
- •Методы интеллектуального анализа: иерархические модели кластерного анализа
- •Документно-ориентированная система управления базами данных MongoDb
- •2.Понятие о документно-ориентированной системе управления базами данных MongoDb
- •3. Возможности
- •4.История разработки
- •5. Использование MongoDb
- •6.Оценка производительности
- •7.Безопасность
- •8. Соответствие между sql и MongoDb
- •Простые запросы на выборку
- •Запросы на выборку с регулярными выражениями
- •Запросы на выборку с группировками
- •Запросы на выборку с объединением таблиц
- •Информация о запросе
- •Создание, изменение и удаление документов
- •Бизнес-анализ
- •Часть 1. Понятие «бизнес-анализ»
- •Часть 2. Разделы науки бизнес-анализа
- •Часть 3. Техники бизнес-анализа
- •Часть 4.Система бизнес-анализа и поддержки принятия решений
- •Часть 5. Методы бизнес-анализа
- •6. Роли бизнес-аналитиков
- •7. Цели бизнес-аналитиков
- •8.Выдержки из должностной инструкции бизнес-аналитика
- •9.Будущее бизнес-аналитики
- •Иску́сственные нейро́нные се́ти
- •Систе́ма подде́ржки приня́тия реше́ний
- •1. Сппр- хранилище данных
- •2. Аналитические системы
- •Субд Cassandra
- •Хранилища данных и средства их построения Data Warehousing
- •Программное обеспечение интеллектуального анализа: statistica
- •Бурение и расслоение
- •Классификатор
- •Разведчик многомерных моделей
- •Нейросетевой разведчик
- •Рабочее пространство statistica Data Miner состоит из четырех основных частей:
- •Автоматизация любых процедур с помощью statistica Visual Basic;
Технология BigTable (Google)
Введение
Big Table является закрытой разработкой компании Google, используемой для хранения структурированных данных многочисленными сервисами и проектами Google. Внутри Google функционирует более 500 экземпляров BigTable (т.н. cells), крупнейший из которых насчитывает более 3 тысяч машин, хранящих свыше 6 петабайт данных. Наиболее загруженные экземпляры BigTable обслуживают в круглосуточном режиме более 500 тысяч запросов в секунду.
BigTable - это распределенная проприетарная, то есть не распространяемая, система для управления большими объемами данных. Она используется более чем в 60 проектах. Такие сервисы предъявляют различные требования к функциональности базы данных - начиная от разницы в размерах хранимой информации до скорости доступа к данным.
BigTable построена на основе собственной специализированной файловой системы - Google File System (GFS), использующей технологию Chubby Lock Service и некоторые другие продукты Google. В настоящий момент она не распространяется и не используется за пределами Google, хотя Google предлагает использовать её как часть Google App Engine, предоставляя пользователям лишь ограниченные привилегии клиентов.
Работа над BigTable была начата в 2004 году и сейчас СУБД используется в различного рода приложениях Google, таких как MapReduce, которое часто используется для создания и модификации данных хранящихся в BigTable, Google Reader, Google Maps, Google Book Search, Search_History, Google Earth, Google Analytics, Blogger.com, Google Code hosting, Orkut и YouTube. Причины, побудившие Google к созданию собственной базы данных – масштабируемость, высокая производительность и живучесть.
На основе BigTable в 2009 году была создана Google Fusion Tables - экспериментальная СУБД для управления данными в облаке.
При создании системы акцент делался на следующих характеристиках: универсальность, масштабируемость, высокая производительность и надежность. Во многом BigTable напоминает базу данных и использует многие стратегии реализации, применяемые в высокопроизводительных СУБД. Однако, как будет ясно из описания, существует ряд принципиальных отличий BigTable от традиционных систем.
Общее техническое описание
BigTable – многоразмерная (multidimentional) и многоядерная (multimap) СУБД. В отличие от реляционной модели данных, в BigTable применяется более простая модель разреженной, многомерной, сортированной хэш-таблицы. Данные в ней хранятся в виде простых строк. Ключами для доступа к данным являются три строки:
Ключ строки (row key)
Ключ столбца (column key)
Временная метка (timestamp)
Таким образом, получаем (string, string, int64) ->> (string);
Подобную хэш-таблицу можно представить в виде таблицы, каждая строка и столбец которой имеют уникальные ключи. В ячейках таблицы могут содержаться значения, причем у значения может быть несколько версий, с каждой из которых связана временная метка (timestamp). Иными словами, у таблицы есть несколько временных слоев. Выбранная модель данных обусловлена спецификой приложений Google. Например, Web-страницы могут храниться в таблице, ключами строк в которой являются URL страниц, а в ячейках находятся несколько версий содержимого страницы, загруженных роботом в разные моменты времени. Другой особенностью хранимых данных является то, что в разных строках таблиц могут быть заполнены различные группы столбцов. Зачастую таблицы являются разреженными, что повлияло на выбор модели хранения данных, ориентированной на столбцы (column-oriented).
Ключ строки (row key)
Строки в базе данных отсортированы по этому ключу. Все данные делятся на некоторые диапазоны значений данного ключа, которые динамически изменяются. Диапазон значений называется таблеткой (tablet) и именно он является единицей балансировки нагрузки. Клиент может указать, какие данные должны храниться в непосредственной близости друг от друга, и соответственно этим добиться удобного и быстрого доступа к данным. То есть связанная информация будет храниться в одном месте.
Ключ столбца (column key)
Относительно этого ключа данные делятся на семейства столбцов (column families). Обычно в них хранится информация одного типа. Они являются единицей доступа к данным. Ключи столбцов также организованы в группы, называемые семействами столбцов (column family). Ключ столбца имеет вид family:qualifier, где family – имя семейства, а qualifier – уникальное имя столбца в рамках семейства.
Временная метка (timestamp)
Для каждой сохраненной строчки имеется несколько версий. Они различаются временной меткой, причем в базе они хранятся сортированными, начиная от самых новых, заканчивая самыми старыми, для того, чтобы доступ к последней версии был максимально быстрым. Также в BigTable существует сборщик мусора (garbage-collector). В настройках базы можно указать, сколько версий будет храниться для каждой ячейки.
API
В отличие от реляционных СУБД, BigTable не поддерживает язык SQL. Доступ к BigTable из приложений обеспечивается с помощью клиентской библиотеки, реализующей довольно простой интерфейс прикладного программирования (API). BigTable API содержит операции как для управления таблицами и семействами столбцов, так и для чтения и записи данных.
BigTable позволяет:
Создавать и удалять таблицы и семейства столбцов
Изменять метаданные для кластера, таблицы и семейства столбцов (Например, изменение прав доступа)
Клиенты могут добавлять и удалять значения из базы данных, находить отдельный набор строк, а также находить значения в некотором диапазоне. Поиск может проводиться по урезанному набору данных: например, по определенному диапазону временных меток, или по ключам, ограниченным некоторым регулярным выражением.
Дополнительно BigTable может выполнять более сложные операции, такие как
Использование значения некоторой ячейки как целочисленного счетчика
Выполнение клиентских скриптов на стороне сервера. Скрипты должны быть написаны на Sawzall - языке, разработанном Google для обработки данных. Правда, на данный момент скрипты не могут записывать информацию обратно в базу, но позволяют выполнить преобразования данных, в том числе фильтрацию и группировку по многим параметрам.
Используемые продукты
BigTable основана на
Google File System (GFS) для хранения файлов
SSTable - формат файлов, который представляет собой карту хранения данных в BigTable
Chubby - сервис, который используется в том числе для хранения информационной схемы базы данных (information schema). Он предоставляет постоянный доступ к информации.
Также в ней используются многие технологии и алгоритмы, например, секретный алгоритм сжатия (Zippy) для уменьшения объема данных.
Реализация
В общем, структура BigTable состоит из:
Библиотеки, которая находится на каждом клиенте;
Одного главного мастер-сервера. В обязанности главного сервера входит распределение таблетов по таблет-серверам, отслеживание состояния таблет-серверов, балансировка нагрузки между среверами и удаление неиспользуемых файлов. Кроме того, главный сервер управляет созданием и изменением таблиц и семейств столбцов. Каждый таблет-сервер предоставляет доступ к выделенному набору таблетов. Сервер обрабатывает запросы на чтение и запись в обслуживаемые таблеты, а также разбивает таблеты, размер которых стал слишком большим. Как и в предыдущих описанных системах, данные передаются между клиентом и таблет-сервером напрямую, минуя главный сервер. В отличие от GFS, клиенты не используют главный сервер для определения местоположения таблетов. Поэтому главный сервер обычно загружен слабо;
Множества серверов, на которых хранится информация (Tablet Servers). Сами таблеты хранятся в виде файлов в распределенной файловой системе GFS (см. раздел 1.1), что обеспечивает надежное хранение данных. Список GFS-файлов с данными таблета хранится в таблице METADATA. Для хранения данных BigTable используется специальный формат SSTable, позволяющий реализовать эффективный поиск значений по их ключам, а также итерации по значениям, связанным с заданным диапазоном ключей. SSTable состоит из несколько блоков и индекса блоков, хранимого в конце файла. Для быстрого поиска блоков таблет-сервер загружает индекс в оперативную память. Каждый сервер управляет некоторым набором таблеток (от ~10 до 1000 штук), причем каждая единица информации занимает примерно 100-200 Мб.
Заключение
BigTable - это система управления большими объемами данных. В заключение, перечислим основные отличительные особенности BigTable в сравнении с реляционными СУБД:
• Ориентация на хранение больших объемов слабоструктурированных, разреженных данных;
• Высокая производительность, масштабируемость и устойчивость;
• Модель хранения, ориентированная на столбцы, аналогичная column-oriented базам данных (C-Store, Vertica, Sybase IQ, SenSage, KDB+, MonetDB/X100);
• Нет поддержки реляционной модели, типов данных у столбцов, языка SQL, транзакций и т.д. только в Google. Доступ к ней некоторым образом предоставляет Google App Engine.
Существуют некоторые аналоги, которые основаны на выложенной в сети информации о том, как работает BigTable. Такими аналогами являются:
HyperTable - система предназначена для управления хранением данных и обработки информации в больших кластерах серверов;
HBase - система написана на Java, добавляет поддержку Bigtable в ядро Hadoop;
Cassandra - распределённая система хранения данных Facebook, основанная на модели данных Bigtable;
Project Voldemort - распределённая система хранения данных используемая LinkedIn;
Neptune - система написана на Java, использует компоненты Hadoop, ZooKeeper и HDFS;
KDI — клон BigTable созданный в Kosmix.
MapReduce