සේවාදායක විශ්ලේෂණ පද්ධති

මෙය විශ්ලේෂණ පද්ධති පිළිබඳ ලිපි මාලාවක දෙවන කොටසයි (1 කොටසට සබැඳිය).

සේවාදායක විශ්ලේෂණ පද්ධති

ප්‍රවේශමෙන් දත්ත සැකසීම සහ ප්‍රතිඵල අර්ථ නිරූපණය කිරීම ඕනෑම ආකාරයක ව්‍යාපාරයකට පාහේ උපකාර කළ හැකි බවට අද කිසිදු සැකයක් නැත. මේ සම්බන්ධයෙන්, විශ්ලේෂණ පද්ධති වැඩි වැඩියෙන් පරාමිතීන් සමඟ පටවනු ලබන අතර යෙදුම්වල ප්‍රේරක සහ පරිශීලක සිදුවීම් සංඛ්‍යාව වර්ධනය වේ.
මේ නිසා, සමාගම් ඔවුන්ගේ විශ්ලේෂකයින්ට විශ්ලේෂණය කිරීමට සහ හොඳ තීරණ බවට පත් කිරීමට වැඩි වැඩියෙන් අමු තොරතුරු ලබා දෙයි. සමාගමක් සඳහා විශ්ලේෂණ පද්ධතියක වැදගත්කම අවතක්සේරු නොකළ යුතු අතර, පද්ධතියම විශ්වාසදායක සහ ස්ථාවර විය යුතුය.

සේවාදායක විශ්ලේෂකයින්

පාරිභෝගික විශ්ලේෂණ යනු සමාගමක් නිල SDK හරහා තම වෙබ් අඩවියට හෝ යෙදුමට සම්බන්ධ වන සේවාවකි, එහිම කේත පදනමට ඒකාබද්ධ වී සිදුවීම් ප්‍රේරක තෝරා ගනී. මෙම ප්‍රවේශයට පැහැදිලි අවාසියක් ඇත: ඔබ තෝරා ගන්නා ඕනෑම සේවාවක සීමාවන් හේතුවෙන් එකතු කරන ලද සියලුම දත්ත ඔබ කැමති ආකාරයටම සැකසිය නොහැක. උදාහරණයක් ලෙස, එක් පද්ධතියක MapReduce කාර්යයන් ධාවනය කිරීම පහසු නොවනු ඇත, තවත් එකක ඔබට ඔබේ ආකෘතිය ධාවනය කිරීමට නොහැකි වනු ඇත. තවත් අවාසියක් වනුයේ සේවා සඳහා නිත්ය (ආකර්ශනීය) බිල්පතයි.
වෙළඳපොලේ බොහෝ පාරිභෝගික විශ්ලේෂණ විසඳුම් ඇත, නමුත් ඉක්මනින් හෝ පසුව විශ්ලේෂකයින්ට සෑම කාර්යයක් සඳහාම සුදුසු විශ්වීය සේවාවක් නොමැති බව (මෙම සියලුම සේවාවන් සඳහා මිල ගණන් නිරන්තරයෙන් ඉහළ යන අතර) මුහුණ දෙයි. එවැනි තත්වයක් තුළ, සමාගම් බොහෝ විට අවශ්ය සියලු අභිරුචි සැකසුම් සහ හැකියාවන් සමඟ තමන්ගේම විශ්ලේෂණ පද්ධතියක් නිර්මාණය කිරීමට තීරණය කරයි.

සේවාදායක විශ්ලේෂකයින්

සේවාදායක පාර්ශ්වීය විශ්ලේෂණ යනු සමාගමක් තුළ තමන්ගේම සේවාදායකයන් මත සහ (සාමාන්‍යයෙන්) ස්වකීය උත්සාහයෙන් යෙදවිය හැකි සේවාවකි. මෙම ආකෘතියේ, සියලුම පරිශීලක සිදුවීම් අභ්‍යන්තර සේවාදායකයන් මත ගබඩා කර ඇති අතර, සංවර්ධකයින්ට විවිධ ගබඩා දත්ත සමුදායන් උත්සාහ කිරීමට සහ වඩාත් පහසු ගෘහ නිර්මාණ ශිල්පය තෝරා ගැනීමට ඉඩ සලසයි. ඔබට තවමත් සමහර කාර්යයන් සඳහා තෙවන පාර්ශවීය සේවාදායක විශ්ලේෂණ භාවිතා කිරීමට අවශ්‍ය වුවද, එය තවමත් හැකි වනු ඇත.
සේවාදායක පැත්තේ විශ්ලේෂණ ක්‍රම දෙකකින් යෙදිය හැක. පළමුව: විවෘත මූලාශ්‍ර උපයෝගිතා කිහිපයක් තෝරන්න, ඒවා ඔබේ යන්ත්‍රවල යොදවා ව්‍යාපාර තර්කනය දියුණු කරන්න.

