ஓப்பன் சோர்ஸ் டேட்டாஹப்: லிங்க்ட்இனின் மெட்டாடேட்டா தேடல் மற்றும் டிஸ்கவரி பிளாட்ஃபார்ம்

ஓப்பன் சோர்ஸ் டேட்டாஹப்: லிங்க்ட்இனின் மெட்டாடேட்டா தேடல் மற்றும் டிஸ்கவரி பிளாட்ஃபார்ம்

தரவு சார்ந்த முடிவுகளை எடுக்க அதிக அளவிலான தரவை நம்பியிருக்கும் எந்தவொரு நிறுவனத்திற்கும் உங்களுக்குத் தேவையான தரவை விரைவாகக் கண்டறிவது அவசியம். இது தரவு பயனர்களின் (ஆய்வாளர்கள், இயந்திரக் கற்றல் உருவாக்குநர்கள், தரவு விஞ்ஞானிகள் மற்றும் தரவுப் பொறியாளர்கள் உட்பட) உற்பத்தித்திறனைப் பாதிப்பது மட்டுமல்லாமல், தரமான இயந்திரக் கற்றல் (எம்எல்) பைப்லைனைச் சார்ந்திருக்கும் இறுதி தயாரிப்புகளிலும் நேரடி தாக்கத்தை ஏற்படுத்துகிறது. கூடுதலாக, இயந்திரக் கற்றல் தளங்களைச் செயல்படுத்துதல் அல்லது உருவாக்குவதற்கான போக்கு இயல்பாகவே கேள்வியை எழுப்புகிறது: அம்சங்கள், மாதிரிகள், அளவீடுகள், தரவுத்தொகுப்புகள் போன்றவற்றை உள்நாட்டில் கண்டறியும் உங்கள் முறை என்ன.

இந்த கட்டுரையில், திறந்த உரிமத்தின் கீழ் தரவு மூலத்தை எவ்வாறு வெளியிட்டோம் என்பதைப் பற்றி பேசுவோம் டேட்டாஹப் எங்கள் மெட்டாடேட்டா தேடல் மற்றும் கண்டுபிடிப்பு தளத்தில், திட்டத்தின் ஆரம்ப நாட்களில் இருந்து தொடங்குகிறது எங்கே எப்படி. லிங்க்ட்இன் அதன் சொந்த டேட்டாஹப் பதிப்பை திறந்த மூலப் பதிப்பிலிருந்து தனித்தனியாகப் பராமரிக்கிறது. எங்களுக்கு இரண்டு தனித்தனி மேம்பாட்டு சூழல்கள் ஏன் தேவை என்பதை விளக்குவதன் மூலம் தொடங்குவோம், பின்னர் Open Source WhereHows ஐப் பயன்படுத்துவதற்கான ஆரம்ப அணுகுமுறைகளைப் பற்றி விவாதித்து, DataHub இன் உள் (தயாரிப்பு) பதிப்பை உள்ள பதிப்போடு ஒப்பிடுவோம். மகிழ்ச்சியா. இரண்டு களஞ்சியங்களையும் ஒத்திசைவில் வைத்திருக்க, திறந்த மூல புதுப்பிப்புகளைப் பெறுவதற்கான எங்களின் புதிய தானியங்கு தீர்வு பற்றிய விவரங்களையும் பகிர்ந்து கொள்வோம். இறுதியாக, ஓப்பன் சோர்ஸ் டேட்டாஹப்பைப் பயன்படுத்துவதை எவ்வாறு தொடங்குவது என்பதற்கான வழிமுறைகளை வழங்குவோம் மற்றும் அதன் கட்டமைப்பைப் பற்றி சுருக்கமாக விவாதிப்போம்.

ஓப்பன் சோர்ஸ் டேட்டாஹப்: லிங்க்ட்இனின் மெட்டாடேட்டா தேடல் மற்றும் டிஸ்கவரி பிளாட்ஃபார்ம்

எங்கே எப்படி இப்போது ஒரு DataHub!

LinkedIn இன் மெட்டாடேட்டா குழு முன்பு வழங்கப்பட்டது டேட்டாஹப் (WhereHows இன் வாரிசு), LinkedIn இன் தேடல் மற்றும் மெட்டாடேட்டா கண்டுபிடிப்பு தளம் மற்றும் அதை திறப்பதற்கான திட்டங்களை பகிர்ந்து கொண்டது. இந்த அறிவிப்புக்குப் பிறகு, DataHub இன் ஆல்பா பதிப்பை வெளியிட்டு சமூகத்துடன் பகிர்ந்துள்ளோம். அப்போதிருந்து, நாங்கள் தொடர்ந்து களஞ்சியத்தில் பங்களித்து வருகிறோம் மற்றும் ஆர்வமுள்ள பயனர்களுடன் இணைந்து மிகவும் கோரப்பட்ட அம்சங்களைச் சேர்க்க மற்றும் சிக்கல்களைத் தீர்க்கிறோம். இப்போது அதிகாரப்பூர்வ வெளியீட்டை அறிவிப்பதில் மகிழ்ச்சி அடைகிறோம் கிட்ஹப்பில் டேட்டாஹப்.

திறந்த மூல அணுகுமுறைகள்

