Юрий Заяц

Шесть банальных выводов из домашнего хайлоад-проекта

16 ноября 2015 г.

В 2004 году я написал курсовую работу о том как подмешивать данные в результаты поисковой выдачи, чтобы по запросу “Opera” не только про красноглазый браузер показывало, но и про Сиднейскую филармонию. В 2006 году Google оформил патент, в котором точь в точь моя работа. Меня, конечно же, никто не предупредил.

Я решил взять реванш и, не предупредив Google, сделать поискового паука.

Spyify server

Цель была сугубо меркантильная: создать паука, собирающего идентификаторы Adsense, Google Analytics, LI и, узнать побольше про денежные сетки сайтов и про то, какие темы Wordpress самые популярные. Ну и заодно про распределение языков.

Если кто не знает, идентификаторы Adsense одинаковы для всех сайтов одного владельца, что помогает выявлять «Типа СДЛ», а код LI выдает русских, несмотря на выставленную локаль En_en. Для конкретного сайта идентификаторы можно посмотреть на Sameid.net или Spyonweb.com, но по группам не показывает никто. Уж очень ценная информация. (на момент написания этой статьи уже показывает Domainiq за 50 долларов в месяц)

Технические моменты, которые хотел бы прояснить для себя: многопоточность, highload и понять как ведет себя mysql с базой 100 гб.

Для тестов были куплены за $3000 две новые машины, одна на 4 ядра и 64 гб памяти, вторая на 8 ядер и 16 гб. Чтобы тестировать соотношение память-процессор и заодно несколько инстансов паука запускать. И еще базу в памяти хранить. Поэтому ECC.

Почему spyify.com

Я давно хотел себе домен sherloque.com. Просто чтобы был. Домен даже с аукциона продавался, но меня жаба душила за $8800 его покупать. А тут слово в голове всплыло - spyify. Зашел я к доменному брокеру, узнал что spyify.com через два дня освобождается и купил. Сэкономил.

Одна проблема – исходящий канал. 512 кб из моего дома. Поэтому на сервер база попадает как в эпоху BBS. Snail Mail. Я беру внешний диск и иду к другу. Потом я вспоминаю как разворачивать многотомные архивы. Это же 2015 год, нельзя просто так взять и написать unzip file.zip -d destination_folder. Потом еще сутки база заливается в mysql.

Нельзя написать универсального паука

Скачать заглавную страницу, найти ссылки, скачать страницу для каждой найденной ссылки, повторить?

Не, рекурсия не пройдет.

Интернет разный. На 98 процентов он состоит из вордпресса и больших парней, держащих собственный UX-отдел, но бывают и отдельные экземпляры, достойные кунсткамеры. Я встречал корневую страницу, на которой размещено 4000 ссылок. Каждая из этих ссылок ведет на страницу с еще 4000 ссылок. Это живой сайт, с живыми документами, имеющими определенный смысл. За ним стоит некто с той же болезнью, что и у Джона Нэша.

Нельзя ограничиться только количеством страниц (хотя в итоге я так и сделал для поиска новых доменов) или только уровнями вложенности.

Паук – это набор исключений: правила сканирования доменов, правила сканирования поддоменов. В Википедии нам нужно залезть как можно глубже поддомена конкретного языка, чтобы собрать побольше ссылок. При этом рекламные идентификаторы можно и не искать. В Блоггере нам достаточно одной заглавной страницы поддомена. Твиттер, фейсбук, web.archive и прочий Top-1000 мы пропускаем.

Иногда самым простым решением будет самое простое решение

Простое и совершенно неверное с точки зрения архитектуры.

Представьте себе список доменов верхнего уровня. *.ru, *.com, *.by и т.д. Среди них встречаются и посложнее, типа *.co.uk. Или японская пачка из пары десятков разных *.hokkaido.jp *.aomori.jp *.iwate.jp *.miyagi.jp *.akita.jp *.yamagata.jp *.fukushima.jp *.ibaraki.jp.

