Column (database)






An example of output columns from a Postgres database.


In a relational database, a column is a set of data values of a particular simple type, one value for each row of the database.[1] A column may contain text values, numbers, or even pointers to files in the operating system.[2] Some relational database systems allow columns to contain more complex data types; whole documents, images or even video clips are examples.[3] A column can also be called an attribute.


Each row would provide a data value for each column and would then be understood as a single structured data value. For example, a database that represents company contact information might have the following columns: ID, Company Name, Address Line 1, Address Line 2, City, and Postal Code. More formally, each row can be interpreted as a relvar, composed of a set of tuples, with each tuple consisting of the relevant column and its value, for example, the tuple ('Address 1', '12345 West Example Street').




Contents






  • 1 Field


  • 2 Row database vs column database


  • 3 Advantages


  • 4 Disadvantages


  • 5 Popular databases


  • 6 See also


  • 7 References





Field


The word 'field' is normally used interchangeably with 'column'.[4] However, database perfectionists tend to favor using 'field' to signify a specific cell of a given row.[citation needed]



Row database vs column database


Relational databases mainly use row-based data storage, but column-based storage can be more useful for many business applications. For example, a column database has faster access to which columns can read throughout the ranging process of a query. Any of the columns are known to serve as an index.


Alternatively, row-based applications process only one record at one time and normally need to access a complete record or two. Column databases have better compression as the data storage permits highly effective compression since the majority of the columns cover only a few distinct values compared to the number of rows.[5]


Furthermore, in a column store, data is already vertically divided. This vertical organization allows operations on different columns to be processed in parallel. If multiple items need to be searched or aggregated, each of these operations can be assigned to a different processor core. Overall, row-based databases in rows need to check read through the obligation is to access data from a few columns. Therefore, requests on a large amount of data can take a lot of time, whereas, in column database tables, this information is kept physically next to each other, knowingly increasing the speed of certain data queries.[6]



Advantages


The main benefit of keeping data in a column database is that some queries can come really quickly. For instance, if you want to know the average age of all users, you can easily jump to the area where the 'age' data is stored and read just the data needed instead of searching up the age for each record row by row. During querying, columnar storage avoids going over non-relevant data. Therefore, aggregation queries where one only needs to look up subsets of total data develop more quickly, compared to row-oriented databases.[7]


Also, as the data type of each column is alike, better compression occurs when running compression algorithms on each column, which will help queries churn results more quickly.[8]



Disadvantages


There are many situations where multiple fields from each row will be desired. Column databases are usually not the best option for these types of queries. The more fields that need reading per record, the fewer benefits there are in storing data in a column-oriented fashion. If queries are looking for user-specific values only, row-oriented databases usually perform those queries faster.


Secondly, writing new data could take more time in columnar storage.[9] For instance, if you're inserting a new record into a row-oriented database, you can easily write that in one process. However, if you're inserting a new record into a column database, you need to write to each column one by one. This results as it will take longer time when loading new data or updating many values in a columnar database.[10]



Popular databases


Some examples of popular databases include:



  • Sybase

  • DB2

  • MySQL

  • SQL Server

  • Access

  • Oracle

  • PostgreSQL



See also




  • Column-oriented DBMS, optimization for column-centric queries


  • Column (data store), a similar object used in distributed data stores

  • Row (database)

  • SQL

  • Query language

  • Structured Query Language



References





  1. ^ The term "column" also has equivalent applications in other, more generic contexts. See e.g., Flat file database, Table (information).


  2. ^ "Columnar databases in a big data environment". dummies.com (Big dummies book). Retrieved 2015-11-05..mw-parser-output cite.citation{font-style:inherit}.mw-parser-output q{quotes:"""""""'""'"}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:inherit;padding:inherit}.mw-parser-output .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-lock-limited a,.mw-parser-output .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}


  3. ^ "What is Database Column? - Definition from Techopedia". Techopedia.com. Retrieved 2015-11-05.


  4. ^ "An introduction to databases". www.ucl.ac.uk. Retrieved 2015-11-05.


  5. ^ "Introduction to column-oriented databases". 2012-11-30.


  6. ^ "» SAP HANA Tutorial". saphanatutorial.com. Retrieved 2015-11-05.


  7. ^ "What's Unique About a Columnar Database? | FlyData". FlyData. Retrieved 2015-11-05.


  8. ^ "What's So Unique About a Columnar Database?". 2015-02-06.


  9. ^ "Column-Oriented Database Technologies | DB Best Chronicles". www.dbbest.com. Retrieved 2015-11-05.


  10. ^ "The Database Decision: A Guide". Data Informed. Retrieved 2015-11-05.










Popular posts from this blog

Florida Star v. B. J. F.

Error while running script in elastic search , gateway timeout

Adding quotations to stringified JSON object values