எங்கிருந்து, தரவுகளை கண்டறிவதற்கான LinkedIn இன் அசல் போர்டல் மற்றும் அது எங்கிருந்து வருகிறது, இது ஒரு உள் திட்டமாக தொடங்கப்பட்டது; மெட்டாடேட்டா குழு அதைத் திறந்தது 2016 இல் மூல குறியீடு. அன்றிலிருந்து, குழு எப்போதும் இரண்டு வெவ்வேறு கோட்பேஸ்களைப் பராமரித்து வருகிறது-ஒப்பன் சோர்ஸ் மற்றும் லிங்க்ட்இன் இன் உள் பயன்பாட்டிற்காக ஒன்று- லிங்க்ட்இன் பயன்பாட்டு நிகழ்வுகளுக்காக உருவாக்கப்பட்ட அனைத்து தயாரிப்பு அம்சங்களும் பொதுவாக பரந்த பார்வையாளர்களுக்குப் பொருந்தாது. கூடுதலாக, WhereHows ஆனது திறந்த மூலமாக இல்லாத சில உள் சார்புகளை (உள்கட்டமைப்பு, நூலகங்கள் போன்றவை) கொண்டுள்ளது. அடுத்தடுத்த ஆண்டுகளில், வேர்ஹவ்ஸ் பல மறு செய்கைகள் மற்றும் வளர்ச்சி சுழற்சிகளைக் கடந்து, இரண்டு கோட்பேஸ்களையும் ஒத்திசைவில் வைத்திருப்பது ஒரு பெரிய சவாலாக இருந்தது. மெட்டாடேட்டா குழு பல ஆண்டுகளாக உள் மற்றும் திறந்த மூல மேம்பாட்டை ஒத்திசைவில் வைத்திருக்க பல்வேறு அணுகுமுறைகளை முயற்சித்தது.

முதல் முயற்சி: "முதலில் ஓப்பன் சோர்ஸ்"

நாங்கள் ஆரம்பத்தில் "ஓப்பன் சோர்ஸ் ஃபர்ஸ்ட்" டெவலப்மெண்ட் மாடலைப் பின்பற்றினோம், அங்கு பெரும்பாலான மேம்பாடுகள் திறந்த மூல களஞ்சியத்தில் நிகழ்கிறது மற்றும் உள் வரிசைப்படுத்தலுக்காக மாற்றங்கள் செய்யப்படுகின்றன. இந்த அணுகுமுறையின் சிக்கல் என்னவென்றால், குறியீடு எப்போதும் உள்நாட்டில் முழுமையாக மதிப்பாய்வு செய்யப்படுவதற்கு முன்பு முதலில் GitHub க்கு தள்ளப்படும். திறந்த மூல களஞ்சியத்தில் இருந்து மாற்றங்கள் செய்யப்பட்டு, புதிய உள் வரிசைப்படுத்தல் செய்யப்படும் வரை, உற்பத்திச் சிக்கல்கள் எதையும் நாங்கள் காண மாட்டோம். மோசமான வரிசைப்படுத்தல் வழக்கில், குற்றவாளியை கண்டறிவது மிகவும் கடினமாக இருந்தது, ஏனெனில் தொகுதிகளில் மாற்றங்கள் செய்யப்பட்டன.

கூடுதலாக, இந்த மாதிரியானது விரைவான மறு செய்கைகள் தேவைப்படும் புதிய அம்சங்களை உருவாக்கும் போது அணியின் உற்பத்தித்திறனைக் குறைத்தது, ஏனெனில் இது அனைத்து மாற்றங்களையும் முதலில் ஒரு திறந்த மூல களஞ்சியத்தில் தள்ளப்பட்டு பின்னர் ஒரு உள் களஞ்சியத்திற்கு தள்ளப்பட்டது. செயலாக்க நேரத்தைக் குறைக்க, தேவையான திருத்தம் அல்லது மாற்றத்தை முதலில் உள் களஞ்சியத்தில் செய்யலாம், ஆனால் இரண்டு களஞ்சியங்களும் ஒத்திசைவில்லாமல் இருந்ததால், அந்த மாற்றங்களை மீண்டும் திறந்த மூல களஞ்சியத்தில் இணைக்கும் போது இது ஒரு பெரிய சிக்கலாக மாறியது.

முழு அம்சங்களுடன் கூடிய தனிப்பயன் இணைய பயன்பாடுகளை விட, பகிரப்பட்ட தளங்கள், நூலகங்கள் அல்லது உள்கட்டமைப்பு திட்டங்களுக்கு இந்த மாதிரியை செயல்படுத்துவது மிகவும் எளிதானது. கூடுதலாக, இந்த மாதிரியானது முதல் நாளிலிருந்து திறந்த மூலத்தைத் தொடங்கும் திட்டங்களுக்கு ஏற்றது, ஆனால் WhereHows முற்றிலும் உள் வலைப் பயன்பாடாக உருவாக்கப்பட்டது. அனைத்து உள் சார்புகளையும் முழுவதுமாக அகற்றுவது மிகவும் கடினமாக இருந்தது, எனவே உள் முட்கரண்டியை நாம் வைத்திருக்க வேண்டியிருந்தது, ஆனால் உள் முட்கரண்டியை வைத்திருப்பது மற்றும் பெரும்பாலும் திறந்த மூலத்தை உருவாக்குவது சரியாக வேலை செய்யவில்லை.

இரண்டாவது முயற்சி: "உள் முதல்"

**இரண்டாவது முயற்சியாக, நாங்கள் ஒரு "உள் முதல்" மேம்பாட்டு மாதிரிக்கு நகர்ந்தோம், அங்கு பெரும்பாலான வளர்ச்சி உள்நாட்டில் நிகழ்கிறது மற்றும் வழக்கமான அடிப்படையில் திறந்த மூலக் குறியீட்டில் மாற்றங்கள் செய்யப்படுகின்றன. இந்த மாதிரி எங்கள் பயன்பாட்டுக்கு மிகவும் பொருத்தமானது என்றாலும், இது உள்ளார்ந்த சிக்கல்களைக் கொண்டுள்ளது. அனைத்து வேறுபாடுகளையும் திறந்த மூல களஞ்சியத்திற்கு நேரடியாகத் தள்ளி, பின்னர் ஒன்றிணைக்கும் முரண்பாடுகளைத் தீர்க்க முயற்சிப்பது ஒரு விருப்பமாகும், ஆனால் அது நேரத்தை எடுத்துக்கொள்ளும். பெரும்பாலான சந்தர்ப்பங்களில் டெவலப்பர்கள் தங்கள் குறியீட்டை மதிப்பாய்வு செய்யும் ஒவ்வொரு முறையும் இதைச் செய்யாமல் இருக்க முயற்சி செய்கிறார்கள். இதன் விளைவாக, இது மிகவும் குறைவாக அடிக்கடி, தொகுதிகளாக செய்யப்படும், இதனால் ஒன்றிணைப்பு மோதல்களை பின்னர் தீர்ப்பது மிகவும் கடினமாகிறது.

மூன்றாவது முறை அது வேலை செய்தது!

மேற்கூறிய இரண்டு தோல்வியுற்ற முயற்சிகளின் விளைவாக, WhereHows GitHub களஞ்சியமானது நீண்ட காலத்திற்கு காலாவதியாகி இருந்தது. குழு தயாரிப்பின் அம்சங்களையும் கட்டமைப்பையும் தொடர்ந்து மேம்படுத்தியது, இதனால் லிங்க்ட்இன்க்கான வேர்ஹவுஸின் உள் பதிப்பு திறந்த மூல பதிப்பை விட மேம்பட்டதாக மாறியது. அதற்கு ஒரு புதிய பெயரும் இருந்தது - DataHub. முந்தைய தோல்வியுற்ற முயற்சிகளின் அடிப்படையில், அளவிடக்கூடிய, நீண்ட கால தீர்வை உருவாக்க குழு முடிவு செய்தது.

எந்தவொரு புதிய திறந்த மூல திட்டத்திற்கும், லிங்க்ட்இனின் ஓப்பன் சோர்ஸ் குழுவானது ஒரு மேம்பாட்டு மாதிரியை அறிவுறுத்துகிறது மற்றும் ஆதரிக்கிறது, இதில் திட்டத்தின் தொகுதிகள் முற்றிலும் திறந்த மூலத்தில் உருவாக்கப்படுகின்றன. பதிப்பு செய்யப்பட்ட கலைப்பொருட்கள் ஒரு பொது களஞ்சியத்தில் பயன்படுத்தப்படுகின்றன, பின்னர் அவற்றைப் பயன்படுத்தி உள் லிங்க்ட்இன் கலைப்பொருளில் மீண்டும் சரிபார்க்கப்படுகின்றன. வெளிப்புற நூலக கோரிக்கை (ELR). இந்த டெவலப்மெண்ட் மாடலைப் பின்பற்றுவது திறந்த மூலத்தைப் பயன்படுத்துபவர்களுக்கு நல்லது மட்டுமல்ல, மேலும் மட்டு, நீட்டிக்கக்கூடிய மற்றும் சொருகக்கூடிய கட்டமைப்பிலும் விளைகிறது.

இருப்பினும், DataHub போன்ற முதிர்ந்த பின்-இறுதி பயன்பாட்டிற்கு இந்த நிலையை அடைய கணிசமான அளவு நேரம் தேவைப்படும். அனைத்து உள் சார்புகளும் முழுமையாகச் சுருக்கப்படுவதற்கு முன், திறந்த ஆதாரத்தை முழுமையாகச் செயல்படுத்துவதற்கான சாத்தியத்தையும் இது தடுக்கிறது. அதனால்தான், ஓப்பன் சோர்ஸ் பங்களிப்புகளை விரைவாகவும் மிகக் குறைவான வலியுடனும் செய்ய உதவும் கருவிகளை நாங்கள் உருவாக்கியுள்ளோம். இந்தத் தீர்வு மெட்டாடேட்டா குழு (டேட்டாஹப் டெவலப்பர்) மற்றும் திறந்த மூல சமூகம் ஆகிய இரண்டிற்கும் பயனளிக்கிறது. பின்வரும் பிரிவுகள் இந்த புதிய அணுகுமுறையைப் பற்றி விவாதிக்கும்.

ஓப்பன் சோர்ஸ் பப்ளிஷிங் ஆட்டோமேஷன்

மெட்டாடேட்டா குழுவின் ஓப்பன் சோர்ஸ் டேட்டாஹப்பிற்கான சமீபத்திய அணுகுமுறை, உள் கோட்பேஸ் மற்றும் ஓப்பன் சோர்ஸ் களஞ்சியத்தை தானாக ஒத்திசைக்கும் கருவியை உருவாக்குவதாகும். இந்த கருவித்தொகுப்பின் உயர்நிலை அம்சங்கள் பின்வருமாறு:

  1. லிங்க்ட்இன் குறியீட்டை ஓப்பன் சோர்ஸில் இருந்து ஒத்திசைக்கவும் rsync.
  2. உரிமத் தலைப்பு உருவாக்கம், இதைப் போன்றது அப்பாச்சி எலி.
  3. உள் உறுதிப் பதிவுகளிலிருந்து திறந்த மூல உறுதிப் பதிவுகளை தானாக உருவாக்கவும்.
  4. திறந்த மூல உருவாக்கங்களை உடைக்கும் உள் மாற்றங்களைத் தடுக்கவும் சார்பு சோதனை.

