Columnar database is a concept in database management system (DBMS) that stores data in columns instead of rows. The major difference between the traditional row-oriented databases to the column-oriented databases is in regard with the performance, storage requirements and the way of modifying the schema. Columnar databases are a great option in case your database table has lots of columns and you require query for a small number of them.
The column database is designed to proficiently write and read data from hard disk storage which can speed up the time to return a query. One of the major benefits of a columnar database is that it helps in compressing the data greatly which makes the columnar operations like MIN, MAX, SUM, COUNT and AVG very fast. Another benefit of column-oriented DBMSs is that it is a self-indexing system and makes use of less disk space than a relational database management system (RDBMS). Columnar databases method is especially important in data warehousing domain which deals with large volume of data. In data warehouse domain large amount of complex data is loaded, transformed and accumulated which can be easily done by using Column-oriented database system.
Columnar database have various benefits over the traditional row oriented databases but like any other system this also have some challenges to face. Like the load time is sometimes very slow if tens or hundreds of gigabytes of data is involved in the process. Another very challenging part is the incremental loads which creates some major problems in the performance of the system. Moreover, the uncompressing of data can be really slow in this process. Definitely the columnar database is advantageous for large databases but the case is not the same if you are using a common sized database. So, choosing the right approach and technology for your data warehouse implementation depends on various factors for which you require careful assessment of all your needs.
Overall the column-oriented databases are of great use than the traditional row oriented one. We find that columnar databases are an interesting approach which is very useful for data warehouse implementations. However, the fact remains the same there is no one approach that fit all. So, choose the database management system according to your needs and requirements.