join the nosql movement column databases store each column separatelyallowing for quicker scans when only small number of columns is involvedsee figure row id birthday row id jos the boss name hobbies row id archery fritz von braun conquering the world freddy stark building things delphine thewiseone surfing swordplay lollygagging figure column-oriented databases store each column separately with the related row numbers every entity (personis divided over multiple tables this layout looks very similar to row-oriented database with an index on every column database index is data structure that allows for quick lookups on data at the cost of storage space and additional writes (index updatean index maps the row number to the datawhereas column database maps the data to the row numbersin that way counting becomes quickerso it' easy to see how many people like archeryfor instance storing the columns separately also allows for optimized compression because there' only one data type per table when should you use row-oriented database and when should you use columnoriented databasein column-oriented database it' easy to add another column because none of the existing columns are affected by it but adding an entire record requires adapting all tables this makes the row-oriented database preferable over the column-oriented database for online transaction processing (oltp)because this implies adding or changing records constantly the column-oriented database shines when performing analytics and reportingsumming values and counting entries row-oriented database is often the operational database of choice for actual transactions (such as salesovernight batch jobs bring the column-oriented database up to datesupporting lightning-speed lookups and aggregations using mapreduce algorithms for reports examples of column-family stores are apache hbasefacebook' cassandrahypertableand the grandfather of wide-column storesgoogle bigtable key-value stores key-value stores are the least complex of the nosql databases they areas the name suggestsa collection of key-value pairsas shown in figure and this simplicity makes them the most scalable of the nosql database typescapable of storing huge amounts of data