Съдържание:
- Големите данни са неструктурирани или полуструктурирани
- Няма смисъл да съхраняваме големи данни, ако не можем да ги обработим
- Как Hadoop решава проблема с големите данни
- Бизнес казусът за Hadoop
Големите данни са … добре … големи по размер! Колко точно данни могат да бъдат класифицирани като големи данни, не е много ясно, така че нека не се затъваме в този дебат. За малка компания, която е свикнала да се справя с данни в гигабайти, 10 TB данни би било ВЕЛИКО. Въпреки това за компании като Facebook и Yahoo петабайтите са големи.
Точно размерът на големите данни прави невъзможно (или поне превишаващо разходите) да ги съхранявате в традиционно съхранение като бази данни или конвенционални файлове. Говорим за разходи за съхранение на гигабайти данни. Използването на традиционните файлове за съхранение може да струва много пари за съхранение на големи данни.
Тук ще разгледаме големите данни, техните предизвикателства и как Hadoop може да помогне за тяхното разрешаване. Първо, най-големите предизвикателства на големите данни.
Големите данни са неструктурирани или полуструктурирани
Много големи данни са неструктурирани. Например, данните от регистрационния файл на потока могат да изглеждат така:
времева марка, user_id, страница, референтен_страница
Липсата на структура прави релационните бази данни не много подходящи за съхранение на големи данни. Освен това не много бази данни могат да се справят със съхранението на милиарди редове данни.
Няма смисъл да съхраняваме големи данни, ако не можем да ги обработим
Съхраняването на големи данни е част от играта. Трябва да го обработим, за да извлечем разума си от него. Традиционните системи за съхранение са доста "тъпи" в смисъл, че те просто съхраняват битове. Те не предлагат никаква мощност за обработка.
Традиционният модел за обработка на данни има данни, съхранявани в клъстер за съхранение, които се копират в изчислителен клъстер за обработка. Резултатите се записват обратно в клъстера за съхранение.
Този модел обаче не работи много за големи данни, тъй като копирането на толкова много данни в изчислителен клъстер може да отнеме твърде много време или е невъзможно. И така, какъв е отговорът?
Едно решение е да се обработват големи данни на място, например в клъстер за съхранение, удвояващ се като изчислителен клъстер.
Както видяхме по-горе, големите данни не са в състояние да запазят традиционното съхранение. И така, как да обработваме големите данни?
Как Hadoop решава проблема с големите данни
Hadoop е създаден да работи върху клъстер от машиниДа започнем с пример. Да речем, че трябва да съхраняваме много снимки. Ще започнем с един диск. Когато надвишим един диск, може да използваме няколко диска, подредени на машина. Когато максимизираме всички дискове на една машина, трябва да се сдобием с куп машини, всяка с куп дискове.
Точно така се изгражда Hadoop. Hadoop е проектиран да работи на клъстер от машини от движение.
Хаодопските клъстери се мащабират хоризонтално
Повече съхранение и изчислителна мощност може да се постигне чрез добавяне на повече възли към клъстер Hadoop. Това елиминира необходимостта от закупуване на повече и по-мощен и скъп хардуер.
Hadoop може да обработва неструктурирани / полуструктурирани данни
Hadoop не налага схема на данните, които съхранява. Той може да обработва произволен текст и двоични данни. Така Hadoop може да усвоява лесно всякакви неструктурирани данни.
Hadoop клъстерите осигуряват съхранение и изчисления
Видяхме как отделните клъстери за съхранение и обработка не са най-подходящото за големи данни. Hadoop клъстерите обаче осигуряват съхранение и разпределени изчисления всичко в едно.
Бизнес казусът за Hadoop
Hadoop осигурява съхранение на големи данни на разумна ценаСъхраняването на големи данни чрез традиционно съхранение може да бъде скъпо. Hadoop е изграден около стоков хардуер, така че може да осигури доста голямо съхранение за разумни разходи. Hadoop е използван в полето в петабайт мащаб.
Едно проучване на Cloudera предполага, че предприятията обикновено харчат около 25 000 до 50 000 долара на терабайт годишно. При Hadoop тази цена пада до няколко хиляди долара на терабайт годишно. Тъй като хардуерът става все по-евтин и по-евтин, тази цена продължава да намалява.
Hadoop позволява заснемане на нови или повече данни
Понякога организациите не улавят тип данни, тъй като това е твърде скъпо за тяхното съхраняване. Тъй като Hadoop осигурява съхранение на разумна цена, този тип данни могат да бъдат улавяни и съхранявани.
Един пример са регистрационните файлове за кликване на уебсайтове. Тъй като обемът на тези регистрационни файлове може да бъде много голям, не много организации са ги заснели. Сега с Hadoop е възможно да се заснемат и съхраняват трупите.
С Hadoop можете да съхранявате данни по-дълго
За да управляват обема на съхранените данни, компаниите периодично пречистват по-стари данни. Например само журнали за последните три месеца могат да се съхраняват, докато по-старите дневници се изтриват. С Hadoop е възможно да съхранявате историческите данни по-дълго. Това позволява да се направи нова анализа на по-стари исторически данни.
Например, вземете регистрационни файлове за кликвания от уебсайт. Преди няколко години тези дневници се съхраняват за кратък период от време, за да се изчислят статистически данни като популярни страници. Сега с Hadoop е възможно да съхранявате тези регистрационни файлове за по-дълъг период от време.
Hadoop предоставя мащабируема анализа
Няма смисъл да съхраняваме всички тези данни, ако не можем да ги анализираме. Hadoop осигурява не само разпределено съхранение, но също така и разпределена обработка, което означава, че можем да стискаме голям обем данни паралелно. Изчислителната рамка на Hadoop се нарича MapReduce. MapReduce е доказано до мащаба на петабайтите.
Hadoop предоставя богат анализ
Native MapReduce поддържа Java като основен език за програмиране. Могат да се използват и други езици като Ruby, Python и R.
Разбира се, писането на персонализиран код MapReduce не е единственият начин за анализ на данни в Hadoop. Налично е намаление на карта на по-високо ниво. Например, инструмент на име Pig приема езика на потока на английски като английски и ги превежда в MapReduce. Друг инструмент, Hive, взема SQL заявки и ги изпълнява с помощта на MapReduce.
Инструментите за бизнес разузнаване (BI) могат да осигурят още по-високо ниво на анализ. Има и инструменти за този тип анализи.
Това съдържание е извадено от „Hadoop Illuminated“ от Марк Керзнер и Sujee Maniyam. Той е достъпен чрез Creative Commons Attribution-NonCom Commercial-ShareAlike 3.0 недепортиран лиценз.