ප්ලස්
මිනිසු

ඔබට අවශ්ය ඕනෑම දෙයක් අභිරුචිකරණය කළ හැකිය
මෙය බොහෝ විට ඉතා අපහසු වන අතර වෙනම සංවර්ධකයින් අවශ්ය වේ

දෙවනුව: එය ඔබම යෙදවීම වෙනුවට SaaS සේවා (Amazon, Google, Azure) ගන්න. අපි තුන්වන කොටසින් SaaS ගැන වඩාත් විස්තරාත්මකව කතා කරමු.

ප්ලස්
මිනිසු

මධ්‍යම ප්‍රමාණයේ දී එය ලාභදායී විය හැකි නමුත් විශාල වර්ධනයක් සමඟ එය තවමත් මිල අධික වනු ඇත
සියලු පරාමිති පාලනය කිරීමට නොහැකි වනු ඇත

පරිපාලනය සම්පූර්ණයෙන්ම සේවා සපයන්නාගේ උරහිස් වෙත මාරු කරනු ලැබේ
සේවාව තුළ ඇත්තේ කුමක්ද යන්න සැමවිටම නොදනී (එය අවශ්‍ය නොවනු ඇත)

සේවාදායක විශ්ලේෂණ එකතු කරන්නේ කෙසේද

අපට සේවාදායක විශ්ලේෂණ භාවිතයෙන් ඉවත් වී අපගේම දෑ ගොඩනඟා ගැනීමට අවශ්‍ය නම්, පළමුවෙන්ම අපි නව ක්‍රමයේ ගෘහ නිර්මාණ ශිල්පය හරහා සිතිය යුතුය. ඔබ සලකා බැලිය යුතු දේ, එක් එක් පියවර අවශ්‍ය වන්නේ ඇයි සහ ඔබට භාවිතා කළ හැකි මෙවලම් මොනවාදැයි මම පියවරෙන් පියවර ඔබට කියමි.

1. දත්ත ලැබීම

පාරිභෝගික විශ්ලේෂණ වලදී මෙන්ම, පළමුවෙන්ම, සමාගම් විශ්ලේෂකයින් අනාගතයේදී අධ්‍යයනය කිරීමට අවශ්‍ය සිදුවීම් වර්ග තෝරාගෙන ඒවා ලැයිස්තුවකට එකතු කරයි. සාමාන්යයෙන්, මෙම සිදුවීම් "සිදුවීම් රටාව" ලෙස හඳුන්වන නිශ්චිත අනුපිළිවෙලක් තුළ සිදු වේ.
ඊළඟට, ජංගම යෙදුමක් (වෙබ් අඩවියක්) නිත්ය පරිශීලකයන් (උපාංග) සහ බොහෝ සේවාදායකයන් ඇති බව සිතන්න. උපාංග සිට සේවාදායකයන් වෙත සිදුවීම් ආරක්ෂිතව මාරු කිරීමට, අතරමැදි ස්ථරයක් අවශ්‍ය වේ. ගෘහ නිර්මාණ ශිල්පය මත පදනම්ව, විවිධ සිදුවීම් පෝලිම් කිහිපයක් තිබිය හැකිය.
Apache Kafka - මෙය පබ්/උප පෝලිම, සිදුවීම් එකතු කිරීම සඳහා පෝලිමක් ලෙස භාවිතා කරයි.

අනුව Quora හි පළ කිරීම 2014 දී, Apache Kafka හි නිර්මාතෘ ෆ්‍රාන්ස් කෆ්කාගේ නමින් මෘදුකාංගය නම් කිරීමට තීරණය කළේ “එය ලිවීමට ප්‍රශස්ත පද්ධතියක්” නිසා සහ ඔහු කෆ්කාගේ කෘතිවලට ආදරය කළ බැවිනි. - විකිපීඩියා

අපගේ උදාහරණයේ දී, බොහෝ දත්ත නිෂ්පාදකයින් සහ දත්ත පාරිභෝගිකයින් (උපාංග සහ සේවාදායකයන්) සිටින අතර, Kafka ඔවුන් එකිනෙකාට සම්බන්ධ කිරීමට උපකාරී වේ. පාරිභෝගිකයින් ප්‍රධාන විෂයයන් වන පහත පියවර වලින් වඩාත් විස්තරාත්මකව විස්තර කෙරේ. දැන් අපි දත්ත නිෂ්පාදකයින් (සිදුවීම්) පමණක් සලකා බලමු.
කෆ්කා පෝලිම් සහ කොටස් කිරීමේ සංකල්ප ඇතුළත් කරයි; මේ ගැන වඩාත් නිශ්චිතව වෙනත් තැනක කියවීම වඩා හොඳය (උදාහරණයක් ලෙස, ලියකියවිලි) විස්තර වලට නොගොස්, විවිධ OS දෙකක් සඳහා ජංගම යෙදුමක් දියත් කරන බව සිතමු. එවිට සෑම අනුවාදයක්ම තමන්ගේම වෙනම සිදුවීම් ප්‍රවාහයක් නිර්මාණය කරයි. නිෂ්පාදකයින් කෆ්කා වෙත සිදුවීම් යවයි, ඒවා සුදුසු පෝලිමක සටහන් කර ඇත.
සේවාදායක විශ්ලේෂණ පද්ධති
(පින්තූරය මෙතනින්)

ඒ අතරම, කෆ්කා ඔබට කොටස් වශයෙන් කියවීමට සහ කුඩා කණ්ඩායම් වශයෙන් සිදුවීම් ප්‍රවාහයක් සැකසීමට ඉඩ සලසයි. කෆ්කා යනු වර්ධනය වන අවශ්‍යතා සමඟ හොඳින් පරිමාණය කරන ඉතා පහසු මෙවලමකි (උදාහරණයක් ලෙස, සිදුවීම් භූ පිහිටීම අනුව).
සාමාන්‍යයෙන් එක් කැබැල්ලක් ප්‍රමාණවත් වේ, නමුත් පරිමාණය කිරීමේදී දේවල් වඩාත් සංකීර්ණ වේ (ඔවුන් සැමවිටම කරන පරිදි). ගෘහනිර්මාණ ශිල්පය දෝෂ ඉවසිය යුතු බැවින් නිෂ්පාදනයේදී එක් භෞතික කැබැල්ලක් පමණක් භාවිතා කිරීමට කිසිවෙකුට අවශ්‍ය නොවනු ඇත. කෆ්කාට අමතරව තවත් සුප්රසිද්ධ විසඳුමක් ඇත - RabbitMQ. සිදුවීම් විශ්ලේෂණ සඳහා පෝලිමක් ලෙස අපි එය නිෂ්පාදනයේදී භාවිතා නොකළෙමු (ඔබට එවැනි අත්දැකීම් තිබේ නම්, ඒ ගැන අදහස් දැක්වීමේදී අපට කියන්න!). කෙසේ වෙතත්, අපි AWS Kinesis භාවිතා කළා.

ඊළඟ පියවරට යාමට පෙර, අපි පද්ධතියේ තවත් එක් අතිරේක ස්ථරයක් සඳහන් කළ යුතුය - අමු ලොග් ගබඩාව. මෙය අවශ්‍ය ස්ථරයක් නොවේ, නමුත් යමක් වැරදී ගොස් Kafka හි සිදුවීම් පෝලිම් යළි පිහිටුවුවහොත් එය ප්‍රයෝජනවත් වනු ඇත. අමු ලඝු-සටහන් ගබඩා කිරීම සඳහා සංකීර්ණ හා මිල අධික විසඳුමක් අවශ්ය නොවේ; ඔබට ඒවා නිවැරදි අනුපිළිවෙලින් (දෘඪ තැටියක පවා) කොතැනක හෝ ලිවිය හැකිය.
සේවාදායක විශ්ලේෂණ පද්ධති

2. සිදුවීම් ප්‍රවාහ සැකසීම

