Интеллектуальные базы данных. Учебное пособие
.pdf
Рассмотрим на примере последовательность этапов:
1.Документ - коллекция комментариев следующей структуры (JSON):
{text: "lmao! great article!",
author: 'kbanker', votes: 2 }
с комментарием автора "kbanker" с двумя голосами.
2. Функция map (этап маппинга)
Как мы отметили ранее, map - это функция на языке JavaScript, которая проходит по каждому документу и собирает необходимую информацию в формате пары ключ -> значение. Генерируется эта пара при помощи вызова операции emit:
//Ключ - имя пользователя автора;
//Значение - количество голосов за текущий комментарий.
var map = function() {
emit(this.author, {votes: this.votes}); };
3. Функция Reduce (этап агрегации)
В каждый вызов функции reduce (по одному на ключ) поступают два аргумента: ключ и массив значений, собранные на этапе маппинга. В нашем примере для автора "kbanker" вызов reduce будет примерно таким:
reduce('kbanker', [{votes: 2}, {votes: 1}, {votes: 4}]);
Теперь опишем функцию для подсчета голосов:
var reduce = function(key, values) { var sum = 0; values.forEach(function(doc) {
sum += doc.votes; }); return {votes: sum}; };
30
Вызовем в консоли две команды, первая - для запуска операции, вторая - для получения результатов:
var op = db.comments.mapReduce(map, reduce);
db[op.result].find();
На выходе получаем необходимые сгруппированные данные и можем использовать их в нашем приложении. Пример вывода для данной БД:
{"_id" : "hwaet", "value" : { "votes" : 21 } }
{"_id" : "kbanker", "value" : { "votes" : 13 } }
Отметим что Map/Reduce работает довольно медленно. В функции map рекомендуется писать наиболее оптимизированный JavaScript-код, т.е. минимизировать кол-во операций присваивания и циклов. Ускорить эту операцию можно масштабированием. Если распределить базу по кластеру, то маппинг будет производиться одновременно на всех машинах, обрабатывая разные данные. В итоге скорость маппинга будет прямо пропорциональна количеству серверов в разделенной базе. Это один из основных минусов этой БД при использовании на одном сервере.
Для MongoDB есть несколько визуальных инструментов для администрирования, среди которых есть клиенты для OS X и .NET, а также веб-интерфейсы на PHP, Python, Ruby.
31
СПИСОК ЛИТЕРАТУРЫ
1.Fayyad, Piatetsky-Shapiro, Smyth, and Uthurusamy. Advances in Knowledge Discovery and Data Mining, (Chapter 1). AAAI/MIT Press 1996.
2.Parsaye K. A Characterization of Data Mining Technologies and Processes The Journal of Data Warehousing. - 1998. № 1.
3.Newquist H. P. Data Mining: The AI Metamorphosis. Database Programming and Design. - 1996. № 9.
4.Parsaye K. A Characterization of Data Mining Technologies and Processes. The Journal of Data Warehousing. - 1998. № 1.
5.Дюк В.А., Самойленко А.П. Data Mining: учебный курс. - СПб.: Питер,
2001.
6.Joerg Reinschmidt, Helena Gottschalk, Hosung Kim, Damiaan Zwietering. Intelligent Miner for Data: Enhance Your Business Intelligence J.
7.Метод Опорных Векторов http://library.graphicon.ru/pubbin/view_prop.pl26
8.K. Muller, S. Mika, G. Ratsch, K. Tsuda, B. Scholkopf. An Introduction to Kernel-Based Learning Algorithms. IEEE Neural Networks, 12(2):181-201, May 2001.
9.Heckerman D. Bayesian Networks for Data Mining. Data Mining and
Knowledge Discovery. 1997. № 1. P. 79-119.
10.Friedman N., Geiger D., Goldszmidt M., etc. Bayesian Network Classifiers. Machine Learning. 1997. 29. P. 131-165.
11.Brand E., Gerritsen R. Naive-Bayes and Nearest Neighbor. DBMS. 1998. № 7
12.A. Savasere, E. Omiecinski, and S. Navathe. An Efficient Algorithm for Mining Association Rules in Large Databases Proc. 21st Int'l Conf. Very Large Data Bases, Morgan Kaufmann, San Francisco, 1995, pp. 432-444.
13.The MongoDB 2.4 Manual http://www.mongodb.org/
14.MongoDB Quick Reference Cards. http://www.10gen.com/reference 15.Кристина Чодороу, Майкл Дирольф = MongoDB: The Definitive Guide. —
O’Reilly Media, 2010. — С. 216.
16.Тим Хоукинс, Илько Пладж, Питер Мембри = The Definitive Guide to
MongoDB: The NoSQL Database for Cloud and Desktop Computing. — Apress, 2010. — С. 350.
32
|
СОДЕРЖАНИЕ |
|
ВВЕДЕНИЕ ................................................................................................................... |
3 |
|
Глава 1. |
ХРАНИЛИЩА ДАННЫХ .......................................................................... |
4 |
Глава 2. |
DATA MINING.............................................................................................. |
8 |
2.1. Классификация аналитических систем............................................................. |
9 |
|
2.2. Методы и стадии Data Mining ......................................................................... |
10 |
|
2.3. Классификация методов Data Mining ............................................................. |
12 |
|
2.4. Задачи Data Mining ........................................................................................... |
15 |
|
Глава 3. |
МЕТОДЫ АНАЛИЗА ДАННЫХ ............................................................ |
17 |
3.1. Методы классификации и прогнозирования.................................................. |
17 |
|
3.2. Методы кластерного анализа........................................................................... |
20 |
|
3.3. Методы визуализации. ..................................................................................... |
22 |
|
Глава 4. |
ВНЕДРЕНИЕ ИНТЕЛЛЕКТУАЛЬНЫХ БАЗ ДАННЫХ. |
|
РЫНОК ИНСТРУМЕНТОВ ............................................................................... |
23 |
|
4.1. Обзор NOSQL систем ....................................................................................... |
23 |
|
4.2. БД MongoDB ..................................................................................................... |
26 |
|
СПИСОК ЛИТЕРАТУРЫ ....................................................................................... |
32 |
|
33
План УМД на 2013/2014 уч.г.
С. 8, п. 50.
Лилия Ивановна Воронова
ИНТЕЛЛЕКТУАЛЬНЫЕ БАЗЫ ДАННЫХ
Учебное пособие
для направлений:
230100 - Информатика и вычислительная техника
220301 - Автоматизация технологических процессов и производств (связь)
Подписано в печать 20.05.13г. Формат 60х90 1/16. Объем 2,2 усл.п.л. Тираж 100 экз. Изд. № 37. Заказ 101.
ООО «ТиРу». Москва, ул. Правды, д. 24, стр. 5.
34
