एक **कॉलम-ओरिएंटेड डीबीएमएस** एक डेटाबेस प्रबंधन प्रणाली (DBMS) है जो अपने विषयों को पंक्तियों के बजाय स्तंभों में एकत्रित करती है। डेटावेयरहाउस और लाइब्रेरी कैटलॉग को इससे लाभ होता है, जहां बड़ी संख्या में एक जैसे डेटा वस्तुओं के लिए समुच्चय का अभिकलन किया जाता है।

किसी भी डेटाबेस से कॉलम-ओरिएंटेड और रो-ओरिएंटेड संगठन का लाभ हासिल करना संभव है। एक को कॉलम-ओरिएंटेड इंगित कर के हम दोनों को संदर्भित करते हैं, एक तो कॉलम-ओरिएंटेड संरचना की अभिव्यक्ति और कॉलम-ओरिएंटेड कार्यभार के लिए अनुकूलन पर जोर. यह दृष्टिकोण रो-ओरिएंटेड या रो स्टोर डेटाबेस और कोरिलेशन डेटाबेस के विपरीत है, जो मूल्य-आधारित भंडारण संरचना का उपयोग करता है।

विवरण
-----

एक डेटाबेस प्रोग्राम को अपने डेटा को दो आयामी तालिका में दर्शाना चाहिए, स्तम्भ और पंक्तियों में, लेकिन उसे एक आयामी लड़ी के रूप में संग्रहीत करना चाहिए.

| कर्मचारी आइडी | अंतिम नाम | प्रथम नाम | वेतन |
| --- | --- | --- | --- |
| 1 | स्मिथ | जो | 40000 |
| 2 | जोन्स | मेरी | 50000 |
| 3 | जॉन्सन | कैथी | 44000 |

इस सरल तालिका में एक कर्मचारी पहचानकर्ता (EmpId), नाम क्षेत्र (अंतिम नाम और प्रथम नाम) और एक वेतन (वेतन) शामिल होता है। 

यह तालिका कंप्यूटर की स्मृति (RAM) और भंडारण (हार्ड ड्राइव) में मौजूद होती है। हालांकि रैम (RAM) और हार्ड ड्राइव यांत्रिक रूप से भिन्न होते हैं, कंप्यूटर का ऑपरेटिंग सिस्टम उन्हें पृथक करता है। फिर भी, इस डेटाबेस को अपनी दो आयामी तालिका को बाइट्स की एक-आयामी श्रृंखला में रखना चाहिए, ताकि ऑपरेटिंग सिस्टम या तो रैम, या हार्ड ड्राइव, या दोनों पर उसे राईट कर सके. 

एक कॉलम-ओरिएंटेड डेटाबेस सभी मान को एक पंक्ति में एक साथ क्रमवार करता है, फिर मान को अगली पंक्ति में करता है और इसी तरह आगे बढ़ता जाता है। 

```
1, स्मिथ, जो, 40000; 2, जोन्स, मैरी, 50000; 3, जॉनसन, कैथी, 44000; 
```

एक कॉलम-ओरिएंटेड डेटाबेस एक स्तम्भ के सभी मान को एक साथ क्रमवार करता है, फिर अगले स्तम्भ के मान को करता है और इसी तरह आगे बढ़ता जाता है। 

```
1,2,3; स्मिथ, जोन्स जॉनसन; जो, मेरी, कैथी; 40000,50000,44000;
```

यह एक सरलीकरण है। विभाजन, अनुक्रमण, कैशिंग, विचार, OLAP क्यूब और विनिमय प्रणाली जैसे कि राईट अहेड लॉगिंग या बहुसंस्करण संगामिति नियंत्रण, ये सभी, भौतिक संगठन को नाटकीय रूप से प्रभावित करती है। इस तथ्य के बाद, ऑनलाइन ट्रांजैक्शन प्रोसेसिंग (ओएलटीपी)-केंद्रित आरडीबीएमएस प्रणालियां अधिक पंक्ति-उन्मुख होती हैं, जबकि ऑनलाइन एनालिटिकल प्रोसेसिंग (ओएलएपी)-केन्द्रित प्रणाली, पंक्ति-उन्मुख और स्तम्भ-उन्मुख का संतुलन हैं।

लाभ
---

