DuckDB எனும் கட்டற்ற கட்டணமற்ற தரவுத்தளம்

DuckDB என்பது உயர் செயல்திறன் கொண்ட பகுப்பாய்வு தரவுத்தள அமைப்பாகும். இது விரைவாகவும், நம்பகத்தன்மையுடனும், செயல்படுவதோடு மட்டுமல்லாமல் பயன்படுத்திகொள்வதற்கு எளிதானதாகவும் வடிவமைக்கப் பட்டுள்ளது. DuckDB, ஆனது SQLஇன் அடிப்படைக்கு அப்பாற்பட்ட ஆதரவுடன், வளமான SQL நடைமுறைசெயலாக்கத்தினை வழங்குகிறது. DuckDB தன்னிச்சையான, உள்ளமைவு தொடர்புடைய துணை வினவல்கள், சாளர செயல்பாடுகள், தொகுப்புகள், சிக்கலான வகைகள் (வரிசைகள், கட்டமைப்புகள்) போன்ற பலவற்றை ஆதரிக்கிறது.
DuckDB ஐ ஏன் பயன்படுத்திடவேண்டும்: தற்போது பொதுமக்களின் பயன்பாட்டிற்காகவென பல்வேறு தரவுத்தள மேலாண்மை அமைப்புகள் (DBMS) உள்ளன. ஆனால் அவ்வாறான அனைத்து தரவுத்தள அமைப்புகளுக்கும் ஒரேஅளவில் பொருந்தக்கூடிய அமைப்பாக இல்லை என்பதே எதார்த்தமான உண்மையாகும். அதாவது குறிப்பிட்ட பயன்பாட்டு நிகழ்வுகளுக்குச் சிறப்பாகச் சரிசெய்ய பொதுமக்கள் அனைவரும் வெவ்வேறு வர்த்தக-தரவுத்தள பயன் பாடுகளை தாங்கள் பயன்படுத்துவதற்காக எடுத்துக் கொள்கிறார்கள். ஆயினும் DuckDB அதற்கு வேறுபட்டதன்று. ஆயினும், DuckDB என்ன இலக்குகளை கொண்டுள்ளது எவ்வாறு அந்த இலக்குகளை தொழில்நுட்ப வழிமுறைகள் மூலம் அடைய முயற்சிக்கின்றது என்பதுதான் உண்மையான களநிலவரமாகும். DuckDB என்பது இயங்கத் துவங்குவதற்கு, கட்டமைக்கப்பட்ட வினவல் மொழியை (SQL) ஆதரிப்பது தொடர்புடைய (அட்டவணை சார்ந்த) DBMS ஆகும்.
விரைவான பகுப்பாய்வு வினவல்கள்:DuckDB ஆனது பகுப்பாய்வு வினவல் பணிச்சுமைகளையும் ஆதரித்திடுமாறு வடிவமைக்கப்பட்டுள்ளது, அதனால்இது இணையத்தின் வாயிலான பகுப்பாய்வு செயலாக்கம் (OLAP) என்றும் அழைக்கப்படுகிறது. இந்த பணிச்சுமைகள் சிக்கலான, ஒப்பீட்டளவில் நீண்டகால வினவல்களால் வகைப்படுத்தப்படுகின்றன, அவை சேமிக்கப்பட்ட தரவுத்தொகுப்பின் குறிப்பிடத்தக்க பகுதிகளைச் செயலாக்குகின்றன, எடுத்துக்காட்டாக முழு அட்டவணைகள் அல்லது பல பெரிய அட்டவணை களுக்கு இடையில் ஒருங்கிணைத்தல். பல வரிசைகள் இணைத்தல் அல்லது ஒரே நேரத்தில் பெரிய அளவிலான அட்டவணைகள் மாற்றுதல் அல்லது சேர்த்தல் ஆகியபணிகளை செயல்படுத்திடுகின்றது.
இந்த பணிச்சுமையை திறம்பட ஆதரிக்க, தனிப்பட்ட மதிப்பிற்கு செலவிடப்படும் CPU சுழற்சிகளின் அளவைக் குறைப்பது மிகவும் முக்கியமானது. இதை அடைவதற்கான தரவு நிர்வாகத்தின் நவீன நிலை நெறியபடுத்தப்பட்ட(vectorized )அல்லது சரியான நேரத்தில் வினவல் செயல்படுத்திடுகின்ற இயந்திரங்கள் ஆகும். DuckDB ஒரு நெடுவரிசை-நெறியபடுத்தப்பட்ட(vectorized ) வினவல் செயலாக்க இயந்திரத்தைக் கொண்டுள்ளது, அங்கு வினவல்களுக்கு இன்னும் அதிக விளக்கமளிக்கப் படுகின்றன, ஆனால் ஒரு செயல்பாட்டில் ஒரு பெரிய தொகுப்பு மதிப்புகள் (ஒரு “நெறியம்(vector)”) செயலாக்கப்படுகின்றன. இது ஒவ்வொரு வரிசையையும் வரிசையாகச் செயலாக்குகின்றது இது PostgreSQL, MySQL அல்லது SQLite போன்ற பாரம்பரிய அமைப்புகளில் இருக்கின்ற மேல்நிலையை வெகுவாகக் குறைக்கிறது. நெறியபடுத்தப்பட்ட(vectorized ) வினவல் செயல்படுத்தலின் வாயிலக OLAP வினவல்களில் மிகச் சிறந்த செயல்திறனுக்கு வழிவகுக்கிறது.
எளிய செயல்பாடு: SQLite என்பது உலகின் மிகவும் பரவலாக பயன்படுத்தப்பட்ட DBMS ஆகும். நிறுவுகைசெய்வதில் எளிமை , உட்பொதிக்கப்பட்ட செயலியில் உள்ள செயலியானது அதன் வெற்றிக்கு மையமாக உள்ளது. எளிமையையும் உட்பொதிக்கப்பட்ட செயல்பாட்டின் இந்த ஆலோசனைகளையும் DuckDB ஏற்றுக்கொள்கிறது.
DuckDB க்கு வெளிப்புற சார்புகள் எதுவும்இல்லை, தொகுக்கவோ அல்லது இயக்க நேரத்திலோ இது செயல்படுவது இல்லை. வெளியீடுகளுக்கு, DuckDB இன் முழுமையான மூல மரம்போன்ற தலைப்பு , செயல்படுத்தல்ஆகிய இரண்டு கோப்புகளாக தொகுக்கப்படுகிறது, இவ்விரண்டினையும் சேர்த்து, “ஒன்றிணைத்தல்” என்றும் அழைக்கப்படுகிறது. இது மற்ற உருவாக்க செயல்முறைகளில் வரிசைப்படுத்தலையும் ஒருங்கிணைப்பையும் பெரிதும் எளிதாக்குகிறது. கட்டமைப்பிற்கு, DuckDB ஐ உருவாக்க தேவையான அனைத்தும் பணிகளையும் C++11 எனும் இயந்திரமொழிமாற்றி செயல்படுத்தி கொள்கின்றது.
DuckDB க்கு, நிறுவுகைசெய்தல், புதுப்பித்தல், பராமரித்தல் ஆகிய பணிகளுக்காக வென தனியாக DBMS சேவையாளர் மென்பொருள் எதுவும்இதில்இல்லை. DuckDB ஒரு தனி செயல்முறையாக இயங்குவதில்லை, ஆனால் இது ஒரு புரவலரின் செயல்முறைக்குள் முழுமையாக உட்பொதிக்கப்பட்டுள்ளது. DuckDB குறிவைக்கின்ற பகுப்பாய்வு பயன்பாட்டு நிகழ்வுகளுக்கு, இது தரவுத்தளத்திற்கு தரவுத்தளத்திலிருந்து அதிவேக தரவு பரிமாற்றத்தின் கூடுதல் நன்மையைக் கொண்டுள்ளது. சில சந்தர்ப்பங்களில், இதன்மூலம்DuckDB வெளிப்புறத் தரவை நகலெடுக்காமல் செயலாக்க முடியும். எடுத்துக்காட்டாக, DuckDBஇல் பைதான் மொழியின் தொகுப்பு எந்த தரவையும் பதிவிறக்கம் செய்திடாமல் அல்லது நகலெடுக்காமல் நேரடியாக பாண்டாஸ் தரவில் வினவல்களை இயக்க முடியும்.
பல்வேறுவசதிகள் நிறைந்தது: DuckDB தீவிர தரவு மேலாண்மை வசதிகளை வழங்குகிறது. மிகப்பெரிய செயல்பாட்டு நூலகம், சாளர செயல்பாடுகள் போன்றவற்றுடன் SQL இல் சிக்கலான வினவல்களுக்கு விரிவான ஆதரவினை கொண்டுள்ளது. DuckDB தனிப்பயன், மொத்தமாக-உகந்த பல பதிப்பு ஒத்துப்போகும் கட்டுப்பாட்டின் (MVCC) மூலம் பரிமாற்ற உத்தரவாதங்களை (ACID பண்புகள்) வழங்குகிறது. தரவை நிலையான, ஒற்றையான கோப்பு தரவுத்தளங்களில் சேமிக்க முடியும். ஒற்றையான அட்டவணை உள்ளீட்டைக் கண்டறியும் வினவல்களை விரைவுபடுத்த DuckDB இரண்டாம் நிலை குறிமுறைவரிகளை ஆதரிக்கிறது.
திறமையான ஊடாடும் தரவு பகுப்பாய்வுக்காக DuckDB பைதான் , R ஆகிய கணினிமொழியுடன் உடன் ஒருங்கிணைக்கப்பட்டுள்ளது. அதனோடுJava, C, C++போன்ற பிறகணினிமொழிகளுக்கான APIகளையும் DuckDB வழங்குகிறது.
முழுமையான பரிசோதனை: DuckDB ஒரு ஆய்வுக் குழுவால் உருவாக்கப் பட்டாலும், இது ஒரு ஆய்வு முன்மாதிரியாக இருக்காது. DuckDB ஒரு நிலையான,முதிர்ந்த தரவுத்தள அமைப்பாக இருக்கின்றது.
இந்த நிலைத்தன்மையை எளிதாக்க, DuckDB தொடர்ச்சியான ஒருங்கிணைப்பைப் பயன்படுத்தி தீவிரமாக பரிசோதிக்கப்படுகிறது. DuckDB இன் சோதனைத் தொகுப்பில் தற்போது மில்லியன் கணக்கான வினவல்கள் உள்ளன, மேலும் SQLite, PostgreSQL,MonetDB ஆகியவற்றின் பரிசோதனைத் தொகுப்புகளை தழுவிய வினவல்களையும் உள்ளடக்கியது. பரிசோதனைகள் பலதரப்பட்ட தளங்கள் இயந்திரமொழிமாற்றிகளில் மீண்டும் மீண்டும் செயல்படுத்தப்படுகின்றன. எழுகின்ற ஒவ்வொரு கோரிக்கையும் முழு பரிசோதனை அமைப்பிற்கு எதிராக சரிபார்க்கப்பட்டு, அது கடந்துவிட்டால் மட்டுமே ஒன்றிணைக்கப்படுகின்றது.
இந்த சோதனைத் தொகுப்பைத் தவிர, அதிக சுமைகளின் கீழ் DuckDB-க்கு அழுத்தம் கொடுக்கின்ற பல்வேறு சோதனைகள் நடத்தப்படுகின்றன. இதுTPC-H, TPC-DS ஆகிய வரையறைகளை இயக்குகின்றது, மேலும் DuckDB பல்வேறு வாடிக்கையாளர்களால் இணையாகப் பயன்படுத்தப்படுகின்ற பல்வேறு பரிசோதனைகளையும் இயக்குகின்றது.
இது கட்டணமற்றதாகவும் கட்டற்றதாகவும் MIT உரிமத்தின் கீழ் பொதுமக்களின் பயன்பாட்டிற்காக வெளியிடப்பட்டுள்ளது.மேலும் விவரங்களுக்கும் பதிவிறக்கம் செய்து பயன்படுத்தி கொள்ளவும் github.com/duckdb/duckdb எனும் இணையதள முகவரிக்கு செல்க

%d bloggers like this: