சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

ஒரு சேமிப்பு வசதியை உருவாக்குவது ஒரு நீண்ட மற்றும் தீவிரமான செயலாகும்.

ஒரு திட்டத்தின் வாழ்க்கையில் பெரும்பாலானவை தொடக்கத்தில் பொருள் மாதிரி மற்றும் அடிப்படை அமைப்பு எவ்வளவு நன்றாக சிந்திக்கப்படுகின்றன என்பதைப் பொறுத்தது.

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

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

DWH டெவலப்பராக உங்கள் அமைதியான மற்றும் வசதியான வாழ்க்கையில் திடீரென்று இருந்தால்:

  • பணி எழுந்தது "குறைந்தது எதையாவது விரைவாகச் செய்ய வேண்டும், பின்னர் நாங்கள் பார்ப்போம்";
  • புதிய ஆதாரங்களின் இணைப்பு மற்றும் வாரத்திற்கு ஒரு முறையாவது வணிக மாதிரியின் மறுவேலையுடன் வேகமாக வளரும் திட்டம் தோன்றியது;
  • ஒரு வாடிக்கையாளர் தோன்றினார், அவர் கணினி எப்படி இருக்க வேண்டும் மற்றும் அது என்ன செயல்பாடுகளைச் செய்ய வேண்டும் என்று தெரியவில்லை, ஆனால் தொடர்ந்து அதை நெருங்கி வரும்போது விரும்பிய முடிவைப் பரிசோதனை செய்து, தொடர்ந்து செம்மைப்படுத்தத் தயாராக இருக்கிறார்;
  • திட்ட மேலாளர் ஒரு நல்ல செய்தியுடன் இறங்கினார்: "இப்போது நாங்கள் சுறுசுறுப்பாக இருக்கிறோம்!"

அல்லது சேமிப்பக வசதிகளை வேறு எப்படி உருவாக்கலாம் என்பதை அறிய நீங்கள் ஆர்வமாக இருந்தால் - வெட்டுக்கு வரவேற்கிறோம்!

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

"நெகிழ்வு" என்றால் என்ன?

முதலில், "நெகிழ்வானது" என்று அழைக்கப்படுவதற்கு ஒரு அமைப்பு என்ன பண்புகளைக் கொண்டிருக்க வேண்டும் என்பதை வரையறுப்போம்.

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

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

எனவே, நெகிழ்வான சேமிப்பிடம் என்ன திறன்களைக் கொண்டிருக்க வேண்டும்? இங்கே மூன்று புள்ளிகள் உள்ளன:

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

ஆம், இந்த தேவைகள் அனைத்தையும் ஒரே அமைப்பில் பூர்த்தி செய்வது சாத்தியமாகும் (நிச்சயமாக, சில சந்தர்ப்பங்களில் மற்றும் சில முன்பதிவுகளுடன்).

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

"கிளாசிக்கல்" அணுகுமுறையின் சிக்கல்கள் மற்றும் நெகிழ்வான முறைகளில் அவற்றின் தீர்வுகள்

"கிளாசிக்கல்" அணுகுமுறையின் மூலம் நான் நல்ல பழைய நட்சத்திரத்தைக் குறிக்கிறேன் (அடிப்படை அடுக்குகளின் குறிப்பிட்ட செயலாக்கத்தைப் பொருட்படுத்தாமல், கிம்பால், இன்மான் மற்றும் CDM ஐப் பின்பற்றுபவர்கள் என்னை மன்னிக்கட்டும்).

1. இணைப்புகளின் கடுமையான கார்டினாலிட்டி

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

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

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

எடுத்துக்காட்டாக, “பண ரசீது” பொருளை வடிவமைக்கும்போது, ​​​​விற்பனைத் துறையின் பிரமாணங்களை நம்பி, நடவடிக்கைக்கான சாத்தியத்தை நீங்கள் வகுத்தீர்கள். பல சோதனை நிலைகளுக்கு ஒரு பதவி உயர்வு (ஆனால் நேர்மாறாக இல்லை):

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

(இப்போது பதவி உயர்வு சரிபார்ப்பு இணைக்கப்பட்டுள்ள அனைத்து பெறப்பட்ட பொருட்களும் மேம்படுத்தப்பட வேண்டும்).

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்
டேட்டா வால்ட் மற்றும் ஆங்கர் மாடலில் உள்ள உறவுகள்