रो-ओरिएंटेड और कॉलम-ओरिएंटेड प्रणालियों के बीच तुलना, आम तौर पर, एक दिए गए कार्यभार के लिए एक हार्ड-डिस्क अभिगम की क्षमता से संबंधित है, क्योंकि कंप्यूटर में अन्य देरी की तुलना में सीक टाइम (ग्रहण समय) अविश्वसनीय रूप से लम्बा है। कभी-कभी, क्रमवार रूप से संग्रहीत डेटा के एक मेगाबाइट की रीडिंग के लिए एक यादृच्छिक अभिगम से अधिक समय नहीं लगता है।. इसके अलावा, चूंकि CPU शक्ति (मूअर का सिद्धांत देखें) की तुलना में ग्रहण समय में सुधार एक धीमी गति से हो रहा है, यह विशेष ध्यान उन सिस्टमों पर जारी रहने की संभावना है जो भंडारण के लिए हार्ड-डिस्क पर निर्भर होते हैं। नीचे अति सरल निष्कर्षों को दिया गया है जो कॉलम-ओरिएंटेड और रो-ओरिएंटेड संगठनों के बीच ट्रेड-ऑफ का एक चित्र बनाने की कोशिश है। बेशक तब तक, जब तक अनुप्रयोग आश्वस्त ना हो जाए कि अधिकांश/सभी डेटा मेमोरी में फिट हो सकता है और उस परिस्थिति में इन-मेमोरी\_डाटाबेस सिस्टम से भारी अनुकूलन उपलब्ध है।

1. कॉलम-ओरिएंटेड प्रणालियां उस वक्त अधिक कुशल होती हैं जब एक योगफल की कई पंक्तियों में गणना करने की आवश्यकता होती है लेकिन केवल डेटा के सभी स्तंभों के एक छोटे सबसेट में, क्योंकि सभी डेटा को पढ़ने की बजाय डेटा के छोटे सबसेट को तेज़ी से पढ़ा जा सकता है।
2. कॉलम-ओरिएंटेड प्रणाली उस वक्त अधिक कुशल होती है जब एक स्तम्भ के मान को सभी पंक्तियों के लिए एक साथ आपूर्ति की जाती है, क्योंकि उस स्तम्भ के डेटा को कुशलतापूर्वक लिखा जा सकता है और पंक्तियों के लिए किसी अन्य कॉलम को छूए बिना पुराने कॉलम के डेटा से बदला जा सकता है।
3. रो-ओरिएंटेड प्रणाली उस वक्त अधिक कुशल होती है जब एक ही पंक्ति के कई कॉलम की एक ही समय में आवश्यकता होती है और जब पंक्ति का आकार अपेक्षाकृत छोटा है, क्योंकि संपूर्ण पंक्ति को एक एकल डिस्क खोज से पुनः प्राप्त किया जा सकता है।
4. रो-ओरिएंटेड प्रणाली उस वक्त अधिक कुशल होती है जब एक नई पंक्ति को राईट किया जा रहा हो अगर सम्पूर्ण कॉलम डेटा की एक ही समय में आपूर्ति की जाती है, क्योंकि संपूर्ण पंक्ति को एक एकल डिस्क खोज से राईट किया जा सकता है।

अभ्यास में, रो-ओरिएंटेड आर्किटेक्चर, OLTP जैसे कार्यभार के लिए बहुत अनुकूल होते हैं जो पारस्परिक लेनदेन से अत्यधिक भरे होते हैं। कॉलम स्टोर ओरिएंटेड भंडार वर्कलोड अच्छी तरह जैसे के लिए OLAP सदृश वर्कलोड (उदाहरण, डेटा गोदाम) के लिए अनुकूल होते हैं, जिसमें आम तौर पर सभी डेटा पर अत्यधिक जटिल प्रश्न शामिल होते हैं (संभवतः टेराबाईट). हालांकि, ऐसे कई सिद्ध पंक्ति-आधारित OLAP RDBMS हैं जो टेराबाईट को संभालते हैं और यहां तक कि पेटाबाईट डेटा को भी, जैसे टेराडाटा.

### कम्प्रेशन