В определенный момент возникает задача сканировать Блоггер, т.к. в нем содержится множество разных идентификаторов Adsense. По одному на блог. Самым простым вариантом будет добавить .blogger.com как домен верхнего уровня, наплевав на сам домен. Если сделать по другому, придется потратить сначала время на написание исключений, потом запустить поток паука, через пару дней осознать, что Блоггер большой; что нам нужно еще и сохранять промежуточные результаты потока, написать сохранялку, ну и все заверте…

Канал важнее процессорных мощностей

По крайней мере пока вы не считаете pagerank.

10 мегабитного канала хватает для того, чтобы качать в 200 потоков шесть миллионов страниц в день, и еще остается место для торрентов. Процессор при этом занят на 15-20 процентов.
Ну а память вообще не важна, пока ее у вас 16 гб. 16 гб хватит всем. Или 32, если добавить потоков.

Верхние 30 миллионов сайтов сильно связаны

Чтобы их найти, понадобилось две недели работы инстанса с глубиной просмотра 10 страниц. Для затравки использовался единственный сайт – Википедия. Через 2 недели паук остановился – ссылки закончились.
Все остальные сайты – не очень сильно связаны. Для того чтобы пройти очередные 5 миллионов, понадобилось полгода работы инстанса с глубиной в 100 страниц – в шесть раз медленнее.

Mysql отлично справляется с базой в 100 гб

Конечно, все нужно кешировать. Views для фронтенда кешируются в реальные таблицы, по реальным таблицам строятся индексы и дополнительно развертываются данные. Поля DATETIME превращаются в DATE и TIME, а иначе глупый запрос «А сколько же мы сайтов сегодня просканировали» с WHERE date(threadLaunch) превращается в минуту ожидания.

Сайтов, сделанных под Адсенс, много

Их реально много. Миллионы. Настолько много, что пришлось добавить таблицы с рейтингами Alexa, чтобы отсеять сайты без трафика. Теперь моя коллекция датасетов содержит еще и ежемесячные дампы Alexa.

Spyify clien

Подпишись на RSS и Кодирующие кролики расскажут тебе много интересных историй.
Юрий Заяц

Суперсекретный проект номер 3

30 ноября 2009 г.

Суперсекретный скриншот.

Подпишись на RSS и Кодирующие кролики расскажут тебе много интересных историй.
Юрий Заяц

Атака клонов

27 августа 2009 г.

А вот дизайнер Игорь Старков (Igor Starcov) украл несколько концептуальных фишек Конфитюра — горизонтальную ленту времени, область для перетаскивания, перекрасил все в серый цвет и вуаля — можно отдавать заказчику.
читать дальше »

Юрий Заяц

Хранители

18 августа 2009 г.

Скачать сканы

Опубликовано в журнале МС №7(72), июль 2009
Текст: Антон Юров

Сбой системы, кража ноутбука, выход из строя жесткого диска — причины потери важных данных, ценных закладок и уникальных документов могут быть разные. Реальный способ избежать подобных случаев — довериться интернет-сервисам.

Флэшка, внешний жесткий диск, болванки — все это привычные средства для копирования файлов.

Но вот насколько они надежны? Портативный накопитель легко может выйти из строя при выдергивании из USB-разъема — здесь надо вспомнить, многие ли используют безопасное извлечение устройства. Внешний «хард» — вещь более надежная, но также не вечная. А производители DVD гарантируют срок хранения данных в течение десяти лет при самом бережном обращении. На деле же поцарапанные диски лежат друг на друге в конвертиках, что крайне не желательно. Так, может быть, пора закончить заниматься самодеятельностью и начать доверять важную информацию профессионалам? Тем, кто гарантирует сохранность данных и использует сложное оборудование. Для этого понадобится лишь небольшая сумма денег и широкий интернет-канал.

ПОД НАДЕЖНОЙ ЗАЩИТОЙ

Любая информация имеет ценность для владельца. Но по-настоящему понять это можно только в случае ее потери. И, увы, жесткий диск — не панацея от всех бед. Даже если «харды» соединены в RAID-массив — в таком случае данные записываются параллельно сразу на два диска. Да и используют подобное решение лишь специалисты: простому пользователю ни к чему эти сложности. Зато ему куда понятнее принцип сохранения файлов в онлайн-режиме. Здесь от человека не требуется специфических знаний и навыков. Все что надо — это установить программное обеспечение и следовать подсказкам. По сути, такой способ хранения данных представляет собой своеобразный удаленный жесткий диск. И это основное отличие сервиса от файловых хранилищ типа rapidshare.com или depositfiles.com. Там предлагается лишь на время разместить файлы или архивы, что может быть удобно только для обмена данными либо их распространения.

