Каковы лучшие практики для сбора, поддержания и обеспечения точности огромного набора данных? - PullRequest
8 голосов
/ 22 декабря 2010

Я задаю этот вопрос в поисках практического совета по проектированию системы.

Такие сайты, как amazon.com и pandora, имеют и поддерживают огромные наборы данных для ведения своего основного бизнеса. Например, Amazon (и любой другой крупный сайт электронной коммерции) имеет миллионы продуктов для продажи, изображения этих продуктов, цены, технические характеристики и т. Д. И т. Д. И т. Д.

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

Моя компания находится в аналогичной ситуации. Мы поддерживаем огромный (10 миллионов записей) каталог автомобильных запчастей и автомобилей, которые им подходят. Мы занимаемся этим уже некоторое время и разработали ряд программ и процессов, чтобы наш каталог рос и был точным; однако, похоже, что для увеличения каталога до x элементов нам нужно увеличить команду до y .

Мне нужно обдумать некоторые способы повышения эффективности группы данных и, надеюсь, я смогу поучиться на работе других. Любые предложения приветствуются, более того, это будут ссылки на контент, который я мог бы потратить на серьезное чтение.

Ответы [ 7 ]

5 голосов
/ 01 января 2011

Используйте посетителей.

  1. Даже если у вас есть один человек на элемент, будут неправильные записи, и клиенты найдут его .Итак, пусть они помечают предметы как «неуместные» и делают короткие комментарии.Но не забывайте, что они не ваши сотрудники, не спрашивайте их слишком много;Посмотрите на кнопку «Мне нравится» на Facebook, она проста в использовании и не требует много энергии от пользователя.Хорошая производительность / цена.Если в Facebook будет обязательное поле с вопросом «почему оно вам нравится?», Никто не должен использовать эту функцию.

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

3 голосов
/ 22 декабря 2010

Постройте это прямо во-первых. Убедитесь, что вы используете каждый метод проверки целостности, доступный в используемой вами базе данных, в соответствии с тем, что вы храните. Лучше, если загрузка не удалась, чем плохие данные, которые будут представлены незаметно.

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

Я не могу сказать вам, сколько боли я испытывал, пытаясь переделать (или просто работать ежедневно) старые системы, заполненные мусорными данными. Правильное выполнение и тщательное тестирование на первый взгляд может показаться болезненным, и это может быть так, но наградой является наличие системы, которая по большей части напевает и практически не требует вмешательства.

Что касается ссылки, то если есть кто-то, кому нужно задуматься и разработать дизайн для масштабируемости, то это Google. Вы можете найти это поучительное, у него есть несколько хороших вещей, о которых стоит помнить: http://highscalability.com/google-architecture

3 голосов
/ 22 декабря 2010

Поскольку речь идет скорее об управлении командой / кодом / данными, а не о реализации, и поскольку вы упомянули Amazon, я думаю, вы найдете это полезным: http://highscalability.com/amazon-architecture.

В частности, нажмите ссылку на Werner Vogelsинтервью.

2 голосов
/ 04 января 2011

Управление основными данными является еще одной альтернативой тому, что было предложено. Здесь - статья Microsoft «Что, почему и как в области управления основными данными». Управляющие данными получают права / обязанности по поддержанию точности данных для предприятия.

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

1 голос
/ 04 января 2011

Большая часть данных, управляемых Сайтом, таких как Google, поступает от пользователей. Я ввожу свои данные и отвечаю за их достоверность. Сайты имеют свои данные, и они получены из Интернета. Данные поиска получены из поиска. Это, вероятно, значительно отличается от того, что вы пытаетесь. Персоналу Google не требуется ничего делать с ним.

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

Из моего опыта у вас также есть проблема, что перекрестные ссылки могут быть однонаправленными. A может заменить B, но B не может заменить A.

Пока у вас есть ручной ввод, у вас будут ошибки. Все, что вы можете сделать в своем интерфейсе для обнаружения этих ошибок, вероятно, стоит усилий. Объем ввода персонала должен масштабироваться линейно.

Просмотрите исследование циклов внимания, чтобы определить, можете ли вы что-то сделать для повышения качества процессов ввода и проверки. Недавние исследования в области сканирования безопасности показывают, что вы можете периодически генерировать ошибки в данных проверки.

Как уже отмечалось, хорошая идея помечать ошибки пользователями.

1 голос
/ 02 января 2011

Я бы вложил значительные средства в интеллектуальный анализ данных.Получите как можно больше новостей о продуктах, которые вы пытаетесь продать.Получайте новости о транспортном средстве напрямую от поставщиков, а также от компаний по ремонту автомобилей, таких как Mitchell и Haynes.

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

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

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

Особенно в автомобильной промышленности, я думаю, их большое значение для высокихкачественное индексирование, которое можно найти как в Google, так и в логическом отношении, чтобы найти людей, желающих заменить определенный компонент.Вы также можете рассмотреть возможность продажи / предоставления услуг, специфичных для местоположения, через IP-геолокацию на основе компонента, который они заинтересованы в покупке.

1 голос
/ 01 января 2011

Поделитесь датой с вашими поставщиками.Затем данные вводятся один раз.

Если это важно, это следует сделать один раз, иначе не делать вообще.

...