In addition to consolidating your overall technical needs, this simplification leads to lower total cost of ownership and increasing flexibility. Consequently, it reduces the technology-stack complexity for the application. ArangoDB - Advantagesįollowing are the advantages of using ArangoDB − ConsolidationĪs a native multi-model database, ArangoDB eliminates the need to deploy multiple databases, and thus decreases the number of components and their maintenance. ArangoDB supports ACID-compliant transactions.ĪrangoDB allows clients, such as browsers, to interact with the database with HTTP API, the API being resource-oriented and extendable with JavaScript. The four properties Atomicity, Consistency, Isolation, and Durability (ACID) describe the guarantees of database transactions. Following are a few models supported by ArangoDB −Ī single query language is enough to retrieve data out of the database We will highlight the prominent features below −ĪrangoDB supports all popular database models. There are various notable features of ArangoDB. Further, JSON documents are a natural fit to store this type of vertex and edge data. It captures relations and can hold label information with each edge and with each vertex. In many real-world cases such as social network, recommendor system, etc., a very natural data model is a graph. Graphs are a perfect fit as data model for relations. For example, ShortestPath, GraphTraversal, and Neighbors. In particular, these may involve the particular connectivity features coming from the edges. The next challenge after unifying the data for the three data models, is to devise and implement a common query language that can allow data administrators to express a variety of queries, such as document queries, key/value lookups, graphy queries, and arbitrary combinations of these.īy graphy queries, we mean queries involving graph-theoretic considerations. It can lead to some operational friction (more complicated deployment, more frequent upgrades) as well as data consistency and duplication issues. However, traditional implementation of this approach will lead one to use multiple databases in the same project. Interpreting the basic idea leads us to realize the benefits of using a variety of appropriate data models for different parts of the persistence layer, the layer being part of the larger software architecture.Īccording to this, one might, for example, use a relational database to persist structured, tabular data a document store for unstructured, object-like data a key/value store for a hash table and a graph database for highly linked referential data. It leads to performance advantages to ArangoDB in comparison to the “layered” approaches. In ArangoDB, there is no “switching” between data models, and there is no shifting of data from A to B to execute queries. With ArangoDB, the same core with the same query language, one can club together different data models and features in a single query, as we have already stated in previous section. Many database vendors call their product “multi-model,” but adding a graph layer to a key/value or document store does not qualify as native multi-model. In this section, we will highlight a crucial difference between native and layered multimodel databases. And, owing to its multi-model style, one can make lean applications, which will be scalable horizontally with any or all of the three data models. Moreover, different models can be combined in a single query. And with a single declarative query language, any or all of your data can be accessed. In this database, the data can be stored as documents, key/value pairs or graphs. You can check the documentation for more details on transaction restrictions.ArangoDB is hailed as a native multi-model database by its developers. The amount of transaction durability is configurable in ArangoDB, as is the durability on the collection level. Finally, the durabilityproposition makes sure that operations from transactions that have been committed will be made persistent.The isolationproperty will hide the modifications of a transaction from other transactions until the transaction commits.A transaction will never corrupt the database. The consistencyprinciple ensures that no constraints or other invariants will be violated during or after any transaction.The atomicityprinciple makes transactions either complete in their entirety or has no effect at all.These ACID properties provide the following guarantees: Transactions in ArangoDB are atomic, consistent, isolated, and durable ( ACID). ArangoDB provides support for user-definable transactions (One of its main advantages in comparison with other NoSQL databases).
0 Comments
Leave a Reply. |