Принцип работы онлайн-хранилища совершенно другой. Пользователь регистрирует индивидуальный аккаунт и выбирает подходящий тарифный план. После поступления платежа можно закачивать файлы. В типовой программе для онлайн-бекапа доступно два окна подобно тем, что представляет популярная программа Total Commander. То есть, в одной половине находится содержимое собственного жесткого диска, в другой — удаленного. Большая нагрузка на Интернет возникнет лишь единожды — при первом копировании данных на сервер. Далее новые файлы для сохранения (а также измененные) будут определяться при быстром сканировании содержимого жесткого диска — как правило, такие программы работают в фоновом режиме, а все действия с файлами и папками отслеживаются и фиксируются.

Все идет к тому, что через несколько лет флэшки, как средство хранения и переноса информации, «умрут», уступив место онлайн-хранилищам файлов.

Бесплатных сервисов с такой услугой нет. Здесь пользователю необходимо понимать, что он платит за надежность. Оборудование в подобных дата-центрах подчас стоит сотни тысяч долларов, что, впрочем, окупается многочисленными клиентами.

НАШ ОТВЕТ ЧЕМБЕРЛЕНУ

Онлайн-хранение данных — популярный сервис за рубежом, появившийся там не год и не два назад. С недавних пор подобные услуги стали предлагаться и у нас. Так, например, возник «Конфитюр» (ru.getconfiture.com) — разработка гродненского программиста Юрия Зайца, Услуга эта, естественно, платная. Стоимость приводится за год: за хранение 2 Гб данных придется выложить $10; 10 Гб обойдутся в $15; $60 будет стоить хранение 50 Гб; а если планируется создать резервную копию для 200 Гб, то это оценивается в $240 (то есть $20 в месяц). Программу можно испытать и в тестовом режиме — каждому новому пользователю предоставляется 100 Мб для того, чтобы понять, нужен ему подобный сервис или нет.

Интерфейс программы «Конфитюр» прост, при сканировании жесткого диска можно определить тип документов и выбрать, к примеру, только фотографии или музыкальные файлы. Так как программа работает в фоновом режиме, все вновь созданные или измененные документы будут отслежены, и при следующем запуске пользователю предложат скопировать их на сервер.
Часто услугу оказывают компании, занимающиеся хостингом. По сути, принципиальных отличий в работе этих сервисов нет, за исключением разве что нагрузки на сервер.

Неоспоримое преимущество такого способа хранения данных — доступность файлов из любого места, где есть Интернет. То есть, находясь вдалеке от дома, можно в любой момент зайти в интернет-кафе и поработать с необходимыми документами. И при этом не надо брать с собой никаких дополнительных устройств и проводов.

«ЗАБОБРИТЬ»

Такой необычный термин возник с появлением сайта BobrDobr.ru — социальной сети по хранению закладок. А предшествовало созданию подобного сервиса идея о том, что далеко не всем необходимо удаленно хранить файлы в Сети. В конце концов жесткий диск или оптические болванки все же дают гарантию сохранности данных, пусть и не стопроцентную. Но иногда куда важнее иметь при себе ссылки на избранные сайты, Таких сервисов немало, а первым из них был Delicious. Сайт с доменным именем del.icio.us появился еще в 2003 году. Его владелец Джошуа Шахтер впоследствии рассказал, что в его браузере находилось более чем 20 000 закладок, рассортировать которые все никак не удавалось. Решение Джошуа было простым — позволить сделать это другим пользователям. За год постоянными посетителями Delicious стали около 40000 человек, которые навели порядок в закладках, присвоив им теги. С тех гор изменилось доменное имя (delicious.com), сайт был выкуплен компанией Yahoo (сделку в свое время оценивали в $15-30 млн) и сейчас имеет заслуженнкю популярность у пользователей. Направленность ресурса — уже не банальное хранение закладок, а целая социальная сеть, пользователи которой делают описания к закладкам, выставляют рейтинги. И кто знает, может быть, любимый ресурс вовсе не так хорош на самом деле, если у него рейтинг всего три звезды?

