A column-oriented database stores data tables as columns rather than rows. This improves the speed of queries that aggregate data over large numbers of records by only reading the necessary columns from disk. Column databases compress data well and avoid reading unnecessary columns. However, they have slower insert speeds and incremental loads compared to row-oriented databases, which store each row together and are faster for queries needing entire rows.