There are a number of solutions on the market classified as NoSQL, and specifically some that have been called ‘column stores’ in various blogs, tech articles, etc. These include such offerings like Bigtable, Cassandra, and others. How do these products differ from InfiniDB?
The core differences are these:
- NoSQL products typically don’t use a SQL interface to access the underlying information
- Column databases typically take up less storage space than NoSQL products
- InfiniDB and other column databases provide special optimizers and features (e.g. InfiniDB’s Extent Map) to reduce I/O
- The NoSQL offerings use a model that is not relational whereas InfiniDB is relational
- The NoSQL implementations are actually row-oriented architectures that store what are sometimes called ‘column families’, which are groups of columns that are expected to be accessed together. The individual columns in a column family may not be accessed independently. By contrast, InfiniDB is truly a column-store in that every column is stored by itself on disk
- Because of the third point above. NoSQL offerings tend to perform better with individual insert and delete operations. Column databases like InfiniDB rely on high-speed loaders designed to load data into a column-oriented architecture. However do not misunderstand: InfiniDB supports all DML commands along with ACID transactions; it is just it will normally not perform those operations as fast as a NoSQL solution will. However, InfiniDB will outpace a NoSQL product when it comes to typical analytic or data warehouse use cases (aggregations across all rows, small subset of columns selected. A NoSQL offering will normally do better with single row requests.
- NoSQL products cannot perform join operations whereas InfiniDB (being relational) certainly can.