අපි සියලු සිදුවීම් සකස් කර ඒවා සුදුසු පෝලිම්වල තැබූ පසු, අපි සැකසුම් පියවර වෙත යන්නෙමු. මෙන්න මම ඔබට වඩාත් පොදු සැකසුම් විකල්ප දෙකක් ගැන කියන්නම්.
පළමු විකල්පය වන්නේ Apache පද්ධතිය තුළ Spark Streaming සක්රිය කිරීමයි. සියලුම Apache නිෂ්පාදන HDFS මත සජීවීව, ගොනු අනුරූ සහිත ආරක්ෂිත ගොනු පද්ධතියකි. Spark Streaming යනු ප්‍රවාහ දත්ත සහ පරිමාණයන් හොඳින් හසුරුවන භාවිතයට පහසු මෙවලමකි. කෙසේ වෙතත්, එය නඩත්තු කිරීමට අපහසු විය හැකිය.
තවත් විකල්පයක් වන්නේ ඔබේම සිදුවීම් හසුරුවන්නක් සෑදීමයි. මෙය සිදු කිරීම සඳහා, ඔබට, උදාහරණයක් ලෙස, Python යෙදුමක් ලිවීමට, එය Docker හි ගොඩනඟා Kafka පෝලිමට දායක විය යුතුය. ප්‍රේරක ඩොකර් හසුරුවන්නන් වෙත පැමිණි විට, සැකසීම ආරම්භ වනු ඇත. මෙම ක්‍රමය සමඟ, ඔබ සෑම විටම යෙදුම් ක්‍රියාත්මක කර තබා ගත යුතුය.
අපි ඉහත විස්තර කර ඇති විකල්පයන්ගෙන් එකක් තෝරාගෙන එයම සැකසීමට යන බව උපකල්පනය කරමු. දත්තවල වලංගුභාවය පරීක්ෂා කිරීම, කසළ පෙරීම සහ "කැඩුණු" සිදුවීම් මගින් ප්‍රොසෙසර ආරම්භ කළ යුතුය. වලංගු කිරීම සඳහා අපි සාමාන්යයෙන් භාවිතා කරමු සර්බරස්. මෙයින් පසු, ඔබට දත්ත සිතියම්ගත කිරීම සිදු කළ හැකිය: විවිධ ප්‍රභවයන්ගෙන් දත්ත සාමාන්‍යකරණය කර පොදු වගුවකට එකතු කිරීම සඳහා ප්‍රමිතිගත කර ඇත.
සේවාදායක විශ්ලේෂණ පද්ධති

3. දත්ත සමුදාය

තෙවන පියවර වන්නේ සාමාන්‍යකරණය වූ සිදුවීම් පවත්වා ගැනීමයි. සූදානම් කළ විශ්ලේෂණ පද්ධතියක් සමඟ වැඩ කරන විට, අපට බොහෝ විට ඒවාට ප්රවේශ වීමට සිදුවනු ඇත, එබැවින් පහසු දත්ත සමුදායක් තෝරා ගැනීම වැදගත් වේ.
දත්ත ස්ථාවර යෝජනා ක්රමයකට හොඳින් ගැලපේ නම්, ඔබට තෝරා ගත හැකිය ක්ලික්හවුස් හෝ වෙනත් තීරු දත්ත සමුදායක්. මේ ආකාරයෙන් එකතු කිරීම් ඉතා ඉක්මනින් ක්රියා කරනු ඇත. අවාසිය නම් යෝජනා ක්රමය දැඩි ලෙස සවි කර ඇති අතර එබැවින් වෙනස් කිරීමකින් තොරව අත්තනෝමතික වස්තූන් එකතු කිරීමට නොහැකි වනු ඇත (උදාහරණයක් ලෙස, සම්මත නොවන සිදුවීමක් සිදු වූ විට). නමුත් ඔබට ඉතා ඉක්මනින් ගණන් කළ හැකිය.
ව්‍යුහගත නොවන දත්ත සඳහා, ඔබට NoSQL ගත හැක, උදාහරණයක් ලෙස, අපාචි කැසැන්ඩ්‍රා. එය HDFS මත ක්‍රියා කරයි, හොඳින් ප්‍රතිවර්තනය වේ, ඔබට බොහෝ අවස්ථා මතු කළ හැක, සහ දෝෂ ඉවසාගත හැක.
ඔබට සරල දෙයක් මතු කළ හැකිය, උදාහරණයක් ලෙස, MongoDB. එය තරමක් මන්දගාමී වන අතර කුඩා පරිමාවන් සඳහා වේ. නමුත් ප්ලස් එය ඉතා සරල වන අතර එබැවින් ආරම්භ කිරීම සඳහා සුදුසු වේ.
සේවාදායක විශ්ලේෂණ පද්ධති

4. එකතු කිරීම්

