As might be expected, which particular database storage solution is used depends on one's needs. 8.2.4.5 Search (SOLR) Searching on Lucene Replication (SOLR) is an open source platform for searching data in HDFS. Searches can be across tabular, text, geo-location, or sensor data after "indexing" of the data is done via XML, JSON, CSV, or via binary. SOLR has the following attributes: Full text search HTML admin interfaces TABLE 8.4 A Comparison of NoSQL Databases in Hadoop NoSQL Database Type Capabilities Applications Limitations Key-value (BerkleyDB, Each value is retrieved by a Applications requiring fast Cannot update subset of a MemcacheDB, Redis, unique key lookup (e.g., mobile, value DynamoDB) In-memory storage for fast gaming, online) Assigning keys may retrieval become challenging as data set grows Document-oriented Value is a structured document Can manage a large variety No standard query syntax (MongoDB, CouchDB, Hiearchical data structures objects with different data Join queries are Apache Solr, Elastic possible, without predefining structure challenging Search) schema Large product catalogs in Supports queries on structured e-commerce, customer documents profiles Common approach for search Column-oriented Value is a set of columns Good for storing multiple No join queries Cassandra, BigTable, Columns can have multiple copies of a log file with HBase, Apache time-stamped versions different time stamps Accumulo Can be generated at run-time Good for analysis that works Graph-oriented Models graphs as nodes and Applications like calling/ Scaling for large graphs is Neo4J, OrientDB, Apache edges texting/social networks typically a challenge Giraph, AllegroGraph Graph computations very fast Relational Conventional relational Traditional applications Scalability (horizontally MySql, PostgreSQL, database management system (CRM, banking, etc.) limited) MariaDB, Oracle, SQL (RDBMS) structure Inefficiency of nested data Server consisting of fixed schema Challenge for unstructured data Source: Choosing a NoSQL 