எல்லா இடங்களிலும் இப்போது நிறைய தரவு உள்ளது என்ற போதிலும், பகுப்பாய்வு தரவுத்தளங்கள் இன்னும் மிகவும் கவர்ச்சியானவை. அவர்கள் மோசமாக அறியப்பட்டவர்கள் மற்றும் இன்னும் மோசமாக அவற்றை திறம்பட பயன்படுத்த முடியும். பலர் MySQL அல்லது PostgreSQL உடன் "கற்றாழை சாப்பிடுகிறார்கள்", இது மற்ற காட்சிகளுக்காக வடிவமைக்கப்பட்டுள்ளது, NoSQL உடன் பாதிக்கப்படுகிறது அல்லது வணிக தீர்வுகளுக்கு அதிக கட்டணம் செலுத்துகிறது. ClickHouse விளையாட்டின் விதிகளை மாற்றுகிறது மற்றும் பகுப்பாய்வு DBMS உலகில் நுழைவதற்கான வரம்பை கணிசமாகக் குறைக்கிறது.
BackEnd Conf 2018 இலிருந்து அறிக்கை மற்றும் அது பேச்சாளரின் அனுமதியுடன் வெளியிடப்பட்டது.
நான் யார், ஏன் கிளிக்ஹவுஸ் பற்றி பேசுகிறேன்? நான் லைஃப்ஸ்ட்ரீட்டில் டெவலப்மெண்ட் டைரக்டராக இருக்கிறேன், இது கிளிக்ஹவுஸைப் பயன்படுத்துகிறது. மேலும், நான் அல்டினிட்டியின் நிறுவனர். இது ஒரு Yandex கூட்டாளியாகும், இது ClickHouse ஐ ஊக்குவிக்கிறது மற்றும் Yandex ClickHouse ஐ மேலும் வெற்றிகரமாக்க உதவுகிறது. ClickHouse பற்றிய அறிவைப் பகிரவும் தயாராக உள்ளது.
நான் பெட்டியா ஜைட்சேவின் சகோதரர் அல்ல. இதைப் பற்றி என்னிடம் அடிக்கடி கேட்கப்படுகிறது. இல்லை, நாங்கள் சகோதரர்கள் அல்ல.
கிளிக்ஹவுஸ் "அனைவருக்கும் தெரியும்":
- மிகவும் வேகமாக,
- மிகவும் வசதியாக
- Yandex இல் பயன்படுத்தப்பட்டது.
எந்தெந்த நிறுவனங்களில் எப்படிப் பயன்படுத்தப்படுகிறது என்பது கொஞ்சம் குறைவாகவே தெரியும்.
யாண்டெக்ஸைத் தவிர, ஏன், எங்கு, எப்படி கிளிக்ஹவுஸ் பயன்படுத்தப்படுகிறது என்பதை நான் உங்களுக்குச் சொல்கிறேன்.
வெவ்வேறு நிறுவனங்களில் கிளிக்ஹவுஸ் உதவியுடன் குறிப்பிட்ட பணிகள் எவ்வாறு தீர்க்கப்படுகின்றன, உங்கள் பணிகளுக்கு நீங்கள் எந்த கிளிக்ஹவுஸ் கருவிகளைப் பயன்படுத்தலாம் மற்றும் வெவ்வேறு நிறுவனங்களில் அவை எவ்வாறு பயன்படுத்தப்பட்டன என்பதை நான் உங்களுக்கு கூறுவேன்.
கிளிக்ஹவுஸை வெவ்வேறு கோணங்களில் காண்பிக்கும் மூன்று உதாரணங்களை நான் எடுத்தேன். சுவாரஸ்யமாக இருக்கும் என்று நினைக்கிறேன்.
முதல் கேள்வி: "எங்களுக்கு கிளிக்ஹவுஸ் ஏன் தேவை?". இது மிகவும் வெளிப்படையான கேள்வியாகத் தெரிகிறது, ஆனால் அதற்கு ஒன்றுக்கு மேற்பட்ட பதில்கள் உள்ளன.
- முதல் பதில் செயல்திறன். ClickHouse மிக வேகமாக உள்ளது. கிளிக்ஹவுஸில் உள்ள பகுப்பாய்வுகளும் மிக வேகமாக இருக்கும். வேறு ஏதாவது மிகவும் மெதுவாக அல்லது மிகவும் மோசமாக இருக்கும் இடங்களில் இது அடிக்கடி பயன்படுத்தப்படலாம்.
- இரண்டாவது பதில் செலவு. மற்றும் முதலில், அளவிடுதல் செலவு. எடுத்துக்காட்டாக, வெர்டிகா ஒரு சிறந்த தரவுத்தளமாகும். உங்களிடம் நிறைய டெராபைட் டேட்டா இல்லை என்றால் இது நன்றாக வேலை செய்யும். ஆனால் நூற்றுக்கணக்கான டெராபைட்டுகள் அல்லது பெட்டாபைட்டுகள் என்று வரும்போது, உரிமம் மற்றும் ஆதரவின் விலை மிகவும் குறிப்பிடத்தக்க அளவு செல்கிறது. அது விலை உயர்ந்தது. மேலும் ClickHouse இலவசம்.
- மூன்றாவது பதில் செயல்பாட்டு செலவு. இது சற்று வித்தியாசமான அணுகுமுறை. RedShift ஒரு சிறந்த அனலாக் ஆகும். RedShift இல், நீங்கள் மிக விரைவாக முடிவெடுக்கலாம். இது நன்றாக வேலை செய்யும், ஆனால் அதே நேரத்தில், ஒவ்வொரு மணிநேரமும், ஒவ்வொரு நாளும், ஒவ்வொரு மாதமும், நீங்கள் அமேசானுக்கு மிகவும் அன்பாக செலுத்துவீர்கள், ஏனெனில் இது குறிப்பிடத்தக்க விலையுயர்ந்த சேவையாகும். Google BigQuery கூட. யாராவது அதைப் பயன்படுத்தினால், அங்கு நீங்கள் பல கோரிக்கைகளை இயக்கலாம் மற்றும் திடீரென்று நூற்றுக்கணக்கான டாலர்களுக்கு பில் பெறலாம் என்பது அவருக்குத் தெரியும்.
ClickHouse இல் இந்தப் பிரச்சனைகள் இல்லை.
கிளிக்ஹவுஸ் இப்போது எங்கே பயன்படுத்தப்படுகிறது? Yandex ஐத் தவிர, ClickHouse பல்வேறு வணிகங்கள் மற்றும் நிறுவனங்களில் பயன்படுத்தப்படுகிறது.
- முதலாவதாக, இது வலை பயன்பாட்டு பகுப்பாய்வு ஆகும், அதாவது இது Yandex இலிருந்து வந்த ஒரு பயன்பாட்டு வழக்கு.
- பல AdTech நிறுவனங்கள் ClickHouse ஐப் பயன்படுத்துகின்றன.
- பல்வேறு ஆதாரங்களில் இருந்து பரிவர்த்தனை பதிவுகளை பகுப்பாய்வு செய்ய வேண்டிய பல நிறுவனங்கள்.
- பாதுகாப்பு பதிவுகளை கண்காணிக்க பல நிறுவனங்கள் ClickHouse ஐப் பயன்படுத்துகின்றன. அவர்கள் அவற்றை கிளிக்ஹவுஸில் பதிவேற்றி, அறிக்கைகளை உருவாக்கி, தங்களுக்குத் தேவையான முடிவுகளைப் பெறுகிறார்கள்.
- நிறுவனங்கள் நிதி ஆய்வில் இதைப் பயன்படுத்தத் தொடங்குகின்றன, அதாவது படிப்படியாக பெரிய வணிகங்களும் கிளிக்ஹவுஸை அணுகுகின்றன.
- மேகத்தோற்றம். யாராவது கிளிக்ஹவுஸைப் பின்தொடர்ந்தால், அவர்கள் இந்த நிறுவனத்தின் பெயரைக் கேள்விப்பட்டிருக்கலாம். இது சமூகத்தின் இன்றியமையாத பங்களிப்பாளர்களில் ஒன்றாகும். அவர்கள் மிகவும் தீவிரமான கிளிக்ஹவுஸ் நிறுவலைக் கொண்டுள்ளனர். உதாரணமாக, அவர்கள் கிளிக்ஹவுஸுக்கு காஃப்கா எஞ்சினை உருவாக்கினர்.
- தொலைத்தொடர்பு நிறுவனங்கள் பயன்படுத்த ஆரம்பித்தன. பல நிறுவனங்கள் ClickHouse ஐ கருத்தின் ஆதாரமாக அல்லது ஏற்கனவே தயாரிப்பில் பயன்படுத்துகின்றன.
- உற்பத்தி செயல்முறைகளைக் கண்காணிக்க ஒரு நிறுவனம் ClickHouse ஐப் பயன்படுத்துகிறது. அவை மைக்ரோ சர்க்யூட்களை சோதிக்கின்றன, ஒரு சில அளவுருக்களை எழுதுகின்றன, சுமார் 2 பண்புகள் உள்ளன. பின்னர் அவர்கள் விளையாட்டு நல்லதா கெட்டதா என்று பகுப்பாய்வு செய்கிறார்கள்.
- பிளாக்செயின் பகுப்பாய்வு. Bloxy.info போன்ற ரஷ்ய நிறுவனம் உள்ளது. இது ethereum நெட்வொர்க்கின் பகுப்பாய்வு ஆகும். கிளிக்ஹவுஸிலும் இதைச் செய்தார்கள்.
மற்றும் அளவு முக்கியமில்லை. ஒரு சிறிய சேவையகத்தைப் பயன்படுத்தும் பல நிறுவனங்கள் உள்ளன. மேலும் அவர்களுடைய பிரச்சினைகளைத் தீர்க்க அவர் அனுமதிக்கிறார். மேலும் பல நிறுவனங்கள் பல சேவையகங்கள் அல்லது டஜன் கணக்கான சேவையகங்களின் பெரிய கிளஸ்டர்களைப் பயன்படுத்துகின்றன.
நீங்கள் பதிவுகளைப் பார்த்தால், பின்:
- யாண்டெக்ஸ்: 500+ சர்வர்கள், அவை ஒரு நாளைக்கு 25 பில்லியன் பதிவுகளைச் சேமித்து வைக்கின்றன.
- LifeStreet: 60 சர்வர்கள், ஒரு நாளைக்கு சுமார் 75 பில்லியன் பதிவுகள். Yandex ஐ விட குறைவான சேவையகங்கள், அதிக பதிவுகள் உள்ளன.
- CloudFlare: 36 சேவையகங்கள், அவை ஒரு நாளைக்கு 200 பில்லியன் பதிவுகளைச் சேமிக்கின்றன. அவர்கள் இன்னும் குறைவான சேவையகங்களைக் கொண்டுள்ளனர் மற்றும் இன்னும் அதிகமான தரவைச் சேமிக்கிறார்கள்.
- ப்ளூம்பெர்க்: 102 சேவையகங்கள், ஒரு நாளைக்கு சுமார் ஒரு டிரில்லியன் உள்ளீடுகள். பதிவு வைத்திருப்பவர்.
புவியியல் ரீதியாக, இதுவும் அதிகம். இங்கே இந்த வரைபடம் கிளிக்ஹவுஸ் உலகில் எங்கு பயன்படுத்தப்படுகிறது என்பதற்கான ஹீட்மேப்பைக் காட்டுகிறது. ரஷ்யா, சீனா, அமெரிக்கா இங்கே தெளிவாக நிற்கின்றன. சில ஐரோப்பிய நாடுகள் உள்ளன. மற்றும் 4 கிளஸ்டர்கள் உள்ளன.
இது ஒரு ஒப்பீட்டு பகுப்பாய்வு, முழுமையான புள்ளிவிவரங்களைத் தேட வேண்டிய அவசியமில்லை. இது அல்டினிட்டி இணையதளத்தில் ஆங்கில மொழிப் பொருட்களைப் படிக்கும் பார்வையாளர்களின் பகுப்பாய்வு ஆகும், ஏனெனில் அங்கு ரஷ்ய மொழி பேசுபவர்கள் இல்லை. ரஷ்யா, உக்ரைன், பெலாரஸ், அதாவது சமூகத்தின் ரஷ்ய மொழி பேசும் பகுதி, இவர்கள்தான் அதிக எண்ணிக்கையிலான பயனர்கள். பின்னர் அமெரிக்கா மற்றும் கனடா வருகிறது. சீனா மிகவும் பிடிக்கிறது. ஆறு மாதங்களுக்கு முன்பு அங்கு கிட்டத்தட்ட சீனா இல்லை, இப்போது சீனா ஏற்கனவே ஐரோப்பாவை முந்திவிட்டது மற்றும் தொடர்ந்து வளர்ந்து வருகிறது. பழைய ஐரோப்பாவும் வெகு தொலைவில் இல்லை, மேலும் கிளிக்ஹவுஸ் பயன்பாட்டில் முன்னணியில் உள்ளது, விந்தை போதும், பிரான்ஸ்.
இதையெல்லாம் நான் ஏன் சொல்கிறேன்? பெரிய தரவுப் பகுப்பாய்விற்கான ஒரு நிலையான தீர்வாக ClickHouse மாறிவருகிறது மற்றும் ஏற்கனவே நிறைய இடங்களில் பயன்படுத்தப்படுகிறது என்பதைக் காட்ட. நீங்கள் அதைப் பயன்படுத்தினால், நீங்கள் சரியான போக்கில் இருக்கிறீர்கள். நீங்கள் இன்னும் அதைப் பயன்படுத்தவில்லை என்றால், நீங்கள் தனியாக இருப்பீர்கள், யாரும் உங்களுக்கு உதவ மாட்டார்கள் என்று நீங்கள் பயப்பட முடியாது, ஏனென்றால் பலர் ஏற்கனவே இதைச் செய்கிறார்கள்.
பல நிறுவனங்களில் உண்மையான ClickHouse பயன்பாட்டிற்கான எடுத்துக்காட்டுகள் இவை.
- முதல் உதாரணம் ஒரு விளம்பர நெட்வொர்க்: வெர்டிகாவிலிருந்து கிளிக்ஹவுஸுக்கு இடம்பெயர்தல். வெர்டிகாவிலிருந்து மாறிய அல்லது மாற்றும் பணியில் இருக்கும் சில நிறுவனங்களை நான் அறிவேன்.
- இரண்டாவது உதாரணம் ClickHouse இல் பரிவர்த்தனை சேமிப்பு. இது எதிர் வடிவங்களில் கட்டமைக்கப்பட்ட ஒரு எடுத்துக்காட்டு. டெவலப்பர்களின் ஆலோசனையின் பேரில் கிளிக்ஹவுஸில் செய்யக்கூடாத அனைத்தும் இங்கே செய்யப்படுகிறது. அது மிகவும் திறம்பட செய்யப்பட்டுள்ளது, அது வேலை செய்கிறது. மேலும் இது வழக்கமான பரிவர்த்தனை தீர்வை விட சிறப்பாக செயல்படுகிறது.
- மூன்றாவது உதாரணம் ClickHouse இல் விநியோகிக்கப்பட்ட கம்ப்யூட்டிங் ஆகும். ஹடூப் சுற்றுச்சூழல் அமைப்பில் கிளிக்ஹவுஸை எவ்வாறு ஒருங்கிணைக்க முடியும் என்பது பற்றி ஒரு கேள்வி இருந்தது. ஒரு நிறுவனம், கிளிக்ஹவுஸில் உள்ள வரைபடத்தைக் குறைக்கும் கொள்கலனைப் போன்ற ஒன்றைச் செய்தது, தரவு உள்ளூர்மயமாக்கலைக் கண்காணிப்பது போன்றவற்றின் உதாரணத்தை நான் காண்பிப்பேன்.
- LifeStreet என்பது ஒரு விளம்பர தொழில்நுட்ப நிறுவனமாகும், இது விளம்பர நெட்வொர்க்குடன் வரும் அனைத்து தொழில்நுட்பங்களையும் கொண்டுள்ளது.
- அவர் விளம்பர மேம்படுத்தல், நிரல் ஏலம் ஆகியவற்றில் ஈடுபட்டுள்ளார்.
- நிறைய தரவு: ஒரு நாளைக்கு சுமார் 10 பில்லியன் நிகழ்வுகள். அதே நேரத்தில், அங்கு நடக்கும் நிகழ்வுகளை பல துணை நிகழ்வுகளாக பிரிக்கலாம்.
- இந்தத் தரவின் பல வாடிக்கையாளர்கள் உள்ளனர், மேலும் இவை மக்கள் மட்டுமல்ல, இன்னும் அதிகமானவை - இவை நிரல் ஏலத்தில் ஈடுபட்டுள்ள பல்வேறு வழிமுறைகள்.
நிறுவனம் நீண்ட மற்றும் முட்கள் நிறைந்த பாதையில் வந்துள்ளது. நான் அதை ஹைலோடில் பேசினேன். முதலில், LifeStreet MySQL இலிருந்து (ஆரக்கிளில் ஒரு குறுகிய நிறுத்தத்துடன்) வெர்டிகாவிற்கு மாறியது. மேலும் அதைப் பற்றிய ஒரு கதையை நீங்கள் காணலாம்.
எல்லாம் மிகவும் நன்றாக இருந்தது, ஆனால் தரவு வளர்ந்து வருகிறது மற்றும் வெர்டிகா விலை உயர்ந்தது என்பது விரைவில் தெளிவாகியது. எனவே, பல்வேறு மாற்று வழிகள் தேடப்பட்டன. அவற்றில் சில இங்கே பட்டியலிடப்பட்டுள்ளன. உண்மையில், 13 ஆம் ஆண்டு முதல் 16 ஆம் ஆண்டு வரை சந்தையில் கிடைக்கும் மற்றும் செயல்பாட்டின் அடிப்படையில் தோராயமாக பொருத்தமான அனைத்து தரவுத்தளங்களின் கருத்து அல்லது சில நேரங்களில் செயல்திறன் சோதனைக்கான ஆதாரத்தை நாங்கள் செய்தோம். மேலும் ஹைலோடில் சிலரைப் பற்றியும் பேசினேன்.
தரவு வளர்ந்ததால், முதலில் வெர்டிகாவிலிருந்து இடம்பெயர்வதே பணி. மேலும் அவை பல ஆண்டுகளாக அதிவேகமாக வளர்ந்தன. பின்னர் அவர்கள் அலமாரியில் சென்றார்கள், ஆனாலும். இந்த வளர்ச்சியைக் கணிப்பது, சில வகையான பகுப்பாய்வுகள் செய்யப்பட வேண்டிய தரவுகளின் அளவுக்கான வணிகத் தேவைகள், பெட்டாபைட்கள் விரைவில் விவாதிக்கப்படும் என்பது தெளிவாகிறது. பெட்டாபைட்டுகளுக்கு பணம் செலுத்துவது ஏற்கனவே மிகவும் விலை உயர்ந்தது, எனவே நாங்கள் எங்கு செல்வது என்று மாற்று வழியைத் தேடுகிறோம்.
எங்கே போக வேண்டும்? நீண்ட காலமாக எங்கு செல்வது என்பது தெளிவாகத் தெரியவில்லை, ஏனென்றால் ஒருபுறம் வணிக தரவுத்தளங்கள் உள்ளன, அவை நன்றாக வேலை செய்கின்றன. சில வெர்டிகாவைப் போலவே வேலை செய்கின்றன, சில மோசமாக உள்ளன. ஆனால் அவை அனைத்தும் விலை உயர்ந்தவை, மலிவான மற்றும் சிறந்த எதையும் கண்டுபிடிக்க முடியவில்லை.
மறுபுறம், திறந்த மூல தீர்வுகள் உள்ளன, அவை அதிக எண்ணிக்கையில் இல்லை, அதாவது பகுப்பாய்வுகளுக்கு, அவை விரல்களில் எண்ணப்படலாம். மேலும் அவை இலவசம் அல்லது மலிவானது, ஆனால் மெதுவாக இருக்கும். மேலும் அவை பெரும்பாலும் தேவையான மற்றும் பயனுள்ள செயல்பாடுகளைக் கொண்டிருக்கவில்லை.
வணிக தரவுத்தளங்களில் உள்ள நல்லவற்றையும், திறந்த மூலத்தில் உள்ள அனைத்து இலவசங்களையும் இணைக்க எதுவும் இல்லை.
எதிர்பாராத விதமாக, யாண்டெக்ஸ் கிளிக்ஹவுஸை வெளியே இழுக்கும் வரை எதுவும் இல்லை, ஒரு தொப்பியில் இருந்து ஒரு மந்திரவாதி போல, ஒரு முயல் போல. இது ஒரு எதிர்பாராத முடிவு, அவர்கள் இன்னும் கேள்வி கேட்கிறார்கள்: "ஏன்?", ஆனாலும்.
2016 கோடையில் இப்போதே, கிளிக்ஹவுஸ் என்றால் என்ன என்பதைப் பார்க்க ஆரம்பித்தோம். சில நேரங்களில் அது வெர்டிகாவை விட வேகமாக இருக்கும் என்று மாறியது. வெவ்வேறு கோரிக்கைகளில் வெவ்வேறு காட்சிகளை நாங்கள் சோதித்தோம். வினவல் ஒரே ஒரு அட்டவணையைப் பயன்படுத்தியிருந்தால், அதாவது, எந்த இணைப்புகளும் இல்லாமல் (சேர்வது), கிளிக்ஹவுஸ் வெர்டிகாவை விட இரண்டு மடங்கு வேகமாக இருக்கும்.
நான் மிகவும் சோம்பேறியாக இல்லை, மற்ற நாள் யாண்டெக்ஸ் சோதனைகளைப் பார்த்தேன். அங்கேயும் அதேதான்: கிளிக்ஹவுஸ் வெர்டிகாவை விட இரண்டு மடங்கு வேகமானது, எனவே அவர்கள் அதைப் பற்றி அடிக்கடி பேசுகிறார்கள்.
ஆனால் வினவல்களில் இணைப்புகள் இருந்தால், எல்லாம் மிகவும் தெளிவாக இல்லை. மேலும் ClickHouse வெர்டிகாவை விட இரண்டு மடங்கு மெதுவாக இருக்கும். நீங்கள் கோரிக்கையை சிறிது சரிசெய்து அதை மீண்டும் எழுதினால், அவை தோராயமாக சமமாக இருக்கும். மோசமாக இல்லை. மற்றும் இலவசம்.
சோதனை முடிவுகளைப் பெற்று, அதை வெவ்வேறு கோணங்களில் பார்த்து, LifeStreet ClickHouseக்குச் சென்றது.
இது 16 வது ஆண்டு, நான் உங்களுக்கு நினைவூட்டுகிறேன். இது எலிகளைப் பற்றிய நகைச்சுவையைப் போன்றது, அவை அழுது தங்களைத் தாங்களே குத்திக் கொண்டன, ஆனால் கற்றாழையைத் தொடர்ந்து சாப்பிட்டன. இது விரிவாக விவரிக்கப்பட்டது, இதைப் பற்றிய ஒரு வீடியோ உள்ளது.
அதனால, அதுபற்றி விரிவாகப் பேசாமல், அப்போது நான் பேசாத முடிவுகள் மற்றும் சில சுவாரசியமான விஷயங்களை மட்டும் பேசுவேன்.
முடிவுகள்:
- வெற்றிகரமான இடம்பெயர்வு மற்றும் ஒரு வருடத்திற்கும் மேலாக கணினி ஏற்கனவே உற்பத்தியில் வேலை செய்கிறது.
- உற்பத்தித்திறன் மற்றும் நெகிழ்வுத்தன்மை அதிகரித்துள்ளது. 10 பில்லியன் ரெக்கார்டுகளில் நாம் ஒரு நாளைக்குச் சேமித்து வைத்து, சிறிது காலத்திற்கு, லைஃப்ஸ்ட்ரீட் இப்போது ஒரு நாளைக்கு 75 பில்லியன் ரெக்கார்டுகளைச் சேமித்து வைக்கிறது மேலும் இதை 3 மாதங்கள் அல்லது அதற்கும் அதிகமாகச் செய்யலாம். நீங்கள் உச்சத்தில் எண்ணினால், இது ஒரு வினாடிக்கு ஒரு மில்லியன் நிகழ்வுகள் வரை இருக்கும். ஒரு நாளைக்கு ஒரு மில்லியனுக்கும் அதிகமான SQL வினவல்கள் இந்த அமைப்பில் வருகின்றன, பெரும்பாலும் வெவ்வேறு ரோபோக்களிடமிருந்து.
- வெர்டிகாவை விட கிளிக்ஹவுஸுக்கு அதிக சேவையகங்கள் பயன்படுத்தப்பட்டாலும், அவை வன்பொருளிலும் சேமிக்கப்பட்டன, ஏனெனில் வெர்டிகாவில் விலையுயர்ந்த எஸ்ஏஎஸ் வட்டுகள் பயன்படுத்தப்பட்டன. ClickHouse SATA ஐப் பயன்படுத்தியது. மேலும் ஏன்? ஏனெனில் வெர்டிகாவில் செருகுவது ஒத்திசைவானது. மேலும் ஒத்திசைவுக்கு வட்டுகள் அதிகமாக வேகத்தைக் குறைக்காமல் இருக்க வேண்டும், மேலும் நெட்வொர்க் அதிகமாகக் குறையாது, அதாவது விலையுயர்ந்த செயல்பாடு. மேலும் கிளிக்ஹவுஸில் செருகுவது ஒத்திசைவற்றது. மேலும், நீங்கள் எப்போதும் எல்லாவற்றையும் உள்நாட்டில் எழுதலாம், இதற்கு கூடுதல் செலவுகள் எதுவும் இல்லை, எனவே மெதுவான டிரைவ்களில் கூட வெர்டிகாவை விட மிக வேகமாக கிளிக்ஹவுஸில் தரவைச் செருகலாம். மற்றும் வாசிப்பு என்பது ஏறக்குறைய ஒன்றே. SATA இல் படித்தல், அவை RAID இல் இருந்தால், இவை அனைத்தும் வேகமாக இருக்கும்.
- உரிமத்தால் வரையறுக்கப்படவில்லை, அதாவது 3 சர்வர்களில் 60 பெட்டாபைட் தரவு (20 சர்வர்கள் ஒரு பிரதி) மற்றும் உண்மைகள் மற்றும் திரட்டல்களில் 6 டிரில்லியன் பதிவுகள். வெர்டிகாவில் இதுபோன்ற எதையும் கொடுக்க முடியாது.
நான் இப்போது இந்த எடுத்துக்காட்டில் நடைமுறை விஷயங்களுக்கு திரும்புகிறேன்.
- முதலாவது ஒரு திறமையான திட்டம். நிறைய திட்டத்தைப் பொறுத்தது.
- இரண்டாவது திறமையான SQL உருவாக்கம்.
வழக்கமான OLAP வினவல் என்பது தேர்ந்தெடுக்கப்பட்டதாகும். சில நெடுவரிசைகள் குழுவாகச் செல்கின்றன, சில நெடுவரிசைகள் மொத்த செயல்பாடுகளுக்குச் செல்கின்றன. ஒரு கனசதுரத்தின் துண்டாகக் குறிப்பிடப்படும் இடம் உள்ளது. மூலம் முழு குழுவும் ஒரு திட்டமாக கருதலாம். அதனால்தான் இது பன்முக தரவு பகுப்பாய்வு என்று அழைக்கப்படுகிறது.
மற்றும் பெரும்பாலும் இது ஒரு நட்சத்திர-திட்டத்தின் வடிவத்தில் வடிவமைக்கப்பட்டுள்ளது, ஒரு மைய உண்மை மற்றும் இந்த உண்மையின் பண்புகள் பக்கங்களிலும், கதிர்களிலும் இருக்கும் போது.
மற்றும் உடல் வடிவமைப்பு அடிப்படையில், அது மேஜையில் எப்படி பொருந்துகிறது, அவர்கள் வழக்கமாக ஒரு சாதாரண பிரதிநிதித்துவம் செய்ய. நீங்கள் இயல்புநிலைக்கு மாறலாம், ஆனால் இது வட்டில் விலை உயர்ந்தது மற்றும் வினவல்களில் மிகவும் திறமையானது அல்ல. எனவே, அவை வழக்கமாக ஒரு இயல்பான பிரதிநிதித்துவத்தை உருவாக்குகின்றன, அதாவது ஒரு உண்மை அட்டவணை மற்றும் பல, பல பரிமாண அட்டவணைகள்.
ஆனால் இது ClickHouse இல் சரியாக வேலை செய்யாது. இரண்டு காரணங்கள் உள்ளன:
- முதலாவதாக, கிளிக்ஹவுஸில் நல்ல இணைப்புகள் இல்லை, அதாவது இணைப்புகள் உள்ளன, ஆனால் அவை மோசமானவை. மோசமாக இருக்கும்போது.
- இரண்டாவது அட்டவணைகள் புதுப்பிக்கப்படவில்லை. பொதுவாக இந்த தட்டுகளில், நட்சத்திர சுற்று சுற்றி இருக்கும், ஏதாவது மாற்ற வேண்டும். எடுத்துக்காட்டாக, வாடிக்கையாளர் பெயர், நிறுவனத்தின் பெயர் போன்றவை. அது வேலை செய்யாது.
கிளிக்ஹவுஸில் இதிலிருந்து ஒரு வழி உள்ளது. இரண்டு கூட:
- முதலில் அகராதிகளின் பயன்பாடு. ஸ்டார்-ஸ்கீமா, புதுப்பிப்புகள் மற்றும் பலவற்றின் சிக்கலைத் தீர்க்க 99% உதவுவது வெளிப்புற அகராதிகள் ஆகும்.
- இரண்டாவது அணிவரிசைகளின் பயன்பாடு. வரிசைகள் இணைப்புகள் மற்றும் இயல்பாக்கத்தில் உள்ள சிக்கல்களிலிருந்து விடுபட உதவுகின்றன.
- சேர தேவையில்லை.
- மேம்படுத்தக்கூடியது. மார்ச் 2018 முதல், அகராதிகளை ஓரளவு புதுப்பிக்க, அதாவது மாற்றப்பட்ட உள்ளீடுகளை ஆவணப்படுத்தாத வாய்ப்பு தோன்றியுள்ளது (இதை நீங்கள் ஆவணத்தில் காண முடியாது). நடைமுறையில், இது ஒரு அட்டவணை போன்றது.
- எப்போதும் நினைவகத்தில் இருப்பதால், அது வட்டில் இருக்கும் அட்டவணையை விட வேகமாக அகராதி வேலையுடன் இணைகிறது மற்றும் அது தற்காலிக சேமிப்பில் உள்ளது என்பது இன்னும் உண்மையாக இல்லை, பெரும்பாலும் இல்லை.
- நீங்கள் சேரவும் தேவையில்லை.
- இது ஒரு சிறிய 1 முதல் பல பிரதிநிதித்துவம்.
- என் கருத்துப்படி, அழகற்றவர்களுக்காக வரிசைகள் உருவாக்கப்பட்டுள்ளன. இவை லாம்ப்டா செயல்பாடுகள் மற்றும் பல.
இது சிவப்பு வார்த்தைகளுக்கானது அல்ல. இது மிகவும் சக்திவாய்ந்த செயல்பாடாகும், இது பல விஷயங்களை மிகவும் எளிமையான மற்றும் நேர்த்தியான முறையில் செய்ய அனுமதிக்கிறது.
வரிசைகளைத் தீர்க்க உதவும் பொதுவான எடுத்துக்காட்டுகள். இந்த எடுத்துக்காட்டுகள் எளிமையானவை மற்றும் போதுமான தெளிவானவை:
- குறிச்சொற்கள் மூலம் தேடவும். உங்களிடம் ஹேஷ்டேக்குகள் இருந்தால் மற்றும் ஹேஷ்டேக் மூலம் சில இடுகைகளைக் கண்டறிய விரும்பினால்.
- முக்கிய-மதிப்பு ஜோடிகளின் மூலம் தேடவும். மதிப்புடன் சில பண்புக்கூறுகளும் உள்ளன.
- நீங்கள் வேறு ஏதாவது மொழிபெயர்க்க வேண்டிய விசைகளின் பட்டியல்களை சேமித்தல்.
இந்த பணிகள் அனைத்தும் வரிசைகள் இல்லாமல் தீர்க்கப்படும். குறிச்சொற்களை சில வரிகளில் வைத்து வழக்கமான வெளிப்பாடு அல்லது தனி அட்டவணையில் தேர்ந்தெடுக்கலாம், ஆனால் நீங்கள் இணைக்க வேண்டும்.
கிளிக்ஹவுஸில், நீங்கள் எதுவும் செய்ய வேண்டியதில்லை, ஹேஷ்டேக்குகளுக்கான சரம் வரிசையை விவரிக்க அல்லது முக்கிய மதிப்பு அமைப்புகளுக்கு உள்ளமைக்கப்பட்ட கட்டமைப்பை உருவாக்கினால் போதும்.
உள்ளமைக்கப்பட்ட அமைப்பு சிறந்த பெயராக இருக்காது. இவை இரண்டு அணிவரிசைகளாகும், அவை பெயரிலும் சில தொடர்புடைய பண்புகளிலும் பொதுவான பகுதியாகும்.
குறிச்சொல் மூலம் தேடுவது மிகவும் எளிதானது. ஒரு செயல்பாடு வேண்டும் has
, இது அணிவரிசையில் ஒரு உறுப்பு உள்ளதா என்று சரிபார்க்கிறது. அனைவரும், எங்கள் மாநாட்டுடன் தொடர்புடைய அனைத்து உள்ளீடுகளையும் கண்டறிந்தனர்.
Subid மூலம் தேடுவது சற்று சிக்கலானது. நாம் முதலில் விசையின் குறியீட்டைக் கண்டுபிடிக்க வேண்டும், பின்னர் இந்த குறியீட்டுடன் உறுப்பை எடுத்து, இந்த மதிப்பு நமக்குத் தேவையானதா என்பதைச் சரிபார்க்கவும். இருப்பினும், இது மிகவும் எளிமையானது மற்றும் கச்சிதமானது.
நீங்கள் எழுத விரும்பும் வழக்கமான வெளிப்பாடு அனைத்தையும் ஒரே வரியில் வைத்திருந்தால், அது முதலில், விகாரமாக இருக்கும். மற்றும், இரண்டாவதாக, இது இரண்டு வரிசைகளை விட அதிக நேரம் வேலை செய்தது.
மற்றொரு உதாரணம். ஐடியை சேமித்து வைக்கும் வரிசை உங்களிடம் உள்ளது. நீங்கள் அவற்றை பெயர்களாக மொழிபெயர்க்கலாம். செயல்பாடு arrayMap
. இது ஒரு பொதுவான லாம்ப்டா செயல்பாடு. நீங்கள் அங்கு லாம்ப்டா வெளிப்பாடுகளை அனுப்புகிறீர்கள். மேலும் ஒவ்வொரு ஐடியின் பெயரின் மதிப்பையும் அகராதியிலிருந்து வெளியே எடுக்கிறாள்.
தேடலையும் அதே வழியில் செய்யலாம். கூறுகள் என்ன பொருந்துகின்றன என்பதைச் சரிபார்க்கும் முன்னறிவிப்பு செயல்பாடு அனுப்பப்பட்டது.
இந்த விஷயங்கள் சுற்றுவட்டத்தை பெரிதும் எளிதாக்குகின்றன மற்றும் பல சிக்கல்களைத் தீர்க்கின்றன.
ஆனால் நாம் எதிர்கொள்ளும் அடுத்த பிரச்சனை, நான் குறிப்பிட விரும்புவது திறமையான கேள்விகள்.
- கிளிக்ஹவுஸில் வினவல் திட்டமிடுபவர் இல்லை. முற்றிலும் இல்லை.
- ஆயினும்கூட, சிக்கலான கேள்விகள் இன்னும் திட்டமிடப்பட வேண்டும். எந்த சந்தர்ப்பங்களில்?
- வினவலில் பல இணைப்புகள் இருந்தால், அவற்றை துணைத் தேர்வுகளில் மடிக்கலாம். மேலும் அவை செயல்படுத்தப்படும் வரிசை முக்கியமானது.
- மற்றும் இரண்டாவது - கோரிக்கை விநியோகிக்கப்பட்டால். ஏனெனில் ஒரு விநியோகிக்கப்பட்ட வினவலில், மிக உள்ளான துணைத் தேர்வு மட்டுமே விநியோகிக்கப்படும், மற்ற அனைத்தும் நீங்கள் இணைக்கப்பட்ட மற்றும் அங்கு செயல்படுத்தப்பட்ட ஒரு சேவையகத்திற்கு அனுப்பப்படும். எனவே, நீங்கள் பல இணைப்புகளுடன் வினவல்களை விநியோகித்திருந்தால் (சேர்வது), நீங்கள் ஆர்டரைத் தேர்வு செய்ய வேண்டும்.
எளிமையான சந்தர்ப்பங்களில் கூட, சில நேரங்களில் திட்டமிடுபவரின் வேலையைச் செய்வது மற்றும் வினவல்களை சிறிது மீண்டும் எழுதுவது அவசியம்.
இதோ ஒரு உதாரணம். இடது பக்கத்தில் முதல் 5 நாடுகளைக் காட்டும் வினவல் உள்ளது. என் கருத்துப்படி இதற்கு 2,5 வினாடிகள் ஆகும். மற்றும் வலது பக்கத்தில், அதே வினவல், ஆனால் சிறிது மீண்டும் எழுதப்பட்டது. சரம் மூலம் குழுவாக்குவதற்குப் பதிலாக, விசை (int) மூலம் குழுவாக்கத் தொடங்கினோம். மேலும் இது வேகமானது. பின்னர் ஒரு அகராதியை முடிவுக்கு இணைத்தோம். 2,5 வினாடிகளுக்குப் பதிலாக, கோரிக்கை 1,5 வினாடிகள் ஆகும். இது நன்றாக இருக்கிறது.
வடிப்பான்களை மீண்டும் எழுதுவது போன்ற ஒரு உதாரணம். இங்கே ரஷ்யாவிற்கு ஒரு வேண்டுகோள். இது 5 வினாடிகள் இயங்கும். நாம் அதை மீண்டும் ஒரு சரம் அல்ல, ஆனால் ரஷ்யாவுடன் தொடர்புடைய சில விசைகளுடன் எண்களை ஒப்பிடும் வகையில் அதை மீண்டும் எழுதினால், அது மிக வேகமாக இருக்கும்.
இதுபோன்ற பல தந்திரங்கள் உள்ளன. ஏற்கனவே வேகமாக இயங்குவதாக நீங்கள் நினைக்கும் வினவல்களை கணிசமாக விரைவுபடுத்த அவை உங்களை அனுமதிக்கின்றன, அல்லது மாறாக மெதுவாக இயங்குகின்றன. அவர்கள் இன்னும் வேகமாக செய்ய முடியும்.
- விநியோகிக்கப்பட்ட பயன்முறையில் அதிகபட்ச வேலை.
- நான் ints மூலம் செய்ததைப் போல, குறைந்தபட்ச வகைகளால் வரிசைப்படுத்துதல்.
- ஏதேனும் இணைப்புகள் (சேர்தல்), அகராதிகள் இருந்தால், அவற்றை கடைசி முயற்சியாகச் செய்வது நல்லது, உங்களிடம் ஏற்கனவே தரவு குறைந்தது ஓரளவு குழுவாக இருக்கும்போது, சேர்தல் செயல்பாடு அல்லது அகராதி அழைப்பு குறைந்த முறை அழைக்கப்படும், அது வேகமாக இருக்கும். .
- வடிகட்டிகளை மாற்றுதல்.
மற்ற நுட்பங்கள் உள்ளன, நான் நிரூபித்தவை மட்டுமல்ல. மேலும் அவை அனைத்தும் சில நேரங்களில் வினவல்களை செயல்படுத்துவதை கணிசமாக விரைவுபடுத்தும்.
அடுத்த உதாரணத்திற்கு செல்வோம். அமெரிக்காவிலிருந்து எக்ஸ் நிறுவனம். அவள் என்ன ெசய்கிறாள்?
ஒரு பணி இருந்தது:
- விளம்பர பரிவர்த்தனைகளின் ஆஃப்லைன் இணைப்பு.
- வெவ்வேறு பிணைப்பு மாதிரிகளை மாடலிங் செய்தல்.
காட்சி என்ன?
ஒரு சாதாரண பார்வையாளர் தளத்திற்கு வருகிறார், எடுத்துக்காட்டாக, வெவ்வேறு விளம்பரங்களிலிருந்து மாதத்திற்கு 20 முறை, அல்லது சில நேரங்களில் எந்த விளம்பரங்களும் இல்லாமல் வருகிறார், ஏனெனில் அவர் இந்த தளத்தை நினைவில் கொள்கிறார். சில பொருட்களைப் பார்த்து, கூடையில் வைத்து, கூடையிலிருந்து வெளியே எடுக்கிறார். மற்றும், இறுதியில், ஏதாவது வாங்குகிறது.
நியாயமான கேள்விகள்: "தேவைப்பட்டால், விளம்பரத்திற்கு யார் பணம் செலுத்த வேண்டும்?" மற்றும் "அவரை எந்த விளம்பரம் பாதித்தது, ஏதேனும் இருந்தால்?". அதாவது எதற்காக வாங்கினார், இவரைப் போன்றவர்களையும் வாங்க வைப்பது எப்படி?
இந்த சிக்கலை தீர்க்க, இணையதளத்தில் நிகழும் நிகழ்வுகளை சரியான முறையில் இணைக்க வேண்டும், அதாவது எப்படியாவது அவற்றுக்கிடையே இணைப்பை உருவாக்க வேண்டும். பின்னர் அவை DWH க்கு பகுப்பாய்வுக்காக அனுப்பப்படுகின்றன. இந்த பகுப்பாய்வின் அடிப்படையில், யார், என்ன விளம்பரங்களைக் காட்ட வேண்டும் என்பதற்கான மாதிரிகளை உருவாக்கவும்.
விளம்பர பரிவர்த்தனை என்பது ஒரு விளம்பரத்தைக் காண்பிப்பதில் இருந்து தொடங்கும் தொடர்புடைய பயனர் நிகழ்வுகளின் தொகுப்பாகும், பின்னர் ஏதாவது நடக்கும், பின்னர் வாங்கலாம், பின்னர் வாங்குதலுக்குள் வாங்குதல்கள் இருக்கலாம். எடுத்துக்காட்டாக, இது ஒரு மொபைல் பயன்பாடு அல்லது மொபைல் கேம் என்றால், வழக்கமாக பயன்பாட்டின் நிறுவல் இலவசமாக நடைபெறுகிறது, மேலும் அங்கு ஏதாவது செய்தால், இதற்கு பணம் தேவைப்படலாம். ஒரு நபர் பயன்பாட்டில் எவ்வளவு அதிகமாகச் செலவிடுகிறாரோ, அவ்வளவு மதிப்புமிக்கதாக இருக்கும். ஆனால் இதற்காக நீங்கள் எல்லாவற்றையும் இணைக்க வேண்டும்.
பல பிணைப்பு மாதிரிகள் உள்ளன.
மிகவும் பிரபலமானவை:
- கடைசி தொடர்பு, இதில் தொடர்பு என்பது ஒரு கிளிக் அல்லது இம்ப்ரெஷன்.
- முதல் தொடர்பு, அதாவது ஒரு நபரை தளத்திற்கு அழைத்து வந்த முதல் விஷயம்.
- நேரியல் கலவை - அனைத்தும் சமமாக.
- தணிவு.
- மற்றும் பல.
அது எப்படி முதலில் வேலை செய்தது? இயக்க நேரம் மற்றும் கசாண்ட்ரா இருந்தது. கசாண்ட்ரா பரிவர்த்தனை சேமிப்பகமாக பயன்படுத்தப்பட்டது, அதாவது தொடர்புடைய அனைத்து பரிவர்த்தனைகளும் அதில் சேமிக்கப்பட்டன. சில நிகழ்வுகள் இயக்க நேரத்தில் வரும்போது, எடுத்துக்காட்டாக, சில பக்கம் அல்லது வேறு ஏதாவது காட்டினால், கசாண்ட்ராவிடம் ஒரு வேண்டுகோள் விடுக்கப்பட்டது - அப்படி ஒருவர் இருக்கிறாரா இல்லையா. பின்னர் அது தொடர்பான பரிவர்த்தனைகள் பெறப்பட்டன. மற்றும் இணைப்பு செய்யப்பட்டது.
கோரிக்கையில் பரிவர்த்தனை ஐடி இருப்பது அதிர்ஷ்டம் என்றால், அது எளிதானது. ஆனால் பொதுவாக அதிர்ஷ்டம் இல்லை. எனவே, கடைசி பரிவர்த்தனை அல்லது கடைசி கிளிக் மூலம் பரிவர்த்தனை போன்றவற்றைக் கண்டறிய வேண்டியது அவசியம்.
பிணைப்பு கடைசி கிளிக் வரை இருக்கும் வரை அனைத்தும் நன்றாக வேலை செய்தன. ஏனென்றால், ஒரு மாதத்திற்கு ஒரு சாளரத்தை அமைத்தால், ஒரு நாளைக்கு 10 மில்லியன் கிளிக்குகள் உள்ளன, மாதத்திற்கு 300 மில்லியன். மேலும் கசாண்ட்ராவில் வேகமாக இயங்குவதற்கு இது அனைத்தும் நினைவகத்தில் இருக்க வேண்டும், ஏனெனில் இயக்க நேரம் விரைவாக பதிலளிக்க வேண்டும், இது சுமார் 10-15 சேவையகங்களை எடுத்தது.
அவர்கள் ஒரு பரிவர்த்தனையை காட்சியுடன் இணைக்க விரும்பியபோது, அது உடனடியாக வேடிக்கையாக இல்லை. மேலும் ஏன்? 30 மடங்கு அதிகமான நிகழ்வுகள் சேமிக்கப்பட வேண்டும் என்பதைக் காணலாம். மேலும், அதன்படி, உங்களுக்கு 30 மடங்கு அதிகமான சர்வர்கள் தேவை. இது ஒருவித வானியல் உருவம் என்று மாறிவிடும். இயக்க நேரத்தில் கணிசமாக குறைவான சேவையகங்கள் இருந்தாலும், இணைப்பைச் செய்ய 500 சேவையகங்கள் வரை வைத்திருக்க, இது ஒருவித தவறான எண்ணிக்கை. மேலும் என்ன செய்வது என்று யோசிக்க ஆரம்பித்தார்கள்.
நாங்கள் கிளிக்ஹவுஸுக்குச் சென்றோம். கிளிக்ஹவுஸில் அதை எப்படி செய்வது? முதல் பார்வையில், இது எதிர்ப்பு வடிவங்களின் தொகுப்பு என்று தெரிகிறது.
- பரிவர்த்தனை அதிகரிக்கிறது, மேலும் மேலும் நிகழ்வுகளை அதனுடன் இணைக்கிறோம், அதாவது இது மாறக்கூடியது, மேலும் கிளிக்ஹவுஸ் மாறக்கூடிய பொருட்களுடன் நன்றாக வேலை செய்யாது.
- ஒரு பார்வையாளர் எங்களிடம் வரும்போது, அவரது விசிட் ஐடி மூலம் அவரது பரிவர்த்தனைகளை நாம் எடுக்க வேண்டும். இதுவும் ஒரு புள்ளி வினவல், அவர்கள் அதை கிளிக்ஹவுஸில் செய்ய மாட்டார்கள். பொதுவாக ClickHouse பெரிய …ஸ்கேன்களைக் கொண்டுள்ளது, ஆனால் இங்கே நாம் சில பதிவுகளைப் பெற வேண்டும். எதிர்ப்பு வடிவமும் கூட.
- கூடுதலாக, பரிவர்த்தனை json இல் இருந்தது, ஆனால் அவர்கள் அதை மீண்டும் எழுத விரும்பவில்லை, எனவே அவர்கள் json ஐ கட்டமைக்கப்படாத முறையில் சேமிக்க விரும்பினர், தேவைப்பட்டால், அதிலிருந்து ஏதாவது ஒன்றை வெளியே இழுக்கவும். மேலும் இதுவும் ஒரு எதிர் வடிவமாகும்.
அதாவது, எதிர்ப்பு வடிவங்களின் தொகுப்பு.
ஆயினும்கூட, அது நன்றாக வேலை செய்யும் ஒரு அமைப்பை உருவாக்கியது.
என்ன செய்யப்பட்டது? கிளிக்ஹவுஸ் தோன்றியது, அதில் பதிவுகள் எறியப்பட்டு, பதிவுகளாக பிரிக்கப்பட்டன. கிளிக்ஹவுஸிலிருந்து பதிவுகளைப் பெற்ற ஒரு பண்புக்கூறு சேவை தோன்றியது. அதன் பிறகு, ஒவ்வொரு நுழைவுக்கும், விசிட் ஐடி மூலம், இதுவரை செயலாக்கப்படாத பரிவர்த்தனைகள் மற்றும் ஸ்னாப்ஷாட்கள், அதாவது ஏற்கனவே இணைக்கப்பட்ட பரிவர்த்தனைகள், அதாவது முந்தைய வேலையின் முடிவு. நான் ஏற்கனவே அவற்றிலிருந்து தர்க்கத்தை உருவாக்கினேன், சரியான பரிவர்த்தனையைத் தேர்ந்தெடுத்தேன், புதிய நிகழ்வுகளை இணைத்துள்ளேன். மீண்டும் உள்நுழைந்தேன். பதிவு மீண்டும் கிளிக்ஹவுஸுக்குச் சென்றது, அதாவது இது ஒரு நிலையான சுழற்சி அமைப்பாகும். தவிர, நான் DWH க்கு சென்று அதை பகுப்பாய்வு செய்ய சென்றேன்.
இந்த வடிவத்தில் அது நன்றாக வேலை செய்யவில்லை. கிளிக்ஹவுஸை எளிதாக்க, விசிட் ஐடி மூலம் கோரிக்கை வந்தபோது, அவர்கள் இந்தக் கோரிக்கைகளை 1-000 விசிட் ஐடிகளின் தொகுதிகளாகப் பிரித்து, 2-000 நபர்களுக்கான அனைத்து பரிவர்த்தனைகளையும் இழுத்தனர். பின்னர் அது வேலை செய்தது.
நீங்கள் ClickHouse இன் உள்ளே பார்த்தால், இவை அனைத்தையும் வழங்கும் 3 முக்கிய அட்டவணைகள் மட்டுமே உள்ளன.
பதிவுகள் பதிவேற்றப்படும் முதல் அட்டவணை, மற்றும் பதிவுகள் செயலாக்கம் இல்லாமல் பதிவேற்றப்படும்.
இரண்டாவது அட்டவணை. பொருள்படுத்தப்பட்ட பார்வையின் மூலம், இதுவரை கூறப்படாத நிகழ்வுகள், அதாவது தொடர்பில்லாதவை, இந்த பதிவுகளில் இருந்து கடிக்கப்பட்டன. மற்றும் பொருளடக்கம் செய்யப்பட்ட பார்வை மூலம், ஒரு ஸ்னாப்ஷாட்டை உருவாக்க இந்த பதிவுகளிலிருந்து பரிவர்த்தனைகள் வெளியேற்றப்பட்டன. அதாவது, ஒரு ஸ்னாப்ஷாட்டை உருவாக்கியது, அதாவது பரிவர்த்தனையின் கடைசியாக திரட்டப்பட்ட நிலை.
SQL இல் எழுதப்பட்ட உரை இங்கே. அதில் சில முக்கியமான விஷயங்களைப் பற்றிக் கூற விரும்புகிறேன்.
கிளிக்ஹவுஸில் உள்ள json இலிருந்து நெடுவரிசைகள் மற்றும் புலங்களை வெளியேற்றும் திறன் முதல் முக்கியமான விஷயம். அதாவது, கிளிக்ஹவுஸ் json உடன் பணிபுரிய சில முறைகளைக் கொண்டுள்ளது. அவை மிக மிக பழமையானவை.
visitParamExtractInt ஆனது json இலிருந்து பண்புகளை பிரித்தெடுக்க உங்களை அனுமதிக்கிறது, அதாவது முதல் வெற்றி படைப்புகள். இந்த வழியில் நீங்கள் பரிவர்த்தனை ஐடியை வெளியே எடுக்கலாம் அல்லது ஐடியைப் பார்வையிடலாம். இந்த முறை.
இரண்டாவதாக, ஒரு தந்திரமான பொருள்மயமாக்கப்பட்ட புலம் இங்கே பயன்படுத்தப்படுகிறது. இதற்கு என்ன அர்த்தம்? இதன் பொருள் நீங்கள் அதை அட்டவணையில் செருக முடியாது, அதாவது அது செருகப்படவில்லை, அது கணக்கிடப்பட்டு செருகப்பட்டவுடன் சேமிக்கப்படும். ஒட்டும்போது, கிளிக்ஹவுஸ் உங்களுக்காக வேலை செய்கிறது. பின்னர் உங்களுக்கு தேவையானது ஏற்கனவே json இலிருந்து வெளியேற்றப்பட்டது.
இந்த வழக்கில், மூல வரிசைகளுக்கான பொருள் பார்வை. நடைமுறையில் மூல பதிவுகள் கொண்ட முதல் அட்டவணை இப்போது பயன்படுத்தப்படுகிறது. மேலும் அவர் என்ன செய்கிறார்? முதலாவதாக, இது வரிசையாக்கத்தை மாற்றுகிறது, அதாவது இப்போது வரிசைப்படுத்துவது விசிட் ஐடி மூலம் செல்கிறது, ஏனெனில் ஒரு குறிப்பிட்ட நபருக்கான அவரது பரிவர்த்தனையை நாம் விரைவாக எடுக்க வேண்டும்.
இரண்டாவது முக்கியமான விஷயம் index_granularity. நீங்கள் MergeTree ஐப் பார்த்திருந்தால், அது வழக்கமாக 8 இன்டெக்ஸ்_கிரானுலாரிட்டியில் இருக்கும். அது என்ன? இது குறியீட்டு அரிதான அளவுரு ஆகும். ClickHouse இல் குறியீடு குறைவாக உள்ளது, அது ஒவ்வொரு உள்ளீட்டையும் குறியிடாது. ஒவ்வொரு 192 க்கும் இது செய்கிறது. மேலும் நிறைய தரவுகள் கணக்கிடப்பட வேண்டியிருக்கும் போது இது நல்லது, ஆனால் சிறியதாக இருக்கும் போது மோசமானது, ஏனெனில் பெரிய மேல்நிலை உள்ளது. நாம் குறியீட்டு கிரானுலாரிட்டியைக் குறைத்தால், மேல்நிலையைக் குறைக்கிறோம். போதுமான நினைவகம் இல்லாததால், அதை ஒன்றாகக் குறைக்க முடியாது. குறியீடு எப்போதும் நினைவகத்தில் சேமிக்கப்படுகிறது.
ஸ்னாப்ஷாட் வேறு சில சுவாரஸ்யமான ClickHouse அம்சங்களையும் பயன்படுத்துகிறது.
முதலில், இது AggregatingMergeTree ஆகும். மற்றும் AggregatingMergeTree argMax ஐ சேமிக்கிறது, அதாவது இது கடைசி நேர முத்திரையுடன் தொடர்புடைய பரிவர்த்தனையின் நிலை. கொடுக்கப்பட்ட பார்வையாளருக்கு எல்லா நேரத்திலும் பரிவர்த்தனைகள் உருவாக்கப்படுகின்றன. இந்த பரிவர்த்தனையின் கடைசி நிலையில், நாங்கள் ஒரு நிகழ்வைச் சேர்த்துள்ளோம், மேலும் எங்களுக்கு ஒரு புதிய நிலை உள்ளது. அது மீண்டும் கிளிக்ஹவுஸைத் தாக்கியது. இந்த மெட்டீரியல் பார்வையில் argMax மூலம், நாம் எப்போதும் தற்போதைய நிலையைப் பெறலாம்.
- பிணைப்பு இயக்க நேரத்திலிருந்து "துண்டிக்கப்பட்டது".
- மாதத்திற்கு 3 பில்லியன் பரிவர்த்தனைகள் வரை சேமிக்கப்பட்டு செயலாக்கப்படும். இது கசாண்ட்ராவில் இருந்ததை விட, அதாவது ஒரு வழக்கமான பரிவர்த்தனை அமைப்பில் இருந்ததை விட அதிக அளவு வரிசையாகும்.
- 2x5 கிளிக்ஹவுஸ் சேவையகங்களின் தொகுப்பு. 5 சேவையகங்கள் மற்றும் ஒவ்வொரு சேவையகமும் ஒரு பிரதி உள்ளது. க்ளிக் அடிப்படையிலான பண்புக்கூறுகளைச் செய்வதற்காக இது கசாண்ட்ராவில் இருந்ததை விடவும் குறைவாக உள்ளது, மேலும் இங்கே இம்ப்ரெஷன் அடிப்படையிலானது. அதாவது, சேவையகங்களின் எண்ணிக்கையை 30 மடங்கு அதிகரிப்பதற்குப் பதிலாக, அவற்றைக் குறைக்க முடிந்தது.
கடைசி உதாரணம் நிதி நிறுவனம் Y, இது பங்கு விலைகளில் ஏற்படும் மாற்றங்களின் தொடர்புகளை பகுப்பாய்வு செய்தது.
மற்றும் பணி இருந்தது:
- தோராயமாக 5 பங்குகள் உள்ளன.
- ஒவ்வொரு 100 மில்லி விநாடிகளிலும் மேற்கோள்கள் தெரியும்.
- தரவு 10 ஆண்டுகளில் திரட்டப்பட்டது. வெளிப்படையாக, சில நிறுவனங்களுக்கு அதிகம், சிலருக்கு குறைவாக.
- மொத்தம் சுமார் 100 பில்லியன் வரிசைகள் உள்ளன.
மாற்றங்களின் தொடர்பைக் கணக்கிடுவது அவசியம்.
இங்கே இரண்டு பங்குகள் மற்றும் அவற்றின் மேற்கோள்கள் உள்ளன. ஒன்று மேலே சென்றால் மற்றொன்று மேலே சென்றால், இது ஒரு நேர்மறையான தொடர்பு, அதாவது ஒன்று மேலே செல்கிறது, மற்றொன்று மேலே செல்கிறது. வரைபடத்தின் முடிவில் ஒன்று மேலே சென்றால், மற்றொன்று கீழே சென்றால், இது எதிர்மறையான தொடர்பு, அதாவது ஒன்று உயரும் போது மற்றொன்று விழும்.
இந்த பரஸ்பர மாற்றங்களை பகுப்பாய்வு செய்வதன் மூலம், நிதிச் சந்தையில் ஒருவர் கணிக்க முடியும்.
ஆனால் பணி கடினமானது. இதற்கு என்ன செய்யப்படுகிறது? எங்களிடம் 100 பில்லியன் பதிவுகள் உள்ளன: நேரம், பங்கு மற்றும் விலை. விலை அல்காரிதத்திலிருந்து இயங்கும் வித்தியாசத்தின் முதல் 100 பில்லியன் மடங்குகளை நாம் கணக்கிட வேண்டும். RunningDifference என்பது ClickHouse இல் உள்ள ஒரு செயல்பாடாகும், இது இரண்டு சரங்களுக்கு இடையிலான வேறுபாட்டை தொடர்ச்சியாக கணக்கிடுகிறது.
அதன் பிறகு, நீங்கள் தொடர்பைக் கணக்கிட வேண்டும், மேலும் ஒவ்வொரு ஜோடிக்கும் தொடர்பு கணக்கிடப்பட வேண்டும். 5 பங்குகளுக்கு, ஜோடிகள் 000 மில்லியன். இது நிறைய உள்ளது, அதாவது 12,5 மடங்கு இதுபோன்ற ஒரு தொடர்பு செயல்பாட்டைக் கணக்கிடுவது அவசியம்.
யாராவது மறந்துவிட்டால், ͞x மற்றும் ͞y ஒரு செக்மேட். மாதிரி எதிர்பார்ப்பு. அதாவது, வேர்கள் மற்றும் தொகைகளைக் கணக்கிடுவது மட்டுமல்லாமல், இந்தத் தொகைகளுக்குள் மேலும் ஒரு தொகையையும் கணக்கிடுவது அவசியம். ஒரு சில கணக்கீடுகள் 12,5 மில்லியன் முறை செய்யப்பட வேண்டும், மேலும் மணிக்கணக்கில் கூட தொகுக்க வேண்டும். எங்களுக்கும் நிறைய மணி நேரம் இருக்கிறது. நீங்கள் அதை 60 வினாடிகளில் செய்ய வேண்டும். இது நகைச்சுவைக்குரியது.
குறைந்தபட்சம் எப்படியாவது நேரம் இருப்பது அவசியம், ஏனென்றால் கிளிக்ஹவுஸ் வருவதற்கு முன்பு இவை அனைத்தும் மிக மிக மெதுவாக வேலை செய்தன.
அவர்கள் அதை ஹடூப்பில், ஸ்பார்க்கில், கிரீன்பிளமில் கணக்கிட முயன்றனர். இவை அனைத்தும் மிகவும் மெதுவாக அல்லது விலை உயர்ந்தவை. அதாவது, எப்படியாவது கணக்கிட முடிந்தது, ஆனால் அது விலை உயர்ந்தது.
பின்னர் கிளிக்ஹவுஸ் வந்தது மற்றும் விஷயங்கள் மிகவும் சிறப்பாக இருந்தன.
தரவு வட்டாரத்தில் எங்களுக்கு சிக்கல் உள்ளது என்பதை நினைவூட்டுகிறேன், ஏனெனில் தொடர்புகளை உள்ளூர்மயமாக்க முடியாது. சில தரவை ஒரு சர்வரிலும், சிலவற்றை மற்றொன்றிலும் வைத்து கணக்கிட முடியாது, எல்லா இடங்களிலும் எல்லா தரவும் இருக்க வேண்டும்.
அவர்கள் என்ன செய்தார்கள்? ஆரம்பத்தில், தரவு உள்ளூர்மயமாக்கப்பட்டது. ஒவ்வொரு சேவையகமும் ஒரு குறிப்பிட்ட பங்குகளின் விலையில் தரவைச் சேமிக்கிறது. மேலும் அவை ஒன்றுடன் ஒன்று சேராது. எனவே, logReturn ஐ இணையாகவும் சுயாதீனமாகவும் கணக்கிட முடியும், இவை அனைத்தும் இதுவரை இணையாகவும் விநியோகிக்கப்படுகின்றன.
வெளிப்படுத்தும் தன்மையை இழக்காமல், இந்தத் தரவைக் குறைக்க முடிவு செய்தோம். வரிசைகளைப் பயன்படுத்துவதைக் குறைக்கவும், அதாவது ஒவ்வொரு காலத்திற்கும், பங்குகளின் வரிசையையும் விலைகளின் வரிசையையும் உருவாக்கவும். எனவே, இது மிகக் குறைவான டேட்டா இடத்தையே எடுக்கும். மேலும் அவர்கள் வேலை செய்வது சற்று எளிதாக இருக்கும். இவை ஏறக்குறைய இணையான செயல்பாடுகள், அதாவது நாம் ஓரளவு இணையாகப் படித்து பின்னர் சேவையகத்திற்கு எழுதுகிறோம்.
அதன் பிறகு, அதை மீண்டும் செய்யலாம். "r" என்ற எழுத்து இந்த தரவை நாங்கள் பிரதியெடுத்தோம் என்று அர்த்தம். அதாவது, மூன்று சேவையகங்களிலும் எங்களிடம் ஒரே தரவு உள்ளது - இவை வரிசைகள்.
பின்னர் கணக்கிடப்பட வேண்டிய 12,5 மில்லியன் தொடர்புகளின் இந்த தொகுப்பிலிருந்து ஒரு சிறப்பு ஸ்கிரிப்ட் மூலம், நீங்கள் தொகுப்புகளை உருவாக்கலாம். அதாவது, 2 ஜோடி தொடர்புகளுடன் 500 பணிகள். இந்த பணியானது ஒரு குறிப்பிட்ட ClickHouse சர்வரில் கணக்கிடப்பட வேண்டும். எல்லா தரவும் அவரிடம் உள்ளது, ஏனெனில் தரவு ஒரே மாதிரியாக இருப்பதால், அவர் அவற்றை வரிசையாக கணக்கிட முடியும்.
மீண்டும் ஒருமுறை இப்படித்தான் தெரிகிறது. முதலில், இந்த கட்டமைப்பில் உள்ள எல்லா தரவையும் எங்களிடம் உள்ளது: நேரம், பங்குகள், விலை. logReturn ஐக் கணக்கிட்டோம், அதாவது அதே கட்டமைப்பின் தரவு, ஆனால் விலைக்கு பதிலாக ஏற்கனவே logReturn உள்ளது. பின்னர் அவை மீண்டும் செய்யப்பட்டன, அதாவது பங்குகள் மற்றும் விலைகளுக்கான நேரத்தையும் குழுவரிசையையும் பெற்றோம். பெருக்கப்பட்டது. அதன் பிறகு, நாங்கள் பல பணிகளை உருவாக்கி, அவற்றை கிளிக்ஹவுஸுக்கு வழங்கினோம், அது அவற்றைக் கணக்கிடும். அது வேலை செய்கிறது.
கருத்தின் ஆதாரத்தில், பணி ஒரு துணைப் பணியாக இருந்தது, அதாவது, குறைவான தரவு எடுக்கப்பட்டது. மற்றும் மூன்று சேவையகங்கள் மட்டுமே.
இந்த முதல் இரண்டு நிலைகள்: Log_returnஐக் கணக்கிடுவது மற்றும் வரிசைகளில் மடக்குவது சுமார் ஒரு மணிநேரம் ஆகும்.
மற்றும் தொடர்பு கணக்கீடு சுமார் 50 மணி நேரம் ஆகும். ஆனால் 50 மணிநேரம் போதாது, ஏனென்றால் அவர்கள் வாரக்கணக்கில் வேலை செய்கிறார்கள். இது ஒரு பெரிய வெற்றி. நீங்கள் எண்ணினால், வினாடிக்கு 70 முறை எல்லாம் இந்த கிளஸ்டரில் கணக்கிடப்படும்.
ஆனால் மிக முக்கியமான விஷயம் என்னவென்றால், இந்த அமைப்பு நடைமுறையில் தடைகள் இல்லாமல் உள்ளது, அதாவது, இது கிட்டத்தட்ட நேர்கோட்டில் அளவிடப்படுகிறது. அவர்கள் அதை சரிபார்த்தனர். அது வெற்றிகரமாக அளவிடப்பட்டது.
- சரியான திட்டம் பாதி போரில் உள்ளது. தேவையான அனைத்து ClickHouse தொழில்நுட்பங்களையும் பயன்படுத்துவது சரியான திட்டமாகும்.
- Summing/aggregatingMergeTrees என்பது ஸ்டேட் ஸ்னாப்ஷாட்டை ஒரு சிறப்பு நிகழ்வாக ஒருங்கிணைக்க அல்லது கருத்தில் கொள்ள உங்களை அனுமதிக்கும் தொழில்நுட்பங்கள். மேலும் இது நிறைய விஷயங்களை எளிதாக்குகிறது.
- மெட்டீரியலைஸ் செய்யப்பட்ட பார்வைகள் ஒரு குறியீட்டு வரம்பை மீற உங்களை அனுமதிக்கின்றன. ஒருவேளை நான் அதை மிகத் தெளிவாகச் சொல்லவில்லை, ஆனால் நாங்கள் பதிவுகளை ஏற்றும்போது, மூலப் பதிவுகள் ஒரு குறியீட்டுடன் அட்டவணையில் இருந்தன, மேலும் பண்புக்கூறு பதிவுகள் அட்டவணையில் இருந்தன, அதாவது அதே தரவு, வடிகட்டப்பட்டது, ஆனால் குறியீட்டு முற்றிலும் இருந்தது. மற்றவைகள். இது ஒரே தரவு, ஆனால் வெவ்வேறு வரிசைப்படுத்தல். உங்களுக்குத் தேவைப்பட்டால், அத்தகைய ClickHouse வரம்பைத் தவிர்க்க, மெட்டீரியலைஸ்டு வியூஸ் உங்களை அனுமதிக்கிறது.
- புள்ளி வினவல்களுக்கு இண்டெக்ஸ் கிரானுலாரிட்டியை குறைக்கவும்.
- மேலும் தரவை புத்திசாலித்தனமாக விநியோகிக்கவும், முடிந்தவரை சேவையகத்திற்குள் தரவை உள்ளூர்மயமாக்க முயற்சிக்கவும். மேலும் கோரிக்கைகள் முடிந்தவரை உள்ளூர்மயமாக்கலைப் பயன்படுத்துவதை உறுதிசெய்ய முயற்சிக்கவும்.
இந்த குறுகிய உரையை சுருக்கமாக, கிளிக்ஹவுஸ் இப்போது வணிக தரவுத்தளங்கள் மற்றும் திறந்த மூல தரவுத்தளங்கள் இரண்டின் பிரதேசத்தையும் உறுதியாக ஆக்கிரமித்துள்ளது, அதாவது குறிப்பாக பகுப்பாய்வுக்காக. அவர் இந்த நிலப்பரப்பில் சரியாக பொருந்துகிறார். மேலும் என்னவென்றால், இது மெதுவாக மற்றவர்களை வெளியேற்றத் தொடங்குகிறது, ஏனென்றால் உங்களிடம் கிளிக்ஹவுஸ் இருக்கும்போது, உங்களுக்கு InfiniDB தேவையில்லை. சாதாரண SQL ஆதரவை உருவாக்கினால், Vertika விரைவில் தேவைப்படாது. மகிழுங்கள்!
-அறிக்கைக்கு நன்றி! மிகவும் சுவாரஸ்யமானது! அப்பாச்சி பீனிக்ஸ் உடன் ஏதேனும் ஒப்பீடுகள் உள்ளதா?
இல்லை, யாரையும் ஒப்பிடுவதை நான் கேட்கவில்லை. நாங்களும் யாண்டெக்ஸும் வெவ்வேறு தரவுத்தளங்களுடன் அனைத்து ClickHouse ஒப்பீடுகளையும் கண்காணிக்க முயற்சிக்கிறோம். ஏனென்றால், திடீரென்று ஏதாவது கிளிக்ஹவுஸை விட வேகமாக மாறினால், லெஷா மிலோவிடோவ் இரவில் தூங்க முடியாது, அதை விரைவாக விரைவுபடுத்தத் தொடங்குகிறார். அப்படி ஒரு ஒப்பீடு பற்றி நான் கேள்விப்பட்டதே இல்லை.
-
(Aleksey Milovidov) Apache Phoenix என்பது Hbase மூலம் இயக்கப்படும் SQL இன்ஜின் ஆகும். Hbase முக்கியமாக முக்கிய-மதிப்பு வேலை சூழ்நிலைக்கானது. அங்கு, ஒவ்வொரு வரியிலும், தன்னிச்சையான பெயர்களுடன் தன்னிச்சையான எண்ணிக்கையிலான நெடுவரிசைகள் இருக்கலாம். Hbase, Cassandra போன்ற அமைப்புகளைப் பற்றி இதைச் சொல்லலாம். மேலும் இது துல்லியமாக கடுமையான பகுப்பாய்வு வினவல்கள் அவர்களுக்கு பொதுவாக வேலை செய்யாது. அல்லது ClickHouse உடன் உங்களுக்கு எந்த அனுபவமும் இல்லை என்றால் அவை நன்றாக வேலை செய்யும் என்று நீங்கள் நினைக்கலாம்.
-
Спасибо
-
மதிய வணக்கம் நான் ஏற்கனவே இந்த தலைப்பில் மிகவும் ஆர்வமாக உள்ளேன், ஏனென்றால் என்னிடம் ஒரு பகுப்பாய்வு துணை அமைப்பு உள்ளது. ஆனால் நான் ClickHouse ஐப் பார்க்கும்போது, கிளிக்ஹவுஸ் நிகழ்வு பகுப்பாய்விற்கு மிகவும் பொருத்தமானது, மாறக்கூடியது என்ற உணர்வை நான் பெறுகிறேன். பெரிய அட்டவணைகள் கொண்ட பல வணிகத் தரவை நான் பகுப்பாய்வு செய்ய வேண்டும் என்றால், கிளிக்ஹவுஸ், நான் புரிந்து கொண்டவரை, எனக்கு மிகவும் பொருத்தமானது அல்லவா? குறிப்பாக அவர்கள் மாறினால். இது சரியா அல்லது இதை மறுக்கக்கூடிய உதாரணங்கள் உள்ளதா?
-
இது சரிதான். மேலும் இது மிகவும் சிறப்பு வாய்ந்த பகுப்பாய்வு தரவுத்தளங்களில் உண்மை. ஒன்று அல்லது அதற்கு மேற்பட்ட பெரிய அட்டவணைகள் மாறக்கூடியவை மற்றும் மெதுவாக மாறும் பல சிறிய அட்டவணைகள் உள்ளன என்பதற்காக அவை வடிவமைக்கப்பட்டுள்ளன. அதாவது, ClickHouse ஆரக்கிள் போன்றது அல்ல, அங்கு நீங்கள் எல்லாவற்றையும் வைத்து மிகவும் சிக்கலான வினவல்களை உருவாக்கலாம். ClickHouse ஐ திறம்பட பயன்படுத்த, ClickHouse இல் சிறப்பாக செயல்படும் வகையில் ஒரு திட்டத்தை உருவாக்க வேண்டும். அதாவது, அதிகப்படியான இயல்பாக்கத்தைத் தவிர்க்கவும், அகராதிகளைப் பயன்படுத்தவும், குறைவான நீண்ட இணைப்புகளை உருவாக்க முயற்சிக்கவும். திட்டம் இந்த வழியில் கட்டமைக்கப்பட்டால், பாரம்பரிய தொடர்புடைய தரவுத்தளத்தை விட கிளிக்ஹவுஸில் இதே போன்ற வணிகப் பணிகளை மிகவும் திறமையாக தீர்க்க முடியும்.
-
அறிக்கைக்கு நன்றி! சமீபத்திய நிதி வழக்கு பற்றி எனக்கு ஒரு கேள்வி உள்ளது. அவர்களிடம் பகுப்பாய்வு இருந்தது. அவை எப்படி ஏறி இறங்குகின்றன என்பதை ஒப்பிட்டுப் பார்ப்பது அவசியம். இந்த பகுப்பாய்விற்காக நீங்கள் சிஸ்டத்தை உருவாக்கியுள்ளீர்கள் என்பதை நான் புரிந்துகொள்கிறேன்? நாளை, எடுத்துக்காட்டாக, இந்தத் தரவு குறித்த வேறு ஏதேனும் அறிக்கை அவர்களுக்குத் தேவைப்பட்டால், அவர்கள் ஸ்கீமாவை மீண்டும் உருவாக்கி தரவைப் பதிவேற்ற வேண்டுமா? அதாவது, கோரிக்கையைப் பெறுவதற்கு ஒருவித முன்செயலாக்கத்தைச் செய்ய வேண்டுமா?
நிச்சயமாக, இது ஒரு குறிப்பிட்ட பணிக்கான ClickHouse இன் பயன்பாடாகும். இது மிகவும் பாரம்பரியமாக ஹடூப்பில் தீர்க்கப்படலாம். ஹடூப்பைப் பொறுத்தவரை, இது ஒரு சிறந்த பணி. ஆனால் ஹடூப்பில் இது மிகவும் மெதுவாக உள்ளது. கிளிக்ஹவுஸ் பொதுவாக முற்றிலும் மாறுபட்ட வழிகளில் தீர்க்கப்படும் பணிகளை தீர்க்க முடியும் என்பதை நிரூபிப்பதே எனது குறிக்கோள், ஆனால் அதே நேரத்தில் அதை மிகவும் திறமையாகச் செய்யுங்கள். இது ஒரு குறிப்பிட்ட பணிக்காக வடிவமைக்கப்பட்டுள்ளது. இதேபோன்று ஏதாவது பிரச்சனை இருந்தால், அதை இதே வழியில் தீர்க்க முடியும் என்பது தெளிவாகிறது.
தெளிவாக உள்ளது. 50 மணிநேரம் செயலாக்கப்பட்டது என்று சொன்னீர்கள். ஆரம்பத்தில் இருந்தே, நீங்கள் எப்போது தரவை ஏற்றினீர்கள் அல்லது முடிவுகளைப் பெற்றீர்கள்?
ஆம் ஆம்.
சரி மிக்க நன்றி.
இது 3 சர்வர் கிளஸ்டரில் உள்ளது.
வாழ்த்துக்கள்! அறிக்கைக்கு நன்றி! எல்லாம் மிகவும் சுவாரஸ்யமானது. செயல்பாட்டைப் பற்றி நான் கொஞ்சம் கேட்க மாட்டேன், ஆனால் ஸ்திரத்தன்மையின் அடிப்படையில் கிளிக்ஹவுஸின் பயன்பாடு பற்றி. அதாவது, உங்களிடம் ஏதேனும் இருந்ததா, மீட்டெடுக்க வேண்டுமா? இந்த வழக்கில் ClickHouse எவ்வாறு செயல்படுகிறது? மேலும் உங்களிடம் ஒரு பிரதி இருந்தது நடந்ததா? எடுத்துக்காட்டாக, கிளிக்ஹவுஸ் அதன் வரம்பைத் தாண்டிச் சென்று விழும்போது நாங்கள் சிக்கலை எதிர்கொண்டோம்.
நிச்சயமாக, சிறந்த அமைப்புகள் எதுவும் இல்லை. மேலும் கிளிக்ஹவுஸுக்கும் அதன் சொந்த பிரச்சனைகள் உள்ளன. ஆனால் Yandex.Metrica நீண்ட காலமாக வேலை செய்யாததைப் பற்றி நீங்கள் கேள்விப்பட்டிருக்கிறீர்களா? அநேகமாக இல்லை. இது ClickHouse இல் 2012-2013 முதல் நம்பகத்தன்மையுடன் செயல்படுகிறது. எனது அனுபவத்தைப் பற்றியும் அதையே சொல்ல முடியும். நாங்கள் ஒருபோதும் முழுமையான தோல்விகளை சந்தித்ததில்லை. சில பகுதி விஷயங்கள் நடக்கலாம், ஆனால் அவை வணிகத்தை தீவிரமாக பாதிக்கும் அளவுக்கு ஒருபோதும் முக்கியமானதாக இல்லை. அது நடக்கவே இல்லை. ClickHouse மிகவும் நம்பகமானது மற்றும் தோராயமாக செயலிழக்காது. நீங்கள் அதை பற்றி கவலைப்பட வேண்டாம். இது ஒரு மூல விஷயம் அல்ல. இதை பல நிறுவனங்கள் நிரூபித்துள்ளன.
வணக்கம்! டேட்டா ஸ்கீமாவை உடனே யோசிக்க வேண்டும் என்று சொன்னீர்கள். நடந்தால் என்ன? என் தரவுகள் கொட்டிக் கிடக்கின்றன. ஆறு மாதங்கள் கடந்துவிட்டன, இப்படி வாழ்வது சாத்தியமற்றது என்பதை நான் புரிந்துகொள்கிறேன், நான் தரவை மீண்டும் பதிவேற்றி, அவர்களுடன் ஏதாவது செய்ய வேண்டும்.
இது நிச்சயமாக உங்கள் கணினியைப் பொறுத்தது. எந்த நிறுத்தமும் இல்லாமல் இதைச் செய்ய பல வழிகள் உள்ளன. எடுத்துக்காட்டாக, நீங்கள் ஒரு மெட்டீரியலைஸ்டு காட்சியை உருவாக்கலாம், அதில் தனித்துவமாக மேப் செய்யப்பட்டால், வேறு தரவு கட்டமைப்பை உருவாக்கலாம். அதாவது, கிளிக்ஹவுஸைப் பயன்படுத்தி மேப்பிங்கை அனுமதித்தால், அதாவது சில விஷயங்களைப் பிரித்தெடுத்தல், முதன்மை விசையை மாற்றுதல், பகிர்வை மாற்றுதல், பிறகு நீங்கள் ஒரு மெட்டீரியலைஸ்டு காட்சியை உருவாக்கலாம். உங்கள் பழைய தரவை மேலெழுதவும், புதியவை தானாக எழுதப்படும். பின்னர் மெட்டீரியலைஸ்டு வியூவைப் பயன்படுத்துவதற்கு மாறவும், பின்னர் பதிவை மாற்றி பழைய அட்டவணையை அழிக்கவும். இது பொதுவாக ஒரு இடைவிடாத முறையாகும்.
Спасибо.
ஆதாரம்: www.habr.com