பின்வரும் துணைப்பிரிவுகள் சுவாரஸ்யமான சிக்கல்களைக் கொண்ட மேலே குறிப்பிட்ட செயல்பாடுகளை ஆராயும்.

மூல குறியீடு ஒத்திசைவு

ஒற்றை கிட்ஹப் களஞ்சியமான டேட்டாஹப்பின் ஓப்பன் சோர்ஸ் பதிப்பைப் போலன்றி, டேட்டாஹப்பின் லிங்க்ட்இன் பதிப்பு பல களஞ்சியங்களின் கலவையாகும் (உள்நாட்டில் அழைக்கப்படுகிறது பல பொருட்கள்) டேட்டாஹப் இடைமுகம், மெட்டாடேட்டா மாதிரி நூலகம், மெட்டாடேட்டா கிடங்கு பின்தள சேவை மற்றும் ஸ்ட்ரீமிங் வேலைகள் ஆகியவை லிங்க்ட்இனில் தனித்தனி களஞ்சியங்களில் உள்ளன. இருப்பினும், ஓப்பன் சோர்ஸ் பயனர்களுக்கு எளிதாக்க, DataHub இன் திறந்த மூல பதிப்பிற்கான ஒரு களஞ்சியத்தை எங்களிடம் உள்ளது.

ஓப்பன் சோர்ஸ் டேட்டாஹப்: லிங்க்ட்இனின் மெட்டாடேட்டா தேடல் மற்றும் டிஸ்கவரி பிளாட்ஃபார்ம்

படம் 1: களஞ்சியங்களுக்கு இடையே ஒத்திசைவு லின்க்டு இன் டேட்டாஹப் மற்றும் ஒரு களஞ்சியம் டேட்டாஹப் திறந்த மூல

தானியங்கு உருவாக்கம், புஷ் மற்றும் இழுப்பு பணிப்பாய்வுகளை ஆதரிக்க, எங்கள் புதிய கருவி தானாகவே ஒவ்வொரு மூலக் கோப்பிற்கும் தொடர்புடைய கோப்பு-நிலை மேப்பிங்கை உருவாக்குகிறது. இருப்பினும், கருவித்தொகுப்புக்கு ஆரம்ப கட்டமைப்பு தேவைப்படுகிறது மற்றும் பயனர்கள் கீழே காட்டப்பட்டுள்ளபடி உயர்-நிலை தொகுதி மேப்பிங்கை வழங்க வேண்டும்.

{
  "datahub-dao": [
    "${datahub-frontend}/datahub-dao"
  ],
  "gms/impl": [
    "${dataset-gms}/impl",
    "${user-gms}/impl"
  ],
  "metadata-dao": [
    "${metadata-models}/metadata-dao"
  ],
  "metadata-builders": [
    "${metadata-models}/metadata-builders"
  ]
}

தொகுதி-நிலை மேப்பிங் என்பது ஒரு எளிய JSON ஆகும், அதன் விசைகள் திறந்த மூல களஞ்சியத்தில் இலக்கு தொகுதிகள் மற்றும் மதிப்புகள் லிங்க்ட்இன் களஞ்சியங்களில் உள்ள மூல தொகுதிகளின் பட்டியல் ஆகும். திறந்த மூல களஞ்சியத்தில் உள்ள எந்த இலக்கு தொகுதியும் எத்தனை மூல தொகுதிகள் மூலமாகவும் வழங்கப்படலாம். மூல தொகுதிகளில் களஞ்சியங்களின் உள் பெயர்களைக் குறிப்பிட, பயன்படுத்தவும் சரம் இடைச்செருகல் பாஷ் பாணியில். தொகுதி-நிலை மேப்பிங் கோப்பைப் பயன்படுத்தி, கருவிகள் தொடர்புடைய கோப்பகங்களில் உள்ள அனைத்து கோப்புகளையும் ஸ்கேன் செய்வதன் மூலம் கோப்பு-நிலை மேப்பிங் கோப்பை உருவாக்குகின்றன.

{
  "${metadata-models}/metadata-builders/src/main/java/com/linkedin/Foo.java":
"metadata-builders/src/main/java/com/linkedin/Foo.java",
  "${metadata-models}/metadata-builders/src/main/java/com/linkedin/Bar.java":
"metadata-builders/src/main/java/com/linkedin/Bar.java",
  "${metadata-models}/metadata-builders/build.gradle": null,
}

