Google винаги знае всичко. Как става това? За справяне с огромно количество данни, основното оръжие в арсенала на Google е MapReduce, система, разработена от самата компания.
Тази система се използва и при търсене на информация на други сървъри в интернет. Но как тази система действа при търсене на информация, която се осигурява от Google apps, тоест, такава, която е качена на сървърите на Google? Докато други системи изискват добре маркирана и строго организирана база данни, MapReduce разделя общия процес на прости стъпки, и по този начин се справя с всякакъв тип данни, които след това разпределя по цял легион машините. Както името му ще предполагат, магията MapReduce идва от две основни стъпки: картографиране и намаляване. Първата стъпка, картографирането, е уникалната част. Един компютър оценява искането и след това го разделя на по-малки и по-лесно управляеми второстепенни задачи, които се възлагат на други компютри. Тези задачи на свой ред, може да се разделят на още под-задачи, в зависимост от сложността на данните. Например, при Google Books, цялата база данни ще се раздели, да кажем, на автори по реда, по който те са били сканирани, или нещо такова, а след това ще се разпространят на работните компютри.
След това данните се записват. За постигане на максимална ефективност, те остават на локалните твърди дискове на работните компютри, вместо да се изпращат на някое централно място. След това идва втората стъпка: намаляването. Други работни машини вземат данните от компютрите, които са разбили информацията и ги преобразуват в подходящ формат. В примера с Google Books, например, това означава събиране на обработените данни в списъци с отделни думи и определяне на честотата, с която те се появяват в дигиталната библиотека на Google. Готовият продукт на системата MapReduce е според Wired комплект данни за данните. Този комплект данни е изработен специално за отговор на първоначалната заявка. В този случай, новите данни позволяват заявка за всяка дума.
Discussion about this post