Multi Model Database Model your data using flexible combinations of key-value pairs, documents and graphs. If you are used to Domain-Driven Design you will love the way to model the data according to your domain without any need for a ORM or the like. Check out Martin’s talk to learn how it works. ArangoDB is a “document-oriented database”; it basically provides access to documents which are stored in collections. If you are new to NoSQL databases, think of documents as rows in a non-normalized table and of collections as tables for the time being. There is no need to define a schema beforehand. Therefore these kind of databases are often called schemaless. Documents in ArangoDB are uniquely identified by keys, allowing key/value storage. They can be connected, allowing you to treat and query them as graphs. So, you can chose which model fits best to your needs or combine the models in a convenient way. Documents can be very simple or as complex as you like, they can be nested and different types of indexes are supported. Most other NoSQL databases don’t support transactions at all or at most single-document transaction semantic. ArangoDB even supports transactions with as many documents involved as you need and even across collections. A specialized binary data file format is used for disk storage. Structure data is stored separately from the documents and shared between documents with the same structure (i.e., with the same attribute names and types). Sharing the structure data between multiple documents greatly reduces disk storage space and memory usage for documents. Sharding The following figure shows a basic sharding scenario: The application has one very large collection called “products”. This collection is too large to stay on one server, so it is sharded over three servers by a user defined or automatically chosen key. For simplicity of the example there is only one coordinator who dispatches requests and returns responses, you can configure multi independent coordinators to distribute load as well. The coordinator analyzes the query/operation and decides which parts of the cluster to interact with. Setting up a ArangoDB cluster for sharding is accomplished in a few minutes. If you want to dive deeper into the subject, we recommend the technical overview. You can set up slaves for each part of the cluster and use them to back up the data and as a replacement in case one part ofaaa
Comments (0)
Sign in to post comments.