கோப்பு நிலை மேப்பிங் தானாகவே கருவிகளால் உருவாக்கப்படுகிறது; இருப்பினும், இது பயனரால் கைமுறையாக புதுப்பிக்கப்படலாம். இது திறந்த மூல களஞ்சியத்தில் உள்ள ஒரு கோப்பிற்கு லிங்க்ட்இன் மூல கோப்பின் 1:1 மேப்பிங் ஆகும். கோப்பு சங்கங்களின் தானியங்கி உருவாக்கத்துடன் தொடர்புடைய பல விதிகள் உள்ளன:

  • திறந்த மூலத்தில் ஒரு இலக்கு தொகுதிக்கான பல மூல தொகுதிகளின் விஷயத்தில், முரண்பாடுகள் ஏற்படலாம், எ.கா. FQCN, ஒன்றுக்கும் மேற்பட்ட மூல தொகுதிகளில் உள்ளது. மோதலைத் தீர்க்கும் உத்தியாக, எங்கள் கருவிகள் "கடைசி வெற்றி" விருப்பத்திற்கு இயல்புநிலையாக இருக்கும்.
  • "null" என்பது மூல கோப்பு திறந்த மூல களஞ்சியத்தின் பகுதியாக இல்லை என்று பொருள்.
  • ஒவ்வொரு ஓப்பன் சோர்ஸ் சமர்ப்பிப்பு அல்லது பிரித்தெடுத்த பிறகு, இந்த மேப்பிங் தானாகவே புதுப்பிக்கப்பட்டு ஒரு ஸ்னாப்ஷாட் உருவாக்கப்படும். கடைசி செயலிலிருந்து மூலக் குறியீட்டிலிருந்து சேர்த்தல் மற்றும் நீக்குதல்களை அடையாளம் காண இது அவசியம்.

உறுதி பதிவுகளை உருவாக்குதல்

ஓப்பன் சோர்ஸ் கமிட்களுக்கான கமிட் பதிவுகளும் உள் களஞ்சியங்களின் உறுதிப் பதிவுகளை இணைப்பதன் மூலம் தானாகவே உருவாக்கப்படும். எங்கள் கருவியால் உருவாக்கப்பட்ட உறுதிப் பதிவின் கட்டமைப்பைக் காட்ட, மாதிரி உறுதிப் பதிவு கீழே உள்ளது. ஒரு கமிட், அந்த கமிட்டில் எந்தெந்த மூல களஞ்சியங்கள் தொகுக்கப்பட்டுள்ளன என்பதைத் தெளிவாகக் குறிப்பிடுகிறது மற்றும் உறுதிப் பதிவின் சுருக்கத்தை வழங்குகிறது. இதைப் பாருங்கள் உறுதி எங்கள் கருவித்தொகுப்பால் உருவாக்கப்பட்ட உறுதிப் பதிவின் உண்மையான உதாரணத்தைப் பயன்படுத்துதல்.

metadata-models 29.0.0 -> 30.0.0
    Added aspect model foo
    Fixed issue bar

dataset-gms 2.3.0 -> 2.3.4
    Added rest.li API to serve foo aspect

MP_VERSION=dataset-gms:2.3.4
MP_VERSION=metadata-models:30.0.0

சார்பு சோதனை

LinkedIn உள்ளது சார்பு சோதனை உள்கட்டமைப்பு, ஒரு உள் மல்டிப்ராடக்டில் ஏற்படும் மாற்றங்கள், சார்பு மல்டிப்ராடக்ட்களின் அசெம்பிளியை உடைக்காது என்பதை உறுதிப்படுத்த உதவுகிறது. ஓப்பன் சோர்ஸ் டேட்டாஹப் களஞ்சியம் பல தயாரிப்புகள் அல்ல, மேலும் இது எந்தப் பல தயாரிப்புகளையும் நேரடியாகச் சார்ந்து இருக்க முடியாது, ஆனால் ஓப்பன் சோர்ஸ் டேட்டாஹப் மூலக் குறியீட்டைப் பெறும் மல்டி-ப்ராடக்ட் ரேப்பரின் உதவியுடன், இந்த சார்பு சோதனையை நாம் இன்னும் பயன்படுத்தலாம். இவ்வாறு, திறந்த மூல DataHub களஞ்சியத்திற்கு உணவளிக்கும் பல தயாரிப்புகளில் ஏதேனும் மாற்றம் (பின்னர் வெளிப்படும்) ஷெல் மல்டிபுராடக்டில் உருவாக்க நிகழ்வைத் தூண்டுகிறது. எனவே, ரேப்பர் தயாரிப்பை உருவாக்கத் தவறிய எந்த மாற்றமும் அசல் தயாரிப்பைச் செய்வதற்கு முன் சோதனைகளில் தோல்வியடைந்து, திரும்பப் பெறப்படும்.

இது ஒரு பயனுள்ள பொறிமுறையாகும், இது ஓப்பன் சோர்ஸ் கட்டமைப்பை உடைக்கும் மற்றும் உறுதியான நேரத்தில் அதைக் கண்டறியும் எந்தவொரு உள் உறுதியையும் தடுக்க உதவுகிறது. இது இல்லாமல், ஓப்பன் சோர்ஸ் ரெபோசிட்டரி உருவாக்கம் தோல்வியடைய எந்த உள் ஈடுபாடு ஏற்பட்டது என்பதை தீர்மானிப்பது மிகவும் கடினமாக இருக்கும், ஏனெனில் டேட்டாஹப் ஓப்பன் சோர்ஸ் களஞ்சியத்தில் உள்ளக மாற்றங்களை நாங்கள் இணைக்கிறோம்.

ஓப்பன் சோர்ஸ் டேட்டாஹப் மற்றும் எங்களின் தயாரிப்பு பதிப்பிற்கு இடையே உள்ள வேறுபாடுகள்