Другие популярные социальные сервисы для хранения закладок: Simpy, Furl, BinkList и Netvouz. Среди русскоязычных пользователей находят поддержку такие ресурсы, как Memori.ru, ВоbrDоbr.ru, МоеМесто.ru и другие.

Иконку Delicious можно найти на подавляющем большинстве сайтов — кликнув на нее, ссылка на статью или новость будет автоматически занесена в онлайн-закладки. Delicious интегрируется с различными браузерами: есть расширения для Mozilla Firefox, Internet Explorer и платное для Safari (разработчики DeliciousSafari оценивают свое творение в $10).

Для хранения закладок можно использовать и сервис Google. Это уже не социальная сеть, а просто место для личного бекапа данных. Самый простой вариант представляется для пользователей браузера Firefox — они могут скачать плагин для всех сервисов Google, куда помимо поиска и переводчика включено средство для онлайн-бекапа закладок. Вариант номер два — выбрать в сервисах Google «Блокнот» и сохранить ссылки там.

С МИРУ ПО НИТКЕ

В онлайн переехали не только средства по резервному копированию файлов и закладок, но и личное виртуально-информационное пространство (было очень сложно дать определение этому понятию и, вполне вероятна, МС станет первым, внедрившим такой термин). Это стало возможным снова с подачи Google, по крайней мере, другие аналогичные сервисы молчат насчет своего первенства.

СВОБОДУ ФАЙЛАМ!

В то время как Microsoft изо всех сил старается навязать пользователям и организациям официальную покупку Windows и Microsoft Office, Google, напрoтив, проводит все свои новые услуги под эгидой полной «халявы». К примеру, средства Google Docs служит не только для просмотра документов, но и для их создания и редактирования. Таким образом, вполне может отпасть необходимость в программах Microsoft Word, Ехсеl и PowerPoint. В Google Docs можно создавать несложные документы. И хотя полностью эта услуга вряд ли заменит Word, ее возможности все же значительно превышают заложенные в бесплатный «Блокнот», поставляемый вместе с операционной системой. Ну а аналогов Excel и PowerPoint в Windows не было отродясь.

На персональной страничке iGoogle можно хранить собственную подборку информации. Это могут быть различные графические виджеты (правда, там они названы гаджетами): погодные информеры, часы, фотоальбомы, онлайн-переводчики и многое другое. На странице iGoogle отображается содержимое почтового ящика Gmail и подписанные новости с избранных сайтов. Найдется место и для RSS-потоков, идущих с различных ресурсов. Естественно, что страница iGoogle доступна из любого места земного шара в любое время дня и ночи. Исчезнуть какая-либо информация может только в одном случае — если подписанный сайт закроется (будет перегружен сервер, произойдет хакерская атака и так далее).

Если же iGoogle в силу каких-то причин не устраивает, то с аккаунта Google можно получить доступ к Google Reader — ресурсу, основное предназначение которого чтение подписанных на определенный адрес RSS-потоков.

МАСШТАБЫ ПРОИЗВОДСТВА

Большинство компаний, предоставляющих подобного рода услуги, покупают серверы у Dell, Hewlett-Packard, IBM или Sum MicroSystems. Однако Google, у которой имеются сотни тысяч серверов для хранения данных, разрабатывает и строит их самостоятельно, притом каждый из них оборудован собственной 12-вольтной батареей на случай перебоев с электропитанием. По словам вице-президента Google, Урса Хольцля (Urs Hoelzle), компьютерная инфраструктура Google построена на тысячах «обычных», относительно дешевых, серверов. Общая стоимость оборудования составляет несколько миллионов долларов. Это оказалось выгоднее, чем приобретение меньшего количества дорогих многопроцессорных машин, которые в общей сложности обошлись бы в десятки миллионов долларов.