இந்த சூழ்நிலையைத் தவிர்ப்பது மிகவும் எளிமையானதாக மாறியது: இதைச் செய்ய நீங்கள் விற்பனைத் துறையை நம்ப வேண்டியதில்லை. அனைத்து இணைப்புகளும் ஆரம்பத்தில் தனி அட்டவணையில் சேமிக்கப்படும் மற்றும் அதை பல-பல என செயலாக்கவும்.

இந்த அணுகுமுறை முன்மொழியப்பட்டது டான் லின்ஸ்டெட் முன்னுதாரணத்தின் ஒரு பகுதியாக டேட்டா வால்ட் மற்றும் முழுமையாக ஆதரிக்கப்பட்டது லார்ஸ் ரோன்பேக் в ஆங்கர் மாடல்.

இதன் விளைவாக, நெகிழ்வான முறைகளின் முதல் தனித்துவமான அம்சத்தைப் பெறுகிறோம்:

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

В டேட்டா வால்ட் அத்தகைய இணைப்பு அட்டவணைகள் அழைக்கப்படுகின்றன இணைப்புமற்றும் உள்ளே ஆங்கர் மாடல் - டை. முதல் பார்வையில், அவை மிகவும் ஒத்தவை, இருப்பினும் அவற்றின் வேறுபாடுகள் பெயருடன் முடிவடையவில்லை (இது கீழே விவாதிக்கப்படும்). இரண்டு கட்டமைப்புகளிலும், இணைப்பு அட்டவணைகள் இணைக்க முடியும் எந்த எண்ணிக்கையிலான நிறுவனங்கள் (அவசியமில்லை 2).

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

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

2. தரவு நகல்

நெகிழ்வான கட்டமைப்புகளால் தீர்க்கப்படும் இரண்டாவது சிக்கல் குறைவான வெளிப்படையானது மற்றும் முதல் இடத்தில் உள்ளார்ந்ததாக உள்ளது. SCD2 வகை அளவீடுகள் (இரண்டாம் வகையின் பரிமாணங்களை மெதுவாக மாற்றுவது), அவை மட்டுமல்ல.

ஒரு உன்னதமான கிடங்கில், பரிமாணம் என்பது பொதுவாக ஒரு வாடகை விசை (PK ஆக) மற்றும் வணிக விசைகள் மற்றும் தனித்தனி நெடுவரிசைகளில் உள்ள பண்புக்கூறுகளின் தொகுப்பைக் கொண்ட அட்டவணையாகும்.

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

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

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

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

அதே நேரத்தில், இது மிகவும் அடிக்கடி பயன்படுத்தப்படுகிறது இயல்புநிலையாக்குதல் — சில பண்புக்கூறுகள் வேண்டுமென்றே ஒரு மதிப்பாக சேமிக்கப்படுகின்றன, குறிப்பு புத்தகம் அல்லது மற்றொரு பரிமாணத்திற்கான இணைப்பாக அல்ல. இந்த அணுகுமுறை தரவு அணுகலை விரைவுபடுத்துகிறது, பரிமாணத்தை அணுகும் போது இணைப்புகளின் எண்ணிக்கையைக் குறைக்கிறது.

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

பொதுவாக, மேலே விவரிக்கப்பட்டவை வழக்கமான (பதிப்பு செய்யப்படாத) பரிமாணங்களுக்கு பொருந்தும், ஆனால் பதிப்புகளில் அவை வேறுபட்ட அளவைக் கொண்டிருக்கலாம்: ஒரு பொருளின் புதிய பதிப்பின் தோற்றம் (குறிப்பாக பின்னோக்கிப் பார்த்தால்) தொடர்புடைய அனைத்து புதுப்பிப்புகளுக்கும் வழிவகுக்கிறது. அட்டவணைகள், ஆனால் தொடர்புடைய பொருட்களின் புதிய பதிப்புகளின் அடுக்குத் தோற்றத்திற்கு - அட்டவணை 1 ஐ உருவாக்க அட்டவணை 2 பயன்படுத்தப்படும் போது, ​​மற்றும் அட்டவணை 2 ஐ உருவாக்க அட்டவணை 3 பயன்படுத்தப்படுகிறது. அட்டவணை 1 இன் ஒரு பண்புக்கூறு கூட அட்டவணை 3 இன் கட்டுமானத்தில் ஈடுபடவில்லை என்றாலும் (மற்றும் பிற ஆதாரங்களில் இருந்து பெறப்பட்ட அட்டவணை 2 இன் பிற பண்புக்கூறுகள் ஈடுபட்டுள்ளன), இந்த கட்டுமானத்தை பதிப்பிப்பது குறைந்தபட்சம் கூடுதல் மேல்நிலைக்கு வழிவகுக்கும், அதிகபட்சம் கூடுதல் அட்டவணை 3 இல் உள்ள பதிப்புகள். இதில் எந்த தொடர்பும் இல்லை, மேலும் சங்கிலியின் கீழே.

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