இது வரை, DataHub களஞ்சியங்களின் இரண்டு பதிப்புகளை ஒத்திசைப்பதற்கான எங்கள் தீர்வைப் பற்றி நாங்கள் விவாதித்தோம், ஆனால் முதலில் இரண்டு வெவ்வேறு டெவலப்மெண்ட் ஸ்ட்ரீம்கள் தேவைப்படுவதற்கான காரணங்களை நாங்கள் இன்னும் கோடிட்டுக் காட்டவில்லை. இந்தப் பிரிவில், DataHub இன் பொதுப் பதிப்புக்கும் LinkedIn சர்வர்களில் உள்ள தயாரிப்புப் பதிப்பிற்கும் இடையே உள்ள வேறுபாடுகளை பட்டியலிடுவோம், மேலும் இந்த வேறுபாடுகளுக்கான காரணங்களை விளக்குவோம்.

லிங்க்ட்இனின் சந்ததி (LinkedIn இன் இன்டர்னல் சார்பு இன்ஜெக்ஷன் ஃப்ரேம்வொர்க்) போன்ற ஓப்பன் சோர்ஸ் இல்லாத குறியீட்டை எங்கள் தயாரிப்புப் பதிப்பில் சார்ந்திருப்பதால் முரண்பாடுகளின் ஒரு ஆதாரம் உள்ளது. டைனமிக் உள்ளமைவை நிர்வகிப்பதற்கான விருப்பமான முறையாக இருப்பதால், சந்ததி அக குறியீட்டுத் தளங்களில் பரவலாகப் பயன்படுத்தப்படுகிறது. ஆனால் அது ஓப்பன் சோர்ஸ் அல்ல; எனவே ஓப்பன் சோர்ஸ் டேட்டாஹப்க்கு திறந்த மூல மாற்றுகளைக் கண்டறிய வேண்டும்.

வேறு காரணங்களும் உள்ளன. லிங்க்ட்இனின் தேவைகளுக்காக மெட்டாடேட்டா மாதிரிக்கு நீட்டிப்புகளை உருவாக்கும்போது, ​​இந்த நீட்டிப்புகள் பொதுவாக லிங்க்ட்இனுக்கு மிகவும் குறிப்பிட்டவை மற்றும் பிற சூழல்களுக்கு நேரடியாகப் பொருந்தாது. எடுத்துக்காட்டாக, பங்கேற்பாளர் ஐடிகள் மற்றும் பிற வகையான பொருந்தக்கூடிய மெட்டாடேட்டாவிற்கான குறிப்பிட்ட லேபிள்கள் எங்களிடம் உள்ளன. எனவே, DataHub இன் ஓப்பன் சோர்ஸ் மெட்டாடேட்டா மாதிரியிலிருந்து இந்த நீட்டிப்புகளை இப்போது விலக்கியுள்ளோம். நாங்கள் சமூகத்துடன் இணைந்து அவர்களின் தேவைகளைப் புரிந்து கொள்ளும்போது, ​​தேவைப்படும் இடங்களில் இந்த நீட்டிப்புகளின் பொதுவான திறந்த மூலப் பதிப்புகளில் வேலை செய்வோம்.

பயன்பாட்டின் எளிமை மற்றும் திறந்த மூல சமூகத்திற்கான எளிதாகத் தழுவல் ஆகியவை DataHub இன் இரண்டு பதிப்புகளுக்கு இடையேயான சில வேறுபாடுகளுக்கு உத்வேகம் அளித்தன. ஸ்ட்ரீம் செயலாக்க உள்கட்டமைப்பில் உள்ள வேறுபாடுகள் இதற்கு ஒரு சிறந்த எடுத்துக்காட்டு. எங்கள் உள் பதிப்பு நிர்வகிக்கப்பட்ட ஸ்ட்ரீம் செயலாக்க கட்டமைப்பைப் பயன்படுத்துகிறது என்றாலும், திறந்த மூலப் பதிப்பிற்கான உள்ளமைக்கப்பட்ட (தனிப்பட்ட) ஸ்ட்ரீம் செயலாக்கத்தைப் பயன்படுத்தத் தேர்வுசெய்தோம், ஏனெனில் இது மற்றொரு உள்கட்டமைப்பு சார்புநிலையை உருவாக்குவதைத் தவிர்க்கிறது.

வேறுபாட்டின் மற்றொரு எடுத்துக்காட்டு, பல GMSகளை விட ஒரு திறந்த மூல செயலாக்கத்தில் ஒரு GMS (பொதுவாக்கப்பட்ட மெட்டாடேட்டா ஸ்டோர்) உள்ளது. GMA (Generalized Metadata Architecture) என்பது DataHub க்கான பின்-இறுதி கட்டமைப்பின் பெயர், மேலும் GMS என்பது GMA இன் சூழலில் மெட்டாடேட்டா ஸ்டோர் ஆகும். GMA என்பது மிகவும் நெகிழ்வான கட்டமைப்பாகும், இது ஒவ்வொரு தரவுக் கட்டமைப்பையும் (எ.கா. தரவுத்தொகுப்புகள், பயனர்கள் போன்றவை) அதன் சொந்த மெட்டாடேட்டா ஸ்டோரில் விநியோகிக்க உங்களை அனுமதிக்கிறது அல்லது தரவுக் கட்டமைப்பைக் கொண்ட பதிவேட்டில் இருக்கும் வரை ஒரே மெட்டாடேட்டா ஸ்டோரில் பல தரவுக் கட்டுமானங்களைச் சேமிக்கலாம். GMS புதுப்பிக்கப்பட்டது. பயன்பாட்டின் எளிமைக்காக, ஓப்பன் சோர்ஸ் டேட்டாஹப்பில் அனைத்து வெவ்வேறு தரவுக் கட்டமைப்பையும் சேமிக்கும் ஒரு ஜிஎம்எஸ் நிகழ்வைத் தேர்ந்தெடுத்தோம்.