Серверы Google работают под управлением Linux. За основу был взят стандартный дистрибутив Red Hat, в котором ядро операционной системы модифицировано с учетом нужд Google.
Благодаря собственной файловой системе GFS, разработанной инженерами компании, вся информация копируется и хранится в трех местах одновременно, при этом одна из возможностей системы — быстрый поиск сохраненных копий, в случае если какая-то машина вышла из строя.
Корпорация Microsoft, в погоне за Google, еще с 2007 года начала строительство крупнейшего в мире дата-центра, который будет необходим для размещения серверов, обеспечивающих хранение информации и надежность работы веб-сервисов корпорации. По площади новый дата-центр займет семь футбольных полей, что составляет чуть меньше 50 квадратных километров. Примерно в это же время корпорация ввела в строй еще один дата-центр, расположенный в Сан-Антонио (Техас), стоимость которого составила 550 млн долларов.

Несмотря на то, что большинство операций по обслуживанию такого парка серверов будут автоматизированными, а операционное обслуживание станет относительно невелико, потребляет дата-центр более 48 мега-ватт электричества — такого количества электроэнергии хватит для снабжения 40 000 частных домов. Кроме того, для дата-центра будут работать несколько охлаждающих станций, которые занимаются теплоотводом от десятков тысяч серверов.

Подпишись на RSS и Кодирующие кролики расскажут тебе много интересных историй.
Юрий Заяц

Он сказал, что на революцию уйдут все летние каникулы, и я был согласен.

16 июля 2009 г.

Он сказал, что на революцию уйдут все летние каникулы, и я был согласен.

Подпишись на RSS и Кодирующие кролики расскажут тебе много интересных историй.
Юрий Заяц

Конфитюр: Первая продажа

20 мая 2009 г.

Продажи — это приятно. Первая продажа — приятно вдвойне.

Пока мы подключаем к Конфитюру российские платежи через Робокассу, пришел платеж по кредитной карте и счет ККК пополнился на 10 долларов.

В связи с этим мы начинаем поиск продажников. Если у вас есть желание продавать Конфитюр корпоративным клиентам, работать над публикацией на дисках, организовывать региональную сеть продаж — пишите на адрес rabbitone@coderab.com.

Подпишись на RSS и Кодирующие кролики расскажут тебе много интересных историй.
Юрий Заяц

Три коротких предложения для инвесторов

12 мая 2009 г.

Конфитюр — простая и понятная система резервного копирования. Сегодня мы можем предложить инвесторам три способа заработать деньги.

Купить, расфасовать и продать. Простая схема, которая никогда не подводила.

Конфитюр сохраняет все данные на специальном сервере Amazon S3. Мы арендуем много-много места на сервере, а потом сдаем его в аренду по частям. Ведь каждому пользователю нужно совсем чуть-чуть, а в сумме — это терабайты файлов.
читать дальше »

Юрий Заяц

Этапы большого пути

20 апреля 2009 г.

А между тем, в Конфитюре уже cтотысячмиллионов 10000 файлов.

Подпишись на RSS и Кодирующие кролики расскажут тебе много интересных историй.
Юрий Заяц

Концепты Конфитюра

9 апреля 2009 г.

Все концепты сделаны в Индестудио дизайнерами Егором Мамчицом и Леонидом Вознюком.

А в Конфитюре добавился поиск и кнопки переходов.

Подпишись на RSS и Кодирующие кролики расскажут тебе много интересных историй.
Константин Константинопольский

Конфитюр: Пресс-релиз

1 апреля 2009 г.


Мы рады сообщить вам, что у проекта Доширак появился первый инвестор. Сегодня была завершена покупка 10% cервиса «Конфитюр» Федеральной службой безопасности РФ.

Начальник пресс-службы ФСБ РФ так прокомментировал покупку: «Мы имеем доли собственности в таких сервисах, как Гмейл, Тут.бай и Яндекс.почта, ряде интернет-провайдеров и операторов мобильной связи. Кроме этого, нам принадлежат около пятидесяти сайтов, оптимизированных под запрос «детское порно скачать». Покупка Конфитюра – вполне логичное приобретение, которое позволит лучшим офицерам службы безопасности не только читать почту, смс, прослушивать телефонные разговоры, но и просматривать пользовательские файлы».

ФСБ РФ и Конфитюр – ваши файлы станут нашими!

Подпишись на RSS и Кодирующие кролики расскажут тебе много интересных историй.