3. மறுவேலையின் நேரியல் அல்லாத சிக்கலானது

அதே நேரத்தில், மற்றொன்றின் அடிப்படையில் கட்டப்பட்ட ஒவ்வொரு புதிய கடை முகப்பும், ETL இல் மாற்றங்கள் செய்யப்படும்போது, ​​தரவு "விலகக்கூடிய" இடங்களின் எண்ணிக்கையை அதிகரிக்கிறது. இது, ஒவ்வொரு அடுத்தடுத்த திருத்தத்தின் சிக்கலான (மற்றும் கால அளவு) அதிகரிப்புக்கு வழிவகுக்கிறது.

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

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

டேட்டா வால்ட் மற்றும் ஆங்கர் மாடலில் பொருள்கள் மற்றும் பண்புகளை சேமித்தல்

நெகிழ்வான கட்டிடக்கலை ஆசிரியர்களால் முன்மொழியப்பட்ட அணுகுமுறையை பின்வருமாறு உருவாக்கலாம்:

மாறுவதைப் பிரித்து, மாறாமல் இருப்பவற்றைப் பிரிப்பது அவசியம். அதாவது, பண்புக்கூறுகளிலிருந்து தனித்தனியாக விசைகளை சேமிக்கவும்.

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

டேட்டா வால்ட் மற்றும் ஆங்கர் மாடலில் சரியாக மாறாதவையாகக் கருதப்படக்கூடியது என்ன என்பதில் கருத்துக்கள் வேறுபடுகின்றன.

கட்டிடக்கலை பார்வையில் இருந்து டேட்டா வால்ட், மாறாமல் கருதலாம் விசைகளின் முழு தொகுப்பு - இயற்கை (நிறுவனத்தின் TIN, மூல அமைப்பில் உள்ள தயாரிப்பு குறியீடு, முதலியன) மற்றும் பினாமி. இந்த வழக்கில், மீதமுள்ள பண்புகளை மூல மற்றும்/அல்லது மாற்றங்களின் அதிர்வெண்ணின் படி குழுக்களாகப் பிரிக்கலாம். ஒவ்வொரு குழுவிற்கும் ஒரு தனி அட்டவணையை பராமரிக்கவும் ஒரு சுயாதீனமான பதிப்புகளுடன்.

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

В டேட்டா வால்ட் உட்பொருள் விசைகளைக் கொண்ட அட்டவணைகள் அழைக்கப்படுகின்றன ஹுபாமி. மையங்கள் எப்போதும் நிலையான புலங்களின் தொகுப்பைக் கொண்டிருக்கும்:

  • இயற்கை நிறுவன விசைகள்
  • வாகை சாவி
  • ஆதாரத்திற்கான இணைப்பு
  • பதிவு சேர்க்கும் நேரம்

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

மற்ற அனைத்து நிறுவன பண்புக்கூறுகளும் சிறப்பு அட்டவணைகள் எனப்படும் செயற்கைக்கோள்கள். ஒரு மையத்தில் பல செயற்கைக்கோள்கள் வெவ்வேறு பண்புக்கூறுகளை சேமிக்கலாம்.

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

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

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

செயற்கைக்கோள்கள் மையத்துடன் தொடர்பு கொள்கின்றன வெளிநாட்டு விசை (இது 1 முதல் பல கார்டினாலிட்டிக்கு ஒத்துள்ளது). பல பண்புக்கூறு மதிப்புகள் (எடுத்துக்காட்டாக, ஒரு கிளையண்டிற்கான பல தொடர்பு தொலைபேசி எண்கள்) இந்த “இயல்புநிலை” கட்டமைப்பால் ஆதரிக்கப்படுகின்றன.

В ஆங்கர் மாடல் விசைகளை சேமிக்கும் அட்டவணைகள் என்று அழைக்கப்படுகின்றன அறிவிப்பாளர்கள். மேலும் அவர்கள் வைத்திருக்கிறார்கள்:

  • பினாமி சாவிகள் மட்டுமே
  • ஆதாரத்திற்கான இணைப்பு
  • பதிவு சேர்க்கும் நேரம்

ஆங்கர் மாதிரியின் பார்வையில் இருந்து இயற்கை விசைகள் கருதப்படுகின்றன சாதாரண பண்புகள். இந்த விருப்பத்தைப் புரிந்துகொள்வது மிகவும் கடினமாகத் தோன்றலாம், ஆனால் இது பொருளை அடையாளம் காண அதிக வாய்ப்பை வழங்குகிறது.

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

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

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

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

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

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

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

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

டேட்டா வால்ட் மற்றும் ஆங்கர் மாடலுக்கு இடையே உள்ள மற்றொரு முக்கியமான வேறுபாடு கிடைக்கும் தன்மை இணைப்புகளின் பண்புகள்:

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

உண்மை சேமிப்பு

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

В டேட்டா வால்ட் உண்மைகளை சேமிப்பதற்கான ஒரு பொதுவான பொருள் இணைப்பு, யாருடைய செயற்கைக்கோள்களில் உண்மையான குறிகாட்டிகள் சேர்க்கப்படுகின்றன.

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

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

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

நெகிழ்வுத்தன்மை எவ்வாறு அடையப்படுகிறது

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

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

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

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

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

இருண்ட பக்கம்

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

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

இந்த சூழ்நிலையை எளிதாக்கும் பல உண்மைகள் உள்ளன:

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

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

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

நிறைய இயந்திரத்தைப் பொறுத்தது. பல நவீன பிளாட்ஃபார்ம்களில் இன்டர்னல் சேர் ஆப்டிமைசேஷன் பொறிமுறைகள் உள்ளன. எடுத்துக்காட்டாக, MS SQL மற்றும் Oracle ஆகியவை அவற்றின் தரவு மற்ற இணைப்புகளைத் தவிர வேறு எங்கும் பயன்படுத்தப்படாவிட்டால் மற்றும் இறுதித் தேர்வு (அட்டவணை/சேர்தல் நீக்குதல்) மற்றும் MPP வெர்டிகாவை பாதிக்காது எனில், அட்டவணையில் இணைவதை "தவிர்க்கலாம்". Avito இல் இருந்து சக ஊழியர்களின் அனுபவம், வினவல் திட்டத்தின் சில மேனுவல் ஆப்டிமைசேஷன் கொடுக்கப்பட்ட ஆங்கர் மாடலுக்கான சிறந்த எஞ்சின் என நிரூபிக்கப்பட்டுள்ளது. மறுபுறம், ஆங்கர் மாடலை சேமிப்பது, எடுத்துக்காட்டாக, க்ளிக் ஹவுஸில், குறைந்த இணைப்பு ஆதரவைக் கொண்டுள்ளது, இது இன்னும் நல்ல யோசனையாகத் தெரியவில்லை.

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

மொத்தம்

கருதப்படும் நெகிழ்வான கட்டிடக்கலைகளின் முக்கிய சாராம்சம் அவற்றின் "வடிவமைப்பின்" மட்டுத்தன்மை ஆகும்.

இந்த சொத்து அனுமதிக்கிறது:

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

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

பயன்பாடுகள்

பொருள் வகைகள் டேட்டா வால்ட்

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

டேட்டா வால்ட் பற்றிய கூடுதல் தகவல்:
டான் லிஸ்டாட்டின் இணையதளம்
ரஷ்ய மொழியில் டேட்டா வால்ட் பற்றிய அனைத்தும்
Habré இல் டேட்டா வால்ட் பற்றி

பொருள் வகைகள் ஆங்கர் மாடல்

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

ஆங்கர் மாடல் பற்றிய கூடுதல் விவரங்கள்:

ஆங்கர் மாடலை உருவாக்கியவர்களின் இணையதளம்
அவிடோவில் ஆங்கர் மாடலை செயல்படுத்திய அனுபவம் பற்றிய கட்டுரை

பொதுவான அம்சங்கள் மற்றும் கருதப்பட்ட அணுகுமுறைகளின் வேறுபாடுகள் கொண்ட சுருக்க அட்டவணை:

சுறுசுறுப்பான DWH வடிவமைப்பு முறைகளின் கண்ணோட்டம்

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

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