Essentially, they are ordered sets of key-document pairs that store data in documents and where documents are gathered together in collections within the database (Strauch et al. 2011; Cattell, 2011). In these data stores, documents may be assessed through unique primary keys, metadata, collection of documents, and through query languages. Moreover, each document can contain different fields and data can be queried based on any combination of fields in a document (Strauch et al. 2011; Cattell, 2011). Therefore, unlike key value stores and extensible record stores, they can provide query robustness similar to traditional RDBMS. Moreover, there application is not limited to areas that only query data by a single primary key.
Unlike traditional RDBMS that store data in rows and in columns of tables that are connected using primary and foreign keys, document-oriented stores store data in documents (which are analogous to rows) and in fields (which are analogous to columns). Moreover, rather than spreading data across multiple columns and tables connected with foreign keys, data for each record are typically stored together in a single document (Bourret, 2006; Strauch et al. 2011; Cattell, 2011). This data model often eliminates the need for expensive multi-record transactions and joins. Table below provides relation between concepts used in traditional RDBMS and in document-oriented stores.
Unlike Key Value Stores, these data stores could support complex operations such as dynamic querying and complex data with multiple types of documents per database, and nested documents (Bourret, 2006; Strauch et al. 2011; Cattell, 2011). For instance, document-oriented stores could handle complicated nested objects such as multiple authors name for a book.
Moreover, unlike traditional RDBMS, these are schema-flexible data stores that typically have high horizontal scalability, that do not support joins and that could handle high variety of data with low operational complexity (Bourret, 2006; Cattell, 2011). For instance, when used to manage product catalog, these data stores could store items with different schema. Therefore, they could provide high performance alternative to traditional RDBMS for storing and accessing variety of data such as semi-structured data with complicated nested objects.
Overall, document-oriented stores have following internal strengths and weaknesses, and external opportunities and threats:
Contact us for more information.