LakeFS மாற்றுகள்: உங்கள் தரவை பதிப்புச் செய்ய புத்திசாலித்தனமான வழிகள், மன அமைதி கெடாமல்
உங்கள் டேட்டா லேக் (data lake) Git-ஐப் போல செயல்பட வேண்டும் என்று எப்போதாவது விரும்பியதுண்டா—ரகசிய கட்டளைகள் மற்றும் உங்கள் சக ஊழியர் ஒரு கிளையை “final_FINAL_no_really” என்று பெயரிட்ட பகுதியைத் தவிர? நானும் தான். அதுதான் lakeFS போன்ற தரவு பதிப்பு கட்டுப்பாட்டு கருவிகளின் வாக்குறுதி: தரவுத்தொகுப்புகளுக்கான கிளைகள், மீண்டும் உருவாக்கக்கூடிய சோதனைகள், யாராவது Uno கார்டுகளைப் போல வரிசைகளை மாற்றியமைத்து CSV-ஐ உள்ளே தள்ளினால், அதைத் திரும்பப் பெறுதல்.
ஆனால் lakeFS மட்டுமே உங்களுக்கு ஒரே விருப்பம் அல்ல. ஒருவேளை நீங்கள் ஆன்-ப்ரீமில் (on-prem) இருக்கலாம். அல்லது ஆப்ஜெக்ட்-ஸ்டோர் (object-store) செமாண்டிக்ஸ் உங்களுக்கு ஒவ்வாமையாக இருக்கலாம். ஒருவேளை உங்களுக்கு மலிவான, எளிமையான, அல்லது அதிக வேர்ஹவுஸ்-மைய அமைவு தேவைப்படலாம். இன்று நாம் lakeFS மாற்றுகளை நட்புரீதியாகவும், எளிய ஆங்கிலத்திலும் பார்க்கலாம்—அவை எதில் சிறந்து விளங்குகின்றன, எங்கே தடுமாறுகின்றன, மேலும் உங்கள் வார இறுதி நாட்களை தியாகம் செய்யாமல் ஒன்றை எப்படித் தேர்ந்தெடுப்பது என்பதையும் பார்க்கலாம்.
ஸ்பாய்லர் (spoiler): இங்கே ஒரே வெற்றியாளர் என்று யாரும் இல்லை. இது உங்கள் பயணத்திற்கு சரியான சூட்கேஸைத் தேர்ந்தெடுப்பது போன்றது. நாள் முழுவதும் மலையேற்றத்திற்கு பேக்பேக் (backpack), விமான நிலையத்திற்கு ரோலர் பேக் (roller bag), நீங்கள் ஒரு சிம்பொனியை நகர்த்தினால் ஸ்டீமர் ட்ரங்க் (steamer trunk). உங்கள் பயணத்திற்கு ஏற்ற சூட்கேஸ்களைப் பொருத்துவோம்.
"LakeFS மாற்றுகள்" என்பதன் மூலம் நாம் என்ன சொல்கிறோம் (மேலும் உங்களுக்கு ஏன் ஒன்று தேவைப்படலாம்)
LakeFS மாற்றுகள் என்பது, lakeFS ஐப் பயன்படுத்தாமல், கிட் (Git) போன்ற பதிப்பு கட்டுப்பாட்டை தரவுக்கு வழங்கும் கருவிகள் மற்றும் முறைகள்—கிளைகள், டேக்கிங் (tagging), காலப் பயணம், மீண்டும் உருவாக்குதல் போன்றவை. மக்கள் மாற்று வழிகளுக்குச் செல்வதற்கான முக்கிய காரணங்கள்:
- உங்களுக்கு Snowflake, BigQuery, Redshift அல்லது Databricks-க்குள் பதிப்பு கட்டுப்பாடு வேண்டும், S3 அல்லது GCS-இல் அல்ல.
- Apache Iceberg மற்றும் Delta Lake ஆகியவை டேபிள் அளவில் ஸ்னாப்ஷாட் அடிப்படையிலான பதிப்பு கட்டுப்பாட்டை வழங்குகின்றன.
- ஒருவேளை நீங்கள் dbt ஸ்னாப்ஷாட்கள், காலப் பயணம் அல்லது ஒரு அட்டவணையுடன் நீங்கள் செல்ல வேண்டிய இடத்திற்கு செல்ல முடியும்.
- ஏர்-கேப்டு (air-gapped), ஆன்-ப்ரீம் (on-prem), அல்லது உங்கள் நடுநிலைப் பள்ளி நூலகரை விட கண்டிப்பான விற்பனையாளர் பூட்டுதல் கொள்கை.
இடையில், நாம் கருவிகளை ஒப்பிட்டு, சிறிய விளக்கங்களை காண்பித்து, அசெம்பிளி லைனை நிறுத்தாமல் இந்த விஷயங்களை நீங்கள் சோதிக்கக்கூடிய நடைமுறை குறிப்புகளை வழங்குவோம்.
சுருக்கமான பட்டியல்: சுவைகளின் அடிப்படையில் LakeFS மாற்றுகள்
lakeFS ஐ ஆப்ஜெக்ட் ஸ்டோரேஜில் (object storage) அடுக்கப்பட்ட “ஏரிக்கான உலகளாவிய Git” என்று நினைத்துப் பாருங்கள். மாற்றுகள் பொதுவாக இந்த வகைகளாக பிரிக்கப்படுகின்றன:
- Delta Lake (Databricks மற்றும் ஓப்பன் சோர்ஸ்)
- Snowflake காலப் பயணம் மற்றும் ஜீரோ-காப்பி குளோனிங் (Zero-Copy Cloning)
- BigQuery ஸ்னாப்ஷாட்கள் மற்றும் டேபிள் குளோன்கள்
- Redshift ஸ்னாப்ஷாட்கள் (எச்சரிக்கையுடன்)
- Unity Catalog (Databricks)
- AWS Glue டேட்டா அட்டவணை + லேக் ஃபார்மேஷன் (Lake Formation)
- Nessie போன்ற ஓப்பன்-சோர்ஸ் அட்டவணைகள் (Iceberg-க்கு)
- dbt ஸ்னாப்ஷாட்கள் மற்றும் விதைகள்
- லினேஜ் உடன் ஆர்கெஸ்ட்ரேஷன் (Orchestration) (Dagster, Prefect)
- Pachyderm (பதிப்பு செய்யப்பட்ட தரவு குழாய்த்திட்டங்கள்)
- Quilt (S3 டேட்டா பேக்கேஜ் பதிப்பு கட்டுப்பாடு)
- DVC (டேட்டா பதிப்பு கட்டுப்பாடு) உடன் தொலைநிலை சேமிப்பகம்
ஒவ்வொன்றையும் பிரிப்போம்—அது என்ன செய்கிறது, அது யாருக்கானது, மேலும் அது lakeFS உடன் எவ்வாறு ஒப்பிடுகிறது என்பதையும் பார்ப்போம்.
டேபிள் ஃபார்மேட்கள்: Iceberg, Delta மற்றும் Hudi
lakeFS உங்கள் ஏரிக்கான "Git" என்றால், டேபிள் ஃபார்மேட்கள் உங்கள் ஏரிக்குள் இருக்கும் "காலப் பயண அட்டவணைகள்". அவை பரிவர்த்தனைப் பதிவுடன் தரவைச் சேமிக்கின்றன, எனவே டேபிள் அளவில் (வெவ்வேறு வழிகளில்) ஸ்னாப்ஷாட் எடுக்கலாம், திரும்பப் பெறலாம் மற்றும் பிரிக்கலாம். இதன் நன்மை என்ன? உங்களுக்கு ACID, ஸ்கீமா பரிணாமம் மற்றும் நிலையான ரீட்கள் (reads) கிடைக்கும். இதன் குறைபாடு என்ன? பதிப்பு கட்டுப்பாடு ஒரு டேபிளுக்கு மட்டுமே, ஒரு முழு பக்கெட்டிற்கும் (bucket) அல்ல.
Apache Iceberg: அமைதியான, தரநிலைகளுக்கு முதலிடம் கொடுக்கும் முதிர்ச்சியான கருவி
- இது ஒரு திறந்த டேபிள் ஃபார்மேட் ஆகும், இது மெட்டாடேட்டாவை (metadata) தரவு கோப்புகளிலிருந்து சுத்தமாகப் பிரிக்கிறது, ஸ்னாப்ஷாட்கள், பகிர்வு பரிணாமம் மற்றும் நிறைய எஞ்சின் (engine) ஆதரவுடன் (Spark, Flink, Trino, Snowflake, Athena மற்றும் பல).
- lakeFS போன்ற ஒரு உலகளாவிய லேயர் இல்லாமல் டேபிள்களின் ஸ்னாப்ஷாட்களை நீங்கள் காலப் பயணம் செய்து குறிச்சொல்லிடலாம். Nessie போன்ற அட்டவணையுடன், பல டேபிள்களில் உங்கள் டேபிள் மெட்டாடேட்டாவிற்கான கிட் (Git) போன்ற கிளைகளைப் பெறலாம்.
- பல எஞ்சின் கடைகள், ஸ்கீமாக்களை உருவாக்குதல், மேலும் தனியுரிம பூட்டுதலைத் தவிர்க்க நீங்கள் விரும்பும் போது. Iceberg இன் மேனிஃபெஸ்ட் (manifest) மற்றும் மெட்டாடேட்டா மரங்கள் ஒழுங்கானவை; இது நன்றாக அளவிடப்படுகிறது.
- கிளைகள் மெட்டாடேட்டா மையமானது; அட்டவணையுடன் (எ.கா., Nessie) கிராஸ்-டேபிள் ஒருங்கிணைப்பு எளிதானது. நீங்கள் இன்னும் வேலைகளுக்கு இடையில் ஆர்கெஸ்ட்ரேஷன் (orchestration) மற்றும் ஐசோலேஷனை (isolation) நிர்வகிக்க வேண்டும்.
- Iceberg டேபிளை உருவாக்கவும், உங்கள் ETL ஐ Nessie இல் உள்ள கிளையில் இயக்கவும், முடிவுகளைச் சரிபார்க்கவும், பின்னர் க்கு வேகமாக இணைக்கவும். ஏதாவது உடைந்தால், ரீடர்களை ஸ்னாப்ஷாட் N-1 க்குத் திருப்பி விடலாம்.
lakeFS முழு ஏரிக்கும் ஆப்ஜெக்ட்-லெவல் கிளைகளை வழங்குகிறது; Iceberg உங்களுக்கு டேபிள்-லெவல் ஸ்னாப்ஷாட்களை வழங்குகிறது. Nessie உடன், Iceberg lakeFS-க்கு அருகில் இருப்பது போல் உணரத் தொடங்குகிறது.
Delta Lake: தசை கார்—வேகமானது, உறுதியானது, Databricks-ஐ விரும்புகிறது
- இது Databricks இல் நேட்டிவ் (native) ஆதரவுடன் கூடிய ஒரு பரிவர்த்தனை பதிவு வடிவம் (திறந்த மூலம்). காலப் பயணம், மற்றும் சேஞ்ச் டேட்டா ஃபீட் (change data feed) ஆகியவை இதில் அடங்கும்.
- டெல்டா காலப் பயணம் மற்றும் குளோன்கள் பெரும்பாலான "தவறான" தருணங்களை கையாளுகின்றன. Databricks இல், Unity Catalog ஆளுகை மற்றும் கிராஸ்-வொர்க்ஸ்பேஸ் (cross-workspace) தெளிவைச் சேர்க்கிறது.
- நீங்கள் ஏற்கனவே Databricks இல் இருந்தால். இது வசதியானது, ஆவணங்கள் நன்றாக உள்ளன, மேலும் செயல்திறன் ட்யூனிங் (tuning) ஒரு சிறந்த அம்சமாகும்.
- Databricks க்கு வெளியே, அம்ச சமநிலை பின்தங்கியிருக்கலாம். கிராஸ்-டேபிள் கிளைகள் இன்னும் உலகளாவிய ஏரி கிளைகளைப் போன்றது அல்ல.
- Delta டேபிளை உருவாக்கவும், "டெவ்" ஸ்கீமாவில் சோதனைகளை இயக்கவும், அளவீடுகளை ஒப்பிட ஐப் பயன்படுத்தவும், பின்னர் ஒரு குளோன்-அண்ட்-ஸ்வாப் (clone-and-swap) மூலம் உற்பத்தியில் பயன்படுத்தவும்.
Delta டேபிள்களை அற்புதமாக பாதுகாக்கிறது; lakeFS அட்டவணை அல்லாத கலைப்பொருட்கள் (மாடல்கள், படங்கள், CSVக்கள்) உட்பட "பக்கெட்டில் உள்ள எல்லாவற்றையும்" பாதுகாக்கிறது.
Apache Hudi: CDC-நட்பு உழைப்பாளி
- இது அப்சர்ட்கள் (upserts) மற்றும் சேஞ்ச் ஸ்ட்ரீம்களுக்கு (change streams) உகந்த ஒரு டேபிள் ஃபார்மேட் ஆகும், இது காப்பி-ஆன்-ரைட் (copy-on-write) மற்றும் மெர்ஜ்-ஆன்-ரீட் (merge-on-read) முறைகளைக் கொண்டுள்ளது.
- உங்கள் தரவு இடைவிடாத சொட்டு சொட்டாக வரும்போது, உங்களுக்கு படிப்படியான செயலாக்கம் மற்றும் திரும்பப் பெறுதல் தேவைப்படும்போது இது சிறந்தது.
- நிகழ்வு நிறைந்த குழாய்த்திட்டங்கள், கிட்டத்தட்ட நிகழ்நேர உட்கொள்ளல் மற்றும் CDC.
- ட்யூனிங் செய்வது ஒரு ஜெட் எஞ்சினை உள்ளமைப்பது போல் உணரலாம். ஆவணங்கள் மேம்பட்டுள்ளன, ஆனால் ஒரு கற்றல் வளைவு உள்ளது.
Hudi படிப்படியான மாற்றத்தை ஒரு சாம்பியனைப் போல கையாளுகிறது; lakeFS உலகளாவிய பதிப்பு கட்டுப்பாடு மற்றும் பதவி உயர்வு வேலைப்பாய்வுகளை கையாளுகிறது. அவை ஒன்றாக இருக்க முடியும்.
வேர்ஹவுஸ்-நேட்டிவ் பதிப்பு கட்டுப்பாடு: Snowflake, BigQuery, Redshift
நீங்கள் ஒரு வேர்ஹவுஸில் வாழ்ந்தால், டேட்டா-லேக் கிட் லேயர் இல்லாமல் நீங்கள் ஆச்சரியப்படும் விதமாக வெகுதூரம் செல்ல முடியும்.
Snowflake காலப் பயணம் மற்றும் ஜீரோ-காப்பி குளோனிங்
- Snowflake இல் கட்டப்பட்ட "ரிவைண்ட் பட்டன்". டேபிள்கள், ஸ்கீமாக்கள் அல்லது டேட்டாபேஸ்களை முந்தைய நிலைக்கு மீட்டமைக்கவும்; சேமிப்பிடத்தை நகலெடுக்காமல் முழு சூழல்களையும் குளோன் செய்யவும்.
- டெவ் (dev) சாண்ட்பாக்ஸை (sandbox) உருவாக்க, சோதிக்க மற்றும் நிராகரிக்க இது மிகவும் எளிதானது.
- புதிய கருவிகளைக் கற்றுக்கொள்ளாமல் மீண்டும் உருவாக்கக்கூடிய தன்மையை விரும்பும் பகுப்பாய்வு குழுக்கள்.
- காலப் பயண தக்கவைப்புக்கு பணம் செலவாகும், மேலும் இது ஒரு குறிப்பிட்ட சாளரத்தில் (உயர் அடுக்குகளில் 90 நாட்கள் வரை) முடிவடைகிறது. இது Snowflake-க்கு மட்டும்.
- உங்கள் மாற்றங்களை இயக்கவும்; அது நன்றாக இருந்தால், மீண்டும் இணைக்கவும். அது கரகரத்தால், குளோனை கைவிட்டுவிட்டு சென்றுவிடுங்கள்.
lakeFS S3/GCS/Azure இல் உள்ள கோப்புகளையும், அவற்றைச் சுற்றியுள்ள குழாய்த்திட்டங்களையும் கையாளுகிறது. Snowflake இன் மேஜிக் Snowflake-நிலத்திற்குள் உள்ளது.
BigQuery ஸ்னாப்ஷாட்கள் மற்றும் டேபிள் குளோன்கள்
- டேபிள் ஸ்னாப்ஷாட்களை உருவாக்கவும், கேள்விகளைப் பயன்படுத்தவும், மேலும் டேபிள் குளோன்களின் பயன்பாடு அதிகரித்து வருகிறது.
- மிகவும் எளிமையானது, சேவையகம் இல்லாதது, ஆப்ஸ் எதுவும் இல்லை. சோதனை செய்து ஒப்பிடுவதற்கு சிறந்தது.
- ஸ்னாப்ஷாட்கள் மற்றும் குளோன்கள் ஒரு டேபிளுக்கு மட்டுமே; பல டேபிள்களில் ஒருங்கிணைப்பு என்பது DIY ஆகும்.
Redshift மற்றும் நண்பர்கள்
- நீங்கள் கிளஸ்டர்களை ஸ்னாப்ஷாட் செய்து RA3 அம்சங்களைப் பயன்படுத்தலாம்; இது Snowflake இன் காலப் பயணம் போல அவ்வளவு திரவமாக இல்லை.
- ஏற்கனவே AWS இல் தரப்படுத்தப்பட்ட சிறிய கடைகள் "போதுமான" ரோல்பேக் (rollback) ஐ விரும்புகின்றன.
அட்டவணைகள் மற்றும் ஆளுகை: Unity, Glue மற்றும் Nessie
இவை தாமாகவே தரவை பதிப்புச் செய்யாது (பெரும்பாலும்), ஆனால் அவை உங்கள் டேபிள்களுக்கு ஒழுங்கைக் கொண்டு வருகின்றன—சில நேரங்களில் கிளைகளையும் கொண்டு வருகின்றன.
- பணி இடங்கள் முழுவதும் மையப்படுத்தப்பட்ட அனுமதிகள், லினேஜ் மற்றும் தரவு கண்டுபிடிப்பு. Delta உடன், இது ஒரு ஆளுகை ஆற்றல்வாய்ந்த கருவியாகும்.
- S3 க்கான அனுமதிகள் மற்றும் அட்டவணைப்படுத்தல். பதிப்புக்காக இதை Iceberg/Delta/Hudi உடன் இணைப்பீர்கள்.
- Iceberg க்கான Git போன்ற அட்டவணை, இது பல டேபிள்களில் உள்ள டேபிள் மெட்டாடேட்டாவிற்கான கிளைகள்/டேக்குகளை செயல்படுத்துகிறது. இது Iceberg ஐ lakeFS க்கு அருகில் இருப்பதாக உணர வைக்கும் "ஆஹா!" கணம்.
வேலைப்பாய்வு அணுகுமுறைகள்: dbt, Dataform மற்றும் ஆர்கெஸ்ட்ரேட்டர்கள்
உங்கள் கேள்வி "செவ்வாய்க்கிழமையன்று இந்த முடிவை நான் எப்படி மீண்டும் உருவாக்குவது?" என்றால், சில நேரங்களில் பதில் புதிய சேமிப்பு லேயர் அல்ல—அது ஒழுக்கம் மற்றும் மெட்டாடேட்டா.
- மெதுவாக மாறும் பரிமாணங்களைப் படம்பிடித்து, மாற்றத்தின் வரலாற்றுப் பதிவேட்டை வைத்திருங்கள். இது தரவைப் பிரிப்பது அல்ல, ஆனால் தணிக்கை தடங்களுக்கு இது விலைமதிப்பற்றது.
- உள்ளீட்டு CSV களை விதைகளாகப் பதிப்புச் செய்யவும்; அவற்றை Git இல் சரிபார்க்கவும்; பதிப்புகளைப் பின் செய்வதன் மூலம் மாடல்களை மீண்டும் உருவாக்கக்கூடியதாக மாற்றவும்.
- சார்புகளைக் கண்காணிக்கவும், டெவ் (dev) மற்றும் புரோடு (prod) சொத்துக்களை உருவாக்கவும், பதவி உயர்வு செய்வதற்கு முன் சரிபார்க்கவும்.
இவை "செயல்முறை மாற்றுகள்." அவை உங்கள் முழு ஏரியையும் ரிவைண்ட் (rewind) செய்யாது, ஆனால் அவை உடைப்பை அரிதாக்கலாம்—மற்றும் மீட்பை விரைவுபடுத்தலாம்.
பதிப்பு செய்யப்பட்ட ஆப்ஜெக்ட் ஸ்டோர்கள் மற்றும் தரவு போர்ட்டல்கள்: Pachyderm, Quilt, DVC
- கொள்கலன் படிகள் மற்றும் மூலத்துடன் தரவு குழாய்த்திட்டங்களுக்கான Git. நீங்கள் ML இல் வாழ்ந்தால், இறுதி முதல் இறுதி வரை மீண்டும் உருவாக்கக்கூடிய தன்மையை விரும்பினால், இது ஒரு கேட்னிப் (catnip).
- S3 ஐ தரவுத்தொகுப்புகளுக்கான பேக்கேஜ் மேலாளர் போல நடத்துங்கள். நீங்கள் ஆவணங்கள் மற்றும் முன்னோட்டத்துடன் பதிப்பு செய்யப்பட்ட "பேக்கேஜ்களை" வெளியிடலாம், இது பகிர்வதற்கு சிறந்தது.
- பெரிய கோப்புகளுக்கான Git போன்ற கண்காணிப்பு, ரிமோட்டுகள் (S3, GCS போன்றவை) உடன். ML சோதனைகள், மாடல் மற்றும் தரவுத்தொகுப்பு பதிப்புகள் மற்றும் CI ஒருங்கிணைப்புக்கு சிறந்தது.
lakeFS உடன் ஒப்பிடும்போது, இவை ஏரி முழுவதும் கிளைகளை விட ML வேலைப்பாய்வுகள் அல்லது மனிதர்களுக்கு ஏற்ற தரவுத்தொகுப்பு பேக்கேஜிங் நோக்கி அதிகம் சாய்ந்துள்ளன.
உங்கள் LakeFS மாற்றைத் தேர்ந்தெடுப்பது: ஒரு நடைமுறை சரிபார்ப்பு பட்டியல்
10 நிமிடங்களில் இயக்கக்கூடிய ஒரு அபத்தமில்லாத வடிகட்டி இங்கே:
- பெரும்பாலும் வேர்ஹவுஸ் → வேர்ஹவுஸ்-நேட்டிவ் குளோனிங்/காலப் பயணத்துடன் தொடங்கவும் (Snowflake, BigQuery). இது பணியாளர் எண்ணிக்கையில் "இலவசம்".
- ஆப்ஜெக்ட் ஸ்டோரேஜ் + திறந்த எஞ்சின்கள் → Iceberg அல்லது Delta வைப் பரிசீலிக்கவும்; ஆளுகைக்காக Nessie அல்லது Unity Catalog ஐச் சேர்க்கவும்.
- ML-கனமான குழாய்த்திட்டங்கள் → சோதனை மீண்டும் உருவாக்க DVC அல்லது Pachyderm ஐப் பார்க்கவும்.
- முழு ஏரி, கிராஸ்-ஃபார்மேட், மேலும் அட்டவணை அல்லாத கலைப்பொருட்கள் (படங்கள், மாடல்கள்) → lakeFS ஐ வெல்ல முடியாது; மாற்றுகள் சேர்க்கைகள் ஆகும்.
- முக்கியமான பகுப்பாய்வு டேபிள்கள் → Iceberg/Delta/Hudi அல்லது வேர்ஹவுஸ் குளோன்கள்.
- நிமிடங்கள்: ஸ்னாப்ஷாட்கள்/குளோன்கள் (Snowflake, Delta).
- மணிநேரம்: அட்டவணை கிளைகளுடன் Iceberg.
- எல்லாவற்றிலும் உடனடி: lakeFS அல்லது மிகவும் ஒழுக்கமான பேக்கேஜ் அடிப்படையிலான அணுகுமுறைகள்.
- Spark/Trino உடன் தரவு பொறியாளர்கள் வசதியாக இருக்கிறார்கள் → Iceberg/Delta நன்றாக இருக்கும்.
- SQL இல் வாழும் பகுப்பாய்வாளர்கள் → வேர்ஹவுஸ்-நேட்டிவ் இதயங்களை வெல்கிறது.
- ML ஆராய்ச்சியாளர்கள் → DVC/Pachyderm இயல்பாக உணர்கிறார்கள்.
- மாறாத வரலாறு மற்றும் டேக்குகள் தேவை → Iceberg/Delta ஸ்னாப்ஷாட்கள், dbt ஸ்னாப்ஷாட்கள் அல்லது ரிமோட்டுடன் கூடிய DVC.
- கிராஸ்-டேட்டாசெட், மனிதனால் படிக்கக்கூடிய மாற்றுக் குறிப்புகள் தேவை → lakeFS அல்லது புல் ரெக்வஸ்ட் (pull requests) உடன் Nessie கிளை.
காட்சி மற்றும் சொல்: lakeFS இல்லாமல் இரண்டு யதார்த்தமான முறைகள்
இன்று பிற்பகலில் நீங்கள் முயற்சி செய்யக்கூடிய இரண்டு முறைகளை பார்க்கலாம்—ஹெல்மெட் தேவையில்லை.
முறை A: வேர்ஹவுஸ்-ஃபர்ஸ்ட், உடனடி சாண்ட்பாக்ஸ்கள் (Snowflake அல்லது BigQuery)
- டேட்டாபேஸில் உற்பத்தியை வைக்கவும்.
- ஒவ்வொரு இரவும் (Snowflake) அல்லது டேபிள் குளோன்கள்/ஸ்னாப்ஷாட்களை உருவாக்கவும் (BigQuery).
- சோதனைகளின் போது உங்கள் BI ஐ க்கு திருப்பி விடவும்.
- வில் மாற்றங்களை இயக்கவும்.
- KPI களைச் சரிபார்க்கவும், தரவு சோதனைகளை இயக்கவும் (எ.கா., dbt ), மேலும் உடன் ஒப்பிடவும்.
- பச்சை நிறமாக இருந்தால், உங்கள் "பதவி உயர்வை" இயக்கவும் (ஒரு காட்சியை மாற்றுவது அல்லது செய்வது).
- சிவப்பு நிறமாக இருந்தால், குளோனை கைவிடவும். எந்த சுத்திகரிப்பு கொண்டாட்டமும் தேவையில்லை.
- வேகமானது, எளிமையானது, பகுப்பாய்வாளர்களுக்கு சிறந்தது.
- வேர்ஹவுஸ்-க்கு மட்டும்; ஆப்ஜெக்ட் ஸ்டோரேஜில் உள்ள கலைப்பொருட்கள் (ML மாடல்கள் போன்றவை) வரம்புக்கு வெளியே உள்ளன.
முறை B: Iceberg + Nessie உடன் திறந்த ஏரி (டேபிள்களுக்கான Git)
- S3/GCS/Azure இல் தரவைச் சேமிக்கவும்.
- Nessie அட்டவணையுடன் Iceberg டேபிள்களைப் பயன்படுத்தவும்.
- Nessie இல் சுட்டிக்காட்ட Spark/Trino ஐ உள்ளமைக்கவும்.
- Nessie இல் கிளையை உருவாக்கவும்.
- புதிய நெடுவரிசைகள் அல்லது திருத்தங்களை Iceberg டேபிள்களுக்குள் கொண்டுவர ETL ஐ இயக்கவும்.
- சரிபார்ப்புகளை இயக்கவும் (வரிசை எண்ணிக்கை, பூஜ்ய சரிபார்ப்புகள், விநியோக விலகல்).
- மகிழ்ச்சியாக இருந்தால், ஐ க்கு வேகமாக அனுப்புங்கள். இல்லையென்றால், கிளையை கைவிடுங்கள்.
- திறந்த, எஞ்சின்-அக்னோஸ்டிக் (agnostic), டேபிள் மெட்டாடேட்டாவிற்கான Git போன்ற செமாண்டிக்ஸ்.
- பதிப்பு நோக்கம் டேபிள் மெட்டாடேட்டா/கோப்புகள், உங்கள் முழு தவறான பக்கெட் அல்ல. அட்டவணை அல்லாத சொத்துக்களுக்கு உங்களுக்கு இன்னும் ஒரு உத்தி தேவைப்படும்.
lakeFS உங்களுக்கு எப்போது தேவைப்படலாம்
நியாயம் நியாயம்தான்: சில நேரங்களில் உலகளாவிய கிளை மாடல் சிறந்த கருவியாக இருக்கும்.
- Parquet டேபிள்கள், CSV குறிப்பு தரவு, ML மாடல்கள் மற்றும் ஆவணங்கள்—ஒன்றாக உயர்த்தப்படுகின்றன.
- ஒரு சாஃப்ட்வேர் வெளியீட்டைப் போல நிலை, சோதனை மற்றும் ஒன்றிணைக்கவும்.
- கிளையைப் பிரிக்கவும், சரிபார்ப்புகளை இயக்கவும், PR-ஸ்டைல் (PR-style) மதிப்புரையைத் திறக்கவும், ஒன்றிணைக்கவும்.
அது உங்கள் நிலைமையாக இருந்தால், பாகங்களிலிருந்து lakeFS ஐ மீண்டும் கட்டியெழுப்புவது போல் மாற்றுகள் தோன்றத் தொடங்குகின்றன. ஒரு கட்டத்தில், உங்கள் சொந்த ரொட்டி ஸ்டார்ட்டரை (bread starter) தயாரிப்பது போன்றது: செய்யக்கூடியது, சுவையானது, மேலும் இது நிறைய கவனிப்பு தேவைப்படுகிறது.
செலவுகள் மற்றும் சிக்கல் பற்றிய ஒரு விரைவான வார்த்தை
- குளோன்கள்/காலப் பயணத் தக்கவைப்புக்கு நீங்கள் பணம் செலுத்துவீர்கள், ஆனால் நீங்கள் மூளை செல்களில் சேமிப்பீர்கள். எளிதான அறிமுகம்.
- உள்கட்டமைப்பு தெரிந்த குழுக்கள் கட்டுப்பாடு மற்றும் எஞ்சின் நெகிழ்வுத்தன்மையை விரும்புவார்கள். இன்னும் அதிகமான குமிழ்களை எதிர்பார்க்கலாம்.
- DVC மற்றும் Pachyderm சோதனை கண்காணிப்பில் பிரகாசிக்கின்றன, ஆனால் நீங்கள் அவற்றை பகுப்பாய்வுகளுடன் தைக்க வேண்டும்.
- ஆளுகை சிறந்தது—யாராவது அதைப் பராமரிக்க வேண்டியிருக்கும் வரை. கொள்கை நிர்வாகத்திற்கான நேரத்தை ஒதுக்குங்கள்.
பொது விதி: உங்கள் குழு அளவு பத்துக்கும் குறைவாகவும், உங்கள் வேலையில் 90% SQL பகுப்பாய்வாகவும் இருந்தால், வேர்ஹவுஸில் தொடங்கவும். நீங்கள் ஐந்து துறைகளுக்கு சேவை செய்யும் ஒரு தளக் குழுவாக இருந்தால், Iceberg/Delta + அட்டவணையின் கட்டடக்கலை கால்ரூமை நீங்கள் பாராட்டுவீர்கள்.
கலவையில்
இதோ ஒரு ஆச்சரியம்: இந்த கருவிகளைச் சுற்றியுள்ள குழப்பமான பகுதிகளை அடக்க உதவும், குறிப்பாக நீங்கள் ஆவணங்கள், SQL சோதனைகள் மற்றும் "என்ன மாறியது?" கதைகளைச் சமன் செய்யும் போது. கிளை வேறுபாடுகள் அல்லது ஸ்னாப்ஷாட் ஒப்பீடுகளை உங்கள் பங்குதாரர்கள் உண்மையில் புரிந்துகொள்ளக்கூடிய மனிதனால் படிக்கக்கூடிய சுருக்கங்களாக மாற்றுவதற்கு இது எளிது. இது ஒரு பதிப்பு அமைப்பு அல்ல—உங்கள் ஏரியை திரும்பப் பெற அதை முயற்சி செய்யாதீர்கள்—ஆனால் மதிப்புரைகள், சோதனைத் திட்டமிடல் மற்றும் விரைவான ஸ்கிரிப்ட் உருவாக்கத்திற்கான ஒரு துணையாக, இது தனது திறமையை நிரூபிக்கிறது.
முடிவு மேட்ரிக்ஸ்: எதை எப்போது எடுக்க வேண்டும்
- உங்களுக்கு திறந்த தரநிலைகள், பல எஞ்சின் ஆதரவு மற்றும் பல டேபிள்களில் கிட் (Git)-போன்ற கிளைகள் வேண்டும் என்றால்.
- நீங்கள் Databricks இல் மகிழ்ச்சியாக இருந்து மிகவும் சுமூகமான பயணத்தை விரும்பினால்.
- நீங்கள் CDC மற்றும் ஸ்ட்ரீமிங் புதுப்பிப்புகளில் வாழ்ந்தால்.
- உங்கள் வாழ்க்கை SQL டாஷ்போர்டுகளாக இருந்தால், எளிதான சாண்ட்பாக்ஸ்களை நீங்கள் விரும்புகிறீர்கள் என்றால்.
- நீங்கள் சேவையகம் இல்லாததை விரும்புகிறீர்கள் மற்றும் தொந்தரவு இல்லாத பணம் செலுத்தும் சோதனைகளை விரும்புகிறீர்கள் என்றால்.
மேலும் ஆம், நீங்கள் கலந்து பொருத்தலாம். பல குழுக்கள் குணப்படுத்தப்பட்ட மார்டுகளுக்கு Delta வை இயக்குகின்றன, ML க்கான DVC, மற்றும் BI க்கான வேர்ஹவுஸ் குளோன்கள்—ஒரே நேரத்தில். இது ஒரு பஃபே (buffet), விலை நிர்ணயிக்கப்பட்ட மெனு அல்ல.
சரிசெய்தல் கார்னர்: பொதுவான "பதிப்பு" தோல்விகள்
- நீங்கள் டேபிளை உயர்த்தினீர்கள், ஆனால் குறிப்புக் கோப்புகளை அல்ல (லுக்ப்புகள், மாடல்கள்). பேக்கேஜிங் அல்லது lakeFS-போன்ற உலகளாவிய பதவி உயர்வைப் பரிசீலிக்கவும், அல்லது குறிப்புகளை வேர்ஹவுஸுக்குள் வைக்கவும்.
- தக்கவைப்பு சாளரங்களில் எச்சரிக்கைகளை அமைக்கவும், முக்கியமான ஸ்னாப்ஷாட்களை டேக் செய்யவும் அல்லது மாறாத சேமிப்பகத்திற்கு ஏற்றுமதி செய்யவும்.
- அட்டவணை நிலைத்தன்மை பிரச்சனை. சூழலுக்கு ஒரு அட்டவணையில் (Nessie/Unity/Glue) தரப்படுத்தவும்.
- “ஸ்கீமா மாறியது; கீழ்நிலை பயனர்கள் பீதியடைந்தனர்.” ஸ்கீமா பரிணாமத்தை ஆதரிக்கும் அட்டவணை வடிவங்களைப் பயன்படுத்தவும், CI இல் ஒப்பந்தங்களைச் (சோதனைகள், கட்டுப்பாடுகள்) சேர்க்கவும்.
30 நிமிட சோதனைத் திட்டம்
- சேமிப்புக் கிடங்கின் பாதை:
- உற்பத்தியை டெவ்வுக்கு நகலெடுக்கவும் (Snowflake/BigQuery).
- dbt வேலையை இயக்கவும்; 3 எளிய சோதனைகளைச் சேர்க்கவும் (null இல்லை, தனித்துவமானது, ஏற்றுக்கொள்ளப்பட்ட மதிப்புகள்).
- KPI களை ஒப்பிட்டு ஒரு காட்சியகத்தை மாற்றுவதன் மூலம் மேம்படுத்தவும்.
- Iceberg அட்டவணை மற்றும் ஒரு Nessie கிளையை உருவாக்கவும்.
- ஒரு நெடுவரிசையைச் சேர்க்கும் சிறிய மாற்றத்தை இயக்கவும்.
- வரிசை எண்ணிக்கைகளையும், பூஜ்ய விகிதங்களையும் சரிபார்க்கவும்; வேகமாக இணைக்கவும்.
- ஒரு சிறிய தரவுத்தொகுப்புடன் DVC களஞ்சியத்தைத் தொடங்கவும்.
- இரண்டு மாதிரிகளைப் பயிற்றுவித்து, பதிப்புகளைக் குறிக்கவும்.
- வேறுபாடு அறிக்கையை உருவாக்கவும்; கமிட்டுடன் அளவீடுகளைச் சேமிக்கவும்.
வியர்வையில்லாமல் மேலே உள்ளதைச் செய்ய முடிந்தால், உங்களுக்குச் சாத்தியமான மாற்று வழி உள்ளது.
கடைசி வரி
உங்கள் தரவை பதிப்பிடுவது ஒரு குறிப்பிட்ட கருவியை வழிபடுவதைப் பற்றியது அல்ல. இது மீண்டும் நிகழ்த்துவது மற்றும் பாதுகாப்பு பற்றியது: விஷயங்களை உடைக்காமல் முயற்சி செய்ய முடியுமா, மேலும் தெரிந்த நல்ல நிலைக்கு விரைவாகத் திரும்ப முடியுமா? lakeFS ஒரு நேர்த்தியான வழி. மாற்றுகள்—Iceberg, Delta, Hudi, Snowflake, BigQuery, DVC, Nessie மற்றும் நண்பர்கள்—சரியான கலவையை நீங்கள் தேர்ந்தெடுத்தால், பெரும்பாலான உண்மையான உலகத் தேவைகளை உள்ளடக்கும்.
என் கருத்து: உங்களுக்கு ஏற்கனவே தெரிந்த சூழலில் திரும்பப்பெறவும், தனிமைப்படுத்தவும் கொடுக்கும் எளிய விஷயத்துடன் தொடங்கவும். உங்கள் பாதிப்பு அதிகரிக்கும்போது, நிர்வாகம் மற்றும் பட்டியல்களைச் சேர்க்கவும். எரியும் தீப்பந்தங்களைப் போல அட்டவணைகள், கோப்புகள் மற்றும் மாதிரிகளை நீங்கள் கையாளும்போது, முழு ஏரியையும் ஒரு Git களஞ்சியமாக கருதும் ஒரு கருவியை நீங்கள் எப்போதும் அடையலாம் என்பதை நினைவில் கொள்ளுங்கள்—அல்லது சரியான சமநிலையைப் பெறும் வரை கலக்கவும், பொருத்தவும்.
இறுதியாக ஒன்று: உங்கள் கிளைகளுக்கு எதிர்காலத்தில் நீங்கள் புரிந்துகொள்ளக்கூடிய ஒன்றை பெயரிடுங்கள். "பிழை-மெட்ரிக்-பிழைதிருத்தம்" என்பது “plswork” ஐ விடச் சிறந்தது. உங்கள் மனநிலையும் பதிப்பிடப்படுகிறது.
அடிக்கடி கேட்கப்படும் கேள்விகள்
Q1: தரவு பதிப்பிற்கான சிறந்த lakeFS மாற்றுகள் யாவை?
சிறந்த lakeFS மாற்றுகளில் Apache Iceberg (பெரும்பாலும் Nessie உடன்), Delta Lake (குறிப்பாக Databricks இல்), CDC-கனமான குழாய்த்திட்டங்களுக்கு Apache Hudi, மற்றும் Snowflake Time Travel மற்றும் BigQuery ஸ்னாப்ஷாட்கள் போன்ற கிடங்கு-உள்ளமைந்த விருப்பங்கள் ஆகியவை அடங்கும். ML பயன்பாட்டு நிகழ்வுகளுக்கு, DVC மற்றும் Pachyderm வலுவான தேர்வுகள்.
Q2: lakeFS க்கு பதிலாக நான் எப்போது Iceberg அல்லது Delta வைத் தேர்ந்தெடுக்க வேண்டும்?
அட்டவணை-நிலை நேரப் பயணம், ACID பரிவர்த்தனைகள் மற்றும் எஞ்சின் ஒருங்கிணைப்பு ஆகியவை உங்கள் முக்கியத் தேவைகளாக இருக்கும்போது Iceberg அல்லது Delta வைத் தேர்ந்தெடுக்கவும். உங்களுக்கு குறுக்கு-வடிவம், ஏரி-முழுவதுமான கிளை மற்றும் அட்டவணை அல்லாத சொத்துக்களின் மேம்பாடு தேவைப்பட்டால், lakeFS இன்னும் முன்னிலையில் உள்ளது.
Q3: Snowflake Time Travel lakeFS ஐ மாற்ற முடியுமா?
கிடங்கு-மையப்படுத்தப்பட்ட குழுக்களுக்கு இது முடியும். Snowflake இன் Time Travel மற்றும் Zero-Copy Cloning ஆகியவை டெவ் சாண்ட்பாக்ஸ்களையும், ரோல்பேக்குகளையும் எளிதாக்குகின்றன, ஆனால் அவை Snowflake க்குள் இருக்கும் தரவை மட்டுமே உள்ளடக்கும்—உங்கள் ஆப்ஜெக்ட் ஸ்டோர், ML மாதிரிகள் அல்லது சீரற்ற கோப்புகளை அல்ல.
Q4: Nessie ஐ எவ்வாறு Iceberg ஒரு lakeFS மாற்றாக ஆக்குகிறது?
Project Nessie உங்கள் Iceberg பட்டியலுக்கு Git-போன்ற கிளைகள் மற்றும் குறிச்சொற்களைச் சேர்க்கிறது, இது பல அட்டவணைகளில் மாற்றங்களைச் சோதிக்கவும், அவற்றை ஒன்றாக மேம்படுத்தவும் அனுமதிக்கிறது. இது மெட்டாடேட்டா-மையமானது, எனவே அட்டவணை அல்லாத சொத்துக்களுக்கு நீங்கள் இன்னும் தனித்தனியாகத் திட்டமிட வேண்டும்.
Q5: lakeFS மாற்றை முன்னோட்டமிட எளிய வழி எது?
நீங்கள் ஒரு கிடங்கில் இருந்தால், உற்பத்தியை டெவ்வுக்கு நகலெடுத்து (Snowflake/BigQuery) சோதனைகளுடன் ஒரு சிறிய மாற்றத்தை முயற்சிக்கவும். திறந்த ஏரியில், Nessie கிளையுடன் Iceberg ஐ உயர்த்தி, வேகமான இணைப்பைப் பயிற்சி செய்யுங்கள். ML க்கு, DVC ஐத் தொடங்கவும், ஒரு தரவுத்தொகுப்பைப் பதிப்பித்து, இரண்டு மாதிரி ரன்களை ஒப்பிடவும்.