3/25/2023 0 Comments Arangodb subdocument![]() What are all the parts in a given component?.Questions can include but are not limited to the following examples: This data is tracked in order to provide information and answer questions. Every single piece of data is usually attached to a specific item in the above hierarchy. There are names of parts or components, serial numbers, manufacturer information, maintenance intervals, maintenance dates, information about subcontractors, links to manuals and documentation, contact persons, warranty and service contract information, to name but a few. Aircraft fleets consists of several aircraft, and a typical aircraft consists of several million parts, which form subcomponents, larger and smaller components, such that we get a whole hierarchy of “items.” To organise the maintenance of such a fleet, one has to store a multitude of data at different levels of this hierarchy. One area where the flexibility of a multi-model database is extremely well suited is the management of large amounts of hierarchical data, such as in an aircraft fleet. By “graphy queries,” I mean queries that involve the particular connectivity features coming from the edges, for example “ShortestPath,” “GraphTraversal,” and “Neighbors.” Aircraft fleet maintenance: A case study Having unified the data for the three data models in this way, it only remains to devise and implement a common query language that allows users to express document queries, key/value lookups, “graphy queries,” and arbitrary mixtures of these. The edges are kept in special edge collections that ensure that every edge has “from” and “to” attributes that reference the starting and ending vertices of the edge respectively. The graph data model can be implemented by storing a JSON document for each vertex and a JSON document for each edge. In the absence of secondary indexes, the fact that the values are JSON does not really impose a performance penalty and offers a good amount of flexibility. ![]() Documents in a document collection usually have a unique primary key that encodes document identity, which makes a document store naturally into a key/value store, in which the keys are strings and the values are JSON documents. Nevertheless, this combination allows you - to a certain extent - to follow the polyglot persistence approach without the need for multiple data stores.Īt first glance, the concept of a multi-model database might be a bit hard to swallow, so let me explain this idea briefly. The column-oriented data model has, for example, been left out intentionally. ![]() Without getting into too much technical detail, these three data models are specially chosen because an architecture like this can successfully compete with more specialised solutions on their own turf, both with respect to query performance and memory usage. You can solve this problem by using a multi-model database that consists of a document store (JSON documents), a key/value store, and a graph database, all in one database engine and with a unifying query language and API that cover all three data models and even allow for mixing them in a single query. This is the calamity that a multi-model database addresses. Learn more Figure 1: tables, documents, graphs and key/value pairs: different data models. Get a free trial today and find answers on the fly, or master something new and useful. Join the O'Reilly online learning platform.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |