Сравнение подходов к крупномасштабному анализу данных
Сравнение подходов к крупномасштабному анализу данных
Молодежи свойственно увлекаться новыми идеями. Идея MapReduce, выдвинутая и реализованная сначала Google, а потом и сообществом open source в проекте Hadoop почти мгновенно овладела молодыми массами. Причем даже теми представителями компьютерной молодежи, которые получили хорошее образование и последующий практический опыт в области систем управления базами данных. Мне неоднократно приходилось слышать от молодых коллег, что они считают достоинствами MapReduce отсутствие схемы данных (в том числе, и отсутствие поддержки типов данных) и даже потребность в явном программировании конструкций, которые испокон веков поддерживались в СУБД на уровне высокоуровневых языковых конструкций языка SQL. Понятно, что дополнительным стимулом к применению MapReduce была привязка этой технологии к «облачным» вычислениям, возможность практически бесплатно арендовать виртуальный кластер с большим числом узлов и развернуть на нем свою MapReduce программу, почти автоматически достигнув громадной производительности своего приложения.
До поры до времени представители старшего и среднего поколений сообщества баз данных ограничивались ворчанием в адрес MapReduce, что, в свою очередь, еще больше привлекало молодежь к использованию соответствующих средств. Действительно, раз «старики» ворчат, значит, они просто не понимают, что средства управления данными их поколений просто устарели, и нужно переходить к использованию новых, прогрессивных технологий.
В процессе разработки радиоэлектронной аппаратуры различного назначения этап технического или конструкторского проектирования является одним из самых трудоемких, длительных и ответственных. На этом этапе осуществляется переход от функционально-логического описания к конструкторской реализации аппаратуры в виде законченных изделий (плат, блоков, кассет, стоек и т.п.) с оформлением конструкторской и технологической документации. От качества и сроков работы на этом этапе в значительной мере зависит качество готового изделия.
Исходной информацией для конструкторского проектирования является принципиальная электрическая схема устройства с детализацией до уровня базовых конструкторских элементов. Последними могут быть: дискретные радиодетали, микросхемы, микромодули, объемные модули и функциональные неделимые узлы на печатном монтаже. Выходной информацией является полный комплект рабочих чертежей и другой технической документации на все вошедшие в изделие сборочные единицы и детали, пригодный для передачи в производство.
Сложность алгоритмизации конструкторского проектирования РЭА привела к тому, что в настоящее время возникла определенная потребность выделять три основные задачи в этой области.
Прежде всего, WAP - средство получения доступа в ресурсам Интернет посредством мобильного телефона. При этом пользователь не прибегает к помощи каких бы то ни было дополнительных устройств, таких как компьютер или модем. WAP (Wireless Application Protocol) - это протокол, или технический стандарт, описывающий способ, с помощью которого информация из Интернет передается на небольшой дисплей мобильного телефона. В этом-то и заключается основное отличие WAP от привычных методов доступа во всемирную сеть, которые обеспечивают обмен информацией и просмотр Web - сайтов (протоколы HTTP и TCP/IP). Теоретически, если бы экран мобильного телефона "умел" отображать столько же информации, как и дисплей компьютера, то и не было бы WAP в таком виде, в каком он предоставляется сейчас. Но дисплеи мобильных телефонов, даже имеющих большое разрешение, не могут "вместить" обычные Web - страницы. Именно это послужило причиной создания специальных способов, позволяющих пользователям мобильных телефонов использовать Интернет.
Телефонная связь, как средство общения и передачи инфор мации, незаменима в быту и на производстве. Ее характеристики определяются множеством факторов, таких как: количество теле фонных линий, вид оборудования АТС, типы применяемых теле фонных аппаратов и т.п. Для достижения высокого качества и удобства этой связи абоненту необходим определенный набор сервисных возможностей. Современные телефонные аппараты позво ляют обеспечить такие функции, как: повтор набора номера, автодозвон, память номеров, удержание линии, переадресация вызовов и пр.
При необходимости расширения возможностей телефона могут применяться самые разнообразные дополнительные устройства — телефонные приставки. Такие устройства вводят специальные сервисные возможности и, иногда, предназначены для стыковки нестандартного оборудования с АТС. В настоящее время на рынке представлено множество предложений от небольших организаций, фирм и даже отдельных разработчиков. Ниже приводится краткий обзор некоторых устройств, пользующихся повышенным спросом.
Если вы раньше программировали только для операционной системы MS-DOS , то вы уже создавали текстовые приложения. В составе MS-DOS нет удобных средств для организации текстового или графического вывода, поэтому большинство программ MS-DOS работают напрямую с видеопамятью, физически расположенной на плате видеоадаптера.
Операционная система IBM OS/2 Warp использует защищенный режим работы процессора, причем в большинстве случаев приложениям запрещается обращаться к портам периферийных устройств и видеопамяти в обход соответствующих драйверов. Это ограничение, однако, с лихвой компенсируется удобными и быстродействующими функциями, доступными приложениям в рамках программного интерфейса IBM OS/2 Warp. Поэтому в целом программирование экранного вывода для текстового режима IBM OS/2 Warp заметно проще, чем для операционной системы MS-DOS .
Сейчас Microsoft поставляет операционные системы Windows с тремя ядрами. Каждое ядро оптимизировано под свои виды вычислительных задач. Microsoft пытается переманить разработчиков программного обеспечения на Windows-платформы, утверждая, что интерфейс прикладного программирования (application programming interface, APT) у каждой из них одинаков. Это означает лишь то, что, научившись писать Windows-приложения для одного ядра, Вы поймете, как сделать то же самое для остальных.
Поскольку я объясняю, как писать Windows-приложения на основе Windows API, то теоретически все, о чем Вы узнаете из моей книги, применимо ко всем трем ядрам. На самом деле они сильно отличаются друг от друга, и поэтому одни и те же функции соответствующих операционных систем реализованы по-разному. Скажем так: базовые концепции одинаковы, но детали могут различаться.
Начнем с того, что представляют собой эти три ядра Windows.
Многие современные серверы Web являются активными или содержат активные страницы, которые взаимодействуют с пользователем. Описанные в только что упомянутом 29 томе программы CGI и приложения ISAPI позволяют создавать активные серверы Web, способные получать данные от удаленного пользователя, обрабатывать их и посылать результат обработки обратно в виде документа HTML. В качестве примера активных приложений, работающих на сервере Web, можно назвать чрезвычайно популярные счетчики посещений, гостевые книги, базы данных, доступные через Internet и так далее.
Что же касается активных страниц Web, то с их помощью также можно создавать диалоговые приложения, однако обработка введенных данных выполняется не на сервере, а на рабочей станции пользователя, то есть локально. Активными мы будем называть документы HTML, которые содержат в себе аплеты Java, а также программы, составленные на таких языках, как JavaScript и VBScript.
В настоящее время на рынках и в магазинах появились в продаже "говорящие" часы в различном исполнении - наручном и настольном. Их можно применить в качестве автоответчика, сообщающего время, на ведомственных и офисных АТС.
Для установки автоответчика необходима отдельная телефонная линия, которая будет использоваться только в целях получения информации о текущем времени. Абонент, позвонивший по номеру, соответствующему этой линии, слышит голосовое сообщение "говорящих" часов.
Все вы хорошо помните те времена, когда IBM и Microsoft работали над операционными системами DOS, OS/2, Windows, а также вели другие совместные проекты. Теперь эти крупнейшие фирмы стали конкурентами, каждая из них предлагает собственные решения в области компьютерных технологий.
Microsoft делает главную ставку на Windows-95 и Windows NT. Первая из этих двух операционных систем по сообщениям Microsoft появится осенью 1995 года и будет предназначена, в первую очередь, для замены операционных систем Windows 3.1 и Windows for Workgroups 3.11. В операционной системе Windows-95 будет реализован объектно-ориентированный интерфейс пользователя. Кроме того, Windows-95 будет иметь встроенную поддержку локальных сетей и расширенный состав приложений (например, упрощенную версию текстового процессора Word for Windows версии 2.0).
Что же касается Windows NT, то эта операционная система выпускается в двух модификациях: Windows NT Advanced Server и Windows NT Workstation. Операционная система Windows NT Advanced Server предназначена в первую очередь для файл-серверов и серверов СУБД. Она требует для нормальной работы много ресурсов. Например, объем оперативной памяти должен быть не менее 16 Мбайт (а лучше установить 32 Мбайт). Модификация Windows NT Workstation предназначена для оснащения мощных рабочих станций. Даже и не думайте работать с этой операционной системой, если в вашем компьютере меньше 16 Мбайт оперативной памяти или установлен процессор i386.
Чтобы удалить апплет Панели управления Администрирование, откройте раздел HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace и найдите там подраздел {D20EA4E1-3957-11d2-A40B-0C5020524153} и переименуйте данный подраздел, поставив минус перед ним (-{D20EA4E1-3957-11d2-A40B-0C5020524153})
Синтаксис и команды JavaScript можно разделить на несколько категорий в зависимости от их назначения и использования. Объекты представляют собой блоки, из которых строится JavaScript. Они применяются для возвращения значений и изменения состояния форм, страниц, броузера и определенных программистом переменных. Объекты можно сопоставить с существительными. Кошка, автомобиль, дом, компьютер, форма - все это существительные, они могут быть представлены как объекты (см. раздел «Объекты»). Мы используем свойства для того, чтобы различать объекты одного класса - например, всех объектов типа кошка. Свойства сравнимы с прилагательными и ссылаются на уникальные для каждого экземпляра объекта особенности.
Добро пожаловать в первое электронное руководство по работе с профессиональным графическим пакетом Adobe Photoshop 5.5 на русском языке! Многочисленные иллюстрированные примеры помогут вам в последовательном и методичном освоении неисчерпаемых возможностей этой программы. Переходя от простых задач к более сложным, даже неподготовленный пользователь легко и быстро приобретет основные навыки в обработке изображений: рисование ретушью, цветовая и тоновая коррекция, монтаж, создание художественных эффектов. Особое внимание уделено подготовке изображений для Internet. Подробно рассмотрены все аспекты создания и оптимизации графики для WEB-страниц, включая создание анимации, ролловеров, фоновых текстур, карт ссылок. Руководство ориентировано на тех, кто только начинает работать с точечной графикой. Опытным пользователям данное руководство пригодится для изучений особенностей новой версии.
Кроме учебного курса на диске представлены так же английская и русская версии Adobe Photoshop 5.5, наиболее популярные наборы фильтров для Photoshop, а так же программы Adobe Illustrator и Adobe InDesign.
Язык PHP был разработан как инструмент для решения чисто практических задач. Его создатель, Расмус Лердорф, хотел знать, сколько человек читают его online-резюме, и написал для этого простенькую CGI-оболочку на языке Perl, т.е. это был набор Perl-скриптов, предназначенных исключительно для определенной цели – сбора статистики посещений.
Для справки. CGI (Common Gateway Interface – общий интерфейс шлюзов) является стандартом, который предназначен для создания серверных приложений, работающих по протоколу HTTP. Такие приложения (их называют шлюзами или CGI-программами) запускаются сервером в режиме реального времени. Сервер передает запросы пользователя CGI-программе, которая их обрабатывает и возвращает результат своей работы на экран пользователя. Таким образом, посетитель получает динамическую информацию, которая может изменяться в результате влияния различных факторов. Сам шлюз (скрипт CGI) может быть написан на различных языках программирования – Cи/C++, Fortran, Perl, TCL, UNIX Shell, Visual Basic, Python и др.
Вскоре выяснилось, что оболочка обладает небольшой производительностью, и пришлось переписать ее заново, но уже на языке Си. После этого исходники были выложены на всеобщее обозрение для исправления ошибок и дополнения. Пользователи сервера, где располагался сайт с первой версией PHP, заинтересовались инструментом, появились желающие его использовать. Так что скоро PHP превратился в самостоятельный проект, и в начале 1995 года вышла первая известная версия продукта, называвшаяся Personal Home Page Tools (средства для персональной домашней страницы). Средства эти были более чем скромными: анализатор кода, понимающий всего лишь несколько специальных команд, и набор утилит, полезных для создания гостевой книги, счетчика посещений, чата и т.п.
Итак, долгожданное чудо произошло и на свет появилась новая версия Windows - Microsoft Windows95. Если вы следили за компьютерной прессой, то наверняка находитесь в курсе споров на тему, какая операционная система лучше - Microsoft Windows 95, Microsoft Windows NT или IBM OS/2 Warp (а может быть, одна из версий UNIX?).
Мы не будем развивать эту тему дальше, так как по нашему убеждению, каждая из перечисленных выше операционных систем найдет свою область применения. В любом случае, найдется достаточное количество пользователей, которые пожелают заменить привычную (и порядком уже надоевшую) среду Windows версии 3.1 на объектно-ориентированную среду Microsoft Windows 95. Последняя обладает прекрасным дизайном, вполне приемлемой производительностью, удобными средствами работы в локальных и глобальных сетях. Она также практически полностью совместима с существующими приложениями DOS и Windows. Есть и другие преимущества, о которых вы еще узнаете.