कॉलम डेटा एक जैसे प्रकार के होते हैं; इसलिए कॉलम-ओरिएंटेड डेटा में भंडारण के आकार इष्टतमीकरण का अवसर उपलब्ध है जोकि पंक्ति-उन्मुख डेटा में उपलब्ध नहीं हैं। उदाहरण के लिए, कई लोकप्रिय आधुनिक संपीड़न योजनाएं, जैसे LZW या रन-लेंथ संकेतीकरण, संपीड़न के लिए आसन्न डेटा के समानता का प्रयोग करती हैं। जबकि इन्हीं तकनीकों का इस्तेमाल पंक्ति-उन्मुख डेटा के लिए किया जा सकता है, एक विशिष्ट परिपालन कम प्रभावी परिणाम प्राप्त कर सकता हैं।. 

संपीड़न में सुधार करने के लिए, कई कार्यान्वयन (वर्टिका की तरह) पंक्तियों को छांटते हैं। उदाहरण के लिए, बिटमैप इंडेक्स का प्रयोग, छटाई से संपीड़न को परिमाण के एक क्रम द्वारा सुधार जा सकता है. लेक्सिकोग्राफिकल क्रम के संपीड़न लाभ को रन-लेंथ संकेतीकरण के संदर्भ में उच्चतम सीमा तक बढ़ाने के लिए, प्रथम छांटे हुए कीज़ के रूप में निम्न-प्रमुखता वाले कॉलमों का प्रयोग करना सबसे अच्छा होता है।. जैसे लिंग, आयु, नाम के कॉलम के साथ दिए गए टेबल में, यह सबसे अच्छा होगा की सर्वप्रथम लिंग के आधार पर छांटा जाए (दोनों में प्रमुखता के आधार पर), फिर आयु (प्रमुखता <150 की) फिर नाम से.

विरोध संपीड़न कॉलम-ओरिएंटेड का सा व्यापार बंद करने के लिए यादृच्छिक अभिगम है। एक पंक्ति से सभी डेटा वापस अधिक कुशल जब कि डेटा एक ही स्थान में स्थित है एक जैसे पंक्ति उन्मुख वास्तुकला में. इसके अलावा, अधिक से अधिक आसन्न संपीड़न हासिल की है और अधिक कठिन यादृच्छिक का उपयोग हो सकता है, के रूप में डेटा को पढ़ने के लिए आवश्यकता हो सकती है होना करने के लिए असम्पीडित. इसलिए, कॉलम-ओरिएंटेड उन्मुख आर्किटेक्चर डेटा संकुचित कर रहे हैं कभी कभी ऐसा करने के लिए उपयोग की आवश्यकता को कम करना होता है उद्देश्य से तंत्र में अतिरिक्त समृद्ध द्वारा .

कार्यान्वयन
-----------

कॉलम-ओरिएंटेड भंडार या ट्रांसपोज्ड फाइलें डीबीएमएस विकास के शुरुआती दिनों से लागू किया गया है, जो 1970 में शुरु हुआ। उदाहरण के लिए, सांख्यिकी कनाडा ने 1976 में एक आरएपीआईडी (RAPID) प्रणाली लागू की और उसे कनाडाई जनसंख्या और आवास के प्रसंस्करण और पुनर्प्राप्ति के लिए इस्तेमाल किया और साथ ही साथ कई अन्य सांख्यिकीय अनुप्रयोगों में उसे प्रयोग किया। RAPID को दुनिया भर में अन्य सांख्यिकीय संगठनों के साथ साझा किया गया और 1980 के दशक में व्यापक रूप से इस्तेमाल किया गया। 1990 के दशक तक इसे सांख्यिकी कनाडा द्वारा इस्तेमाल किया जाता रहा.

कई सालों तक, केवल साईबेस आईक्यू उत्पाद, कॉलम-ओरिएंटेड डीबीएमएस वर्ग में व्यावसायिक रूप से उपलब्ध था। हालांकि, कई मुक्त स्रोत और वाणिज्यिक कार्यान्वयन के साथ पिछले कुछ वर्षों में यह तेजी से बदल गया है।

कॉलम-ओरिएंटेड डीबीएमएस के वर्तमान उदाहरण में शामिल हैं:

* वाणिज्यिक
	+ एसएएनडी सीडीबीएमएस
	+ सेनसेज
	+ साइबेस आइक्यु
	+ एसएडीएएस
	+ वर्टिका और अपनी अकादमिक मुक्त-स्रोत संबद्ध C-स्टोर
	+ वैलेंतीना डाटाबेस
	+ Vectornova / Vectorstar उच्च गति डेटा इंजन
	+ केडीबी
	+ एडमार्क, अब सेंसेज प्रवेश सर्वर
	+ '1010data टेंबेज़ डेटाबेस
	+ डेटाप्रोब
	+ इएक्सएसलुशन
	+ स्काइटाइड XOLAP सर्वर
	+ सुपरस्टार फ्रोम स्पेस टाइम रिसर्च
	+ ParAccel विश्लेषणात्मक डाटाबेस
	+ FluidDB
	+ eXtreme-DB from StoneAge tech
* मुक्त स्रोत-(मालिकाना सॉफ्टवेयर)
	+ Calpont's InfiniDB इन्टरप्राइस संस्करण, MySQL-अग्रांत
	+ इन्फोब्राइट (पूर्व Brighthouse) डेटा इंजन, MySQL के साथ एकीकृत
	+ RC21 वाणिज्यिक मुक्त स्रोत परियोजना
	+ Xplain अर्थ डेटाबेस (बुलाया ट्रांस्पोस्द फ़ाइलें). "नवीनतम रिलीज 5.8 संस्करण था (1999)"
* ओपन सोर्स (मुफ्त सॉफ्टवेयर)
	+ Calpont's InfiniDB  समुदाय संस्करण, MySQL-फ्रन्टएन्ड, GPLv2
	+ C-2006 रिलीज के बाद अक्टूबर नया स्टोर
	+ जेनोबाइट कॉलम आधारित भंडारण जीनोटाइप प्रणाली डेटा को संभालने के लिए और एपीआई
	+ लेमर बिटमेप इन्डेक्स C++ लाइब्रेरी (GPL)
	+ [Https: / / codeforge.lbl.gov / fastbit / FastBit] परियोजनाएं
	+ Infobright समुदाय संस्करण, नियमित रूप से अद्यतन
	+ LucidDB और Eigenbase
	+ MonetDB शैक्षिक परियोजना
	+ Ingres & Vectorwise पहल
	+ Metakit
	+ एस प्रोग्रामिंग भाषा और GNU आर उन्मुख विश्लेषण डेटा संरचनाओं के लिए सांख्यिकीय-शामिल कॉलम-ओरिएंटेड

सन्दर्भ
-------

1. ↑  A decomposition storage model,, Copeland, जॉर्ज पी. और Khoshafian, Setrag एन, '85 SIGMOD, 1985.
2. ↑  [2] ^ C-Store: A column-oriented DBMS, Archived 2010-06-19 at the Wayback Machine, Stonebraker एट अल. 2005, कार्यवाही के 31 VLDB सम्मेलन, ट्रॉनहैम, नार्वे
3. ↑  [3] ^ The Star Schema Benchmark and Augmented Fact Table Indexing Archived 2010-08-21 at the Wayback Machine, पॅट & बेट्टी O'Neil, 8/24/09 क्सुएदोंग चेन और स्टीफन रेविलक, TPC प्रौद्योगिकी सम्मेलन
4. ↑  [4] ^ डीजे आबादी, एसआर झुंझलाना, एन हचेम, कॉलम-ओरिएंटेड, पंक्ति स्टोर बनाम-भंडार: अलग कैसे? कर रहे हैं वे वास्तव में,:, 2008, पीपी 967-980 SIGMOD'08..
5. ↑  [5] ^ एन ब्रुनो, एक पुरानी हाथी नई तरकीबें अध्यापन, में: '09 CIDR, 2009.
6. ↑  [6] ^ डैनियल लेमिरे, ओवेन कसर, कमल ऒउइचे, Sorting improves word-aligned bitmap indexes Archived 2010-03-30 at the Wayback Machine. डेटा और ज्ञान इंजीनियरिंग 69 (1), 3-28 पृष्ठों, 2010.
7. ↑  [7] ^ डैनियल Lemire और ओवेन Kaser, (अनुक्रमित छोटे reordering कॉलम-ओरिएंटेडों के लिए (arXiv:0909.1346) Archived 2010-03-30 at the Wayback Machine)
8. ↑  [8] ^ Brighthouse: an analytic data warehouse for ad-hoc queries Archived 2016-05-07 at the Wayback Machine, स्लेज़क एट अल. 2008, कार्यवाही की 34 वीं VLDB सम्मेलन, ऑकलैंड, न्यूज़ीलैंड
9. ↑  [9] ^ A DBMS for Large Statistical Databases, टर्नर, Hammond, कपास, 1979 VLDB की कार्यवाही, रियो डी जेनेरो, ब्राजील.