සියලුම සිදුවීම් ප්‍රවේශමෙන් සුරැකීමෙන්, අපට පැමිණි කණ්ඩායමෙන් සියලුම වැදගත් තොරතුරු එකතු කර දත්ත සමුදාය යාවත්කාලීන කිරීමට අවශ්‍යය. ගෝලීය වශයෙන්, අපට අදාළ උපකරණ පුවරු සහ ප්‍රමිතික ලබා ගැනීමට අවශ්‍යයි. උදාහරණයක් ලෙස, සිදුවීම් වලින් පරිශීලක පැතිකඩක් එකතු කර කෙසේ හෝ හැසිරීම මැන බලන්න. සිදුවීම් එකතු කර, එකතු කර, නැවත සුරකිනු ලැබේ (පරිශීලක වගු වල). ඒ සමඟම, ඔබට පද්ධතියක් ගොඩනගා ගත හැකි අතර එමඟින් ඔබට එකතු කරන්නා-සම්බන්ධීකාරකයට පෙරහනක් සම්බන්ධ කළ හැකිය: පරිශීලකයින් එක්රැස් කරන්නේ යම් ආකාරයක සිදුවීමකින් පමණි.
ඊට පසු, කණ්ඩායමේ සිටින කෙනෙකුට ඉහළ මට්ටමේ විශ්ලේෂණ පමණක් අවශ්ය නම්, බාහිර විශ්ලේෂණ පද්ධති සම්බන්ධ කළ හැකිය. ඔබට නැවත Mixpanel ගත හැක. නමුත් එය තරමක් මිල අධික බැවින්, සියලුම පරිශීලක සිදුවීම් එහි යවනු නොලැබේ, නමුත් අවශ්ය දේ පමණි. මෙය සිදු කිරීම සඳහා, අපි යම් යම් අමු සිදුවීම් හෝ අප විසින්ම කලින් එකතු කළ දෙයක් බාහිර පද්ධති, API හෝ වෙළඳ ප්‍රචාරණ වේදිකාවලට මාරු කරන සම්බන්ධීකාරකයක් නිර්මාණය කළ යුතුය.
සේවාදායක විශ්ලේෂණ පද්ධති

5. ඉදිරිපස

ඔබ විසින් නිර්මාණය කරන ලද පද්ධතියට ඉදිරිපස කොටස සම්බන්ධ කිරීමට අවශ්ය වේ. හොඳ උදාහරණයක් නම් සේවාවයි redash, යනු උපකරණ පුවරු තැනීමට උපකාර වන දත්ත සමුදා GUI වේ. අන්තර්ක්‍රියා ක්‍රියා කරන ආකාරය:

  1. පරිශීලකයා SQL විමසුමක් කරයි.
  2. ප්රතිචාර වශයෙන් ඔහුට ලකුණක් ලැබේ.
  3. එය ඒ සඳහා 'නව දෘශ්‍යකරණයක්' නිර්මාණය කරන අතර ඔබටම ඉතිරි කර ගත හැකි අලංකාර ප්‍රස්ථාරයක් ලබා ගනී.

සේවාවේ දෘශ්‍යකරණය ස්වයංක්‍රීයව යාවත්කාලීන වේ, ඔබට අභිරුචිකරණය කිරීමට සහ ඔබේ නිරීක්ෂණය නිරීක්ෂණය කළ හැක. Redash ස්වයං-සත්කාරක නම් නොමිලේ, නමුත් SaaS ලෙස එය මසකට ඩොලර් 50ක් වැය වේ.
සේවාදායක විශ්ලේෂණ පද්ධති

නිගමනය

ඉහත සියලු පියවර සම්පූර්ණ කිරීමෙන් පසු, ඔබ ඔබේ සේවාදායක විශ්ලේෂණ නිර්මාණය කරනු ඇත. මෙය පාරිභෝගික විශ්ලේෂණ සම්බන්ධ කිරීම තරම් සරල නොවන බව කරුණාවෙන් සලකන්න, මන්ද සියල්ල ඔබම වින්‍යාසගත කළ යුතුය. එමනිසා, ඔබේම පද්ධතියක් නිර්මාණය කිරීමට පෙර, බරපතල විශ්ලේෂණ පද්ධතියක අවශ්‍යතාවය ඔබ එයට වෙන් කිරීමට කැමති සම්පත් සමඟ සංසන්දනය කිරීම වටී.
ඔබ ගණිතය කර ඇති අතර පිරිවැය වැඩි බව සොයා ගත්තා නම්, මම ඊළඟ කොටසේදී සර්වර්-සයිඩ් විශ්ලේෂණවල ලාභදායී අනුවාදයක් සාදා ගන්නේ කෙසේද යන්න ගැන කතා කරමි.

කියවීමට ස්තූතියි! අදහස් දැක්වීමේදී ප්රශ්න ඇසීමට මම සතුටු වෙමි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න