இரண்டு செயலாக்கங்களுக்கு இடையிலான வேறுபாடுகளின் முழுமையான பட்டியல் கீழே உள்ள அட்டவணையில் கொடுக்கப்பட்டுள்ளது.

பொருளின் பண்புகள்
LinkedIn DataHub
ஓப்பன் சோர்ஸ் டேட்டாஹப்

ஆதரிக்கப்படும் தரவு கட்டமைப்புகள்
1) தரவுத்தொகுப்புகள் 2) பயனர்கள் 3) அளவீடுகள் 4) ML அம்சங்கள் 5) விளக்கப்படங்கள் 6) டாஷ்போர்டுகள்
1) தரவுத்தொகுப்புகள் 2) பயனர்கள்

தரவுத்தொகுப்புகளுக்கான ஆதரிக்கப்படும் மெட்டாடேட்டா ஆதாரங்கள்
1) ஆம்ப்ரி 2) கோச்பேஸ் 3) தாலிட்ஸ் 4) வெளிப்படுத்தினர் 5) HDFS 6) ஹைவ் 7) காஃப்கா 8) மோங்கோடிபி 9) MySQL 10) ஆரக்கிள் 11) பைனட் 12) பிரஸ்டோ 12) சீஸ் 13) டெராடேட்டா 13) திசையன் 14) வெனிஸ்
ஹைவ் காஃப்கா RDBMS

பப்-சப்
லிங்க்ட்இன் காஃப்கா
சங்கமமான காஃப்கா

ஸ்ட்ரீம் செயலாக்கம்
நிர்வகிக்கப்பட்ட
உட்பொதிக்கப்பட்ட (தனியாக)

சார்பு ஊசி & டைனமிக் உள்ளமைவு
LinkedIn சந்ததி
வசந்த

கருவியை உருவாக்கவும்
Ligradle (LinkedIn இன் உள் கிரேடில் ரேப்பர்)
கிரேடில்வ்

சிஐ / சிடி
CRT (LinkedIn இன் உள் CI/CD)
டிராவிஸ்சிஐ மற்றும் டோக்கர் மையம்

மெட்டாடேட்டா கடைகள்
பல GMS விநியோகிக்கப்பட்டது: 1) தரவுத்தொகுப்பு GMS 2) பயனர் GMS 3) மெட்ரிக் GMS 4) அம்சம் GMS 5) விளக்கப்படம்/டாஷ்போர்டு GMS
இதற்கான ஒற்றை GMS: 1) தரவுத்தொகுப்புகள் 2) பயனர்கள்

டோக்கர் கொள்கலன்களில் மைக்ரோ சர்வீஸ்கள்

கூலியாள் பயன்பாட்டு வரிசைப்படுத்தல் மற்றும் விநியோகத்தை எளிதாக்குகிறது கொள்கலன்மயமாக்கல். DataHub இல் உள்ள சேவையின் ஒவ்வொரு பகுதியும் காஃப்கா போன்ற உள்கட்டமைப்பு கூறுகள் உட்பட திறந்த மூலமாகும். Elasticsearch, நியோ 4 ஜெ и MySQL,, அதன் சொந்த டோக்கர் படத்தைக் கொண்டுள்ளது. நாங்கள் பயன்படுத்திய டோக்கர் கொள்கலன்களை ஆர்கெஸ்ட்ரேட் செய்ய டக்கர் எழுது.

ஓப்பன் சோர்ஸ் டேட்டாஹப்: லிங்க்ட்இனின் மெட்டாடேட்டா தேடல் மற்றும் டிஸ்கவரி பிளாட்ஃபார்ம்

படம் 2: கட்டிடக்கலை டேட்டாஹப் *ஓப்பன் சோர்ஸ்**

மேலே உள்ள படத்தில் DataHub இன் உயர்நிலை கட்டமைப்பை நீங்கள் பார்க்கலாம். உள்கட்டமைப்பு கூறுகள் தவிர, இது நான்கு வெவ்வேறு டோக்கர் கொள்கலன்களைக் கொண்டுள்ளது:

datahub-gms: மெட்டாடேட்டா சேமிப்பு சேவை

datahub-frontend: பயன்பாடு விளையாட, DataHub இடைமுகத்தை வழங்குகிறது.

datahub-mce-consumer: பயன்பாடு காஃப்கா நீரோடைகள், இது மெட்டாடேட்டா மாற்ற நிகழ்வை (MCE) ஸ்ட்ரீமைப் பயன்படுத்துகிறது மற்றும் மெட்டாடேட்டா ஸ்டோரை மேம்படுத்துகிறது.

datahub-mae-consumer: பயன்பாடு காஃப்கா நீரோடைகள், இது ஒரு மெட்டாடேட்டா தணிக்கை நிகழ்வு ஸ்ட்ரீம் (MAE) ஐப் பயன்படுத்துகிறது மற்றும் ஒரு தேடல் அட்டவணை மற்றும் வரைபட தரவுத்தளத்தை உருவாக்குகிறது.

திறந்த மூல களஞ்சிய ஆவணங்கள் மற்றும் அசல் DataHub வலைப்பதிவு இடுகை பல்வேறு சேவைகளின் செயல்பாடுகள் பற்றிய விரிவான தகவல்களைக் கொண்டிருக்கும்.

DataHub இல் CI/CD திறந்த மூலமாகும்

திறந்த மூல DataHub களஞ்சியம் பயன்படுத்துகிறது டிராவிஸ்சிஐ தொடர்ச்சியான ஒருங்கிணைப்பு மற்றும் டோக்கர் மையம் தொடர்ச்சியான வரிசைப்படுத்தலுக்கு. இரண்டும் நல்ல கிட்ஹப் ஒருங்கிணைப்பைக் கொண்டுள்ளன மற்றும் அமைப்பது எளிது. சமூகம் அல்லது தனியார் நிறுவனங்களால் உருவாக்கப்பட்ட பெரும்பாலான திறந்த மூல உள்கட்டமைப்புகளுக்கு (எ.கா. Confluent), டோக்கர் படங்கள் சமூகத்தால் எளிதாகப் பயன்படுத்துவதற்காக உருவாக்கப்பட்டு டோக்கர் ஹப்பில் பயன்படுத்தப்படுகின்றன. Docker Hub இல் காணப்படும் எந்த Docker படத்தையும் எளிமையான கட்டளையுடன் எளிதாகப் பயன்படுத்தலாம் டாக்கர் இழுப்பு.

DataHub ஓப்பன் சோர்ஸ் களஞ்சியத்திற்கான ஒவ்வொரு உறுதிப்பாட்டிலும், அனைத்து டோக்கர் படங்களும் தானாகவே உருவாக்கப்பட்டு "சமீபத்திய" குறிச்சொல்லுடன் Docker Hub இல் பயன்படுத்தப்படும். Docker Hub சிலவற்றைக் கொண்டு கட்டமைக்கப்பட்டிருந்தால் வழக்கமான வெளிப்பாடு கிளைகளுக்கு பெயரிடுதல், திறந்த மூல களஞ்சியத்தில் உள்ள அனைத்து குறிச்சொற்களும் டோக்கர் ஹப்பில் தொடர்புடைய குறிச்சொல் பெயர்களுடன் வெளியிடப்படுகின்றன.

DataHub ஐப் பயன்படுத்துதல்

DataHub ஐ அமைக்கிறது மிகவும் எளிமையானது மற்றும் மூன்று எளிய படிகளைக் கொண்டுள்ளது:

  1. ஓப்பன் சோர்ஸ் களஞ்சியத்தை குளோன் செய்து, விரைவாகத் தொடங்க, வழங்கப்பட்ட டோக்கர்-கம்போஸ் ஸ்கிரிப்டைப் பயன்படுத்தி அனைத்து டோக்கர் கொள்கலன்களையும் டோக்கர்-கம்போஸ் மூலம் இயக்கவும்.
  2. வழங்கப்பட்டுள்ள கட்டளை வரி கருவியைப் பயன்படுத்தி களஞ்சியத்தில் வழங்கப்பட்ட மாதிரித் தரவைப் பதிவிறக்கவும்.
  3. உங்கள் உலாவியில் DataHub ஐ உலாவவும்.

செயலில் கண்காணிக்கப்பட்டது கிட்டர் அரட்டை விரைவான கேள்விகளுக்காகவும் கட்டமைக்கப்பட்டது. பயனர்கள் நேரடியாக GitHub களஞ்சியத்தில் சிக்கல்களை உருவாக்கலாம். மிக முக்கியமாக, அனைத்து கருத்துகளையும் பரிந்துரைகளையும் நாங்கள் வரவேற்கிறோம் மற்றும் பாராட்டுகிறோம்!

எதிர்கால திட்டங்கள்

தற்போது, ​​ஓப்பன் சோர்ஸ் டேட்டாஹப்பிற்கான ஒவ்வொரு உள்கட்டமைப்பு அல்லது மைக்ரோ சர்வீஸும் ஒரு டோக்கர் கொள்கலனாக கட்டமைக்கப்பட்டுள்ளது, மேலும் முழு அமைப்பும் இதைப் பயன்படுத்தி ஒழுங்கமைக்கப்பட்டுள்ளது. கூலியாள்-கம்போஸ். புகழ் மற்றும் பரவலான கொடுக்கப்பட்ட Kubernetes, எதிர்காலத்தில் குபெர்னெட்ஸ் அடிப்படையிலான தீர்வையும் வழங்க விரும்புகிறோம்.

போன்ற பொது கிளவுட் சேவையில் DataHub ஐப் பயன்படுத்துவதற்கான ஆயத்த தயாரிப்பு தீர்வை வழங்கவும் திட்டமிட்டுள்ளோம் நீலமான, வட்டாரங்களில் அல்லது Google கிளவுட். அஸூருக்கு லிங்க்ட்இனின் இடம்பெயர்வு பற்றிய சமீபத்திய அறிவிப்பைப் பொறுத்தவரை, இது மெட்டாடேட்டா குழுவின் உள் முன்னுரிமைகளுடன் சீரமைக்கும்.

கடைசியாக ஆனால் குறைந்தது அல்ல, DataHub alphas ஐ மதிப்பிட்டு, சிக்கல்களைக் கண்டறிந்து ஆவணங்களை மேம்படுத்த எங்களுக்கு உதவிய திறந்த மூல சமூகத்தில் DataHub ஐப் பயன்படுத்திய அனைவருக்கும் நன்றி.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்