mirror of https://gitee.com/bigwinds/arangodb
36 lines
1.3 KiB
Plaintext
36 lines
1.3 KiB
Plaintext
!SECTION Different data models and scalability
|
|
|
|
In this section we discuss scalability in the context of the different
|
|
data models supported by ArangoDB.
|
|
|
|
!SUBSECTION Key/value pairs
|
|
|
|
The key/value store data model is the easiest to scale. In ArangoDB,
|
|
this is implemented in the sense that a document collection always has
|
|
a primary key `_key` attribute and in the absence of further secondary
|
|
indexes the document collection behaves like a simple key/value store.
|
|
|
|
The only operations that are possible in this context are single key
|
|
lookups and key/value pair insertions and updates. If `_key` is the
|
|
only sharding attribute then the sharding is done with respect to the
|
|
primary key and all these operations scale linearly. If the sharding is
|
|
done using different shard keys, then a lookup of a single key involves
|
|
asking all shards and thus does not scale linearly.
|
|
|
|
!SUBSECTION document store
|
|
|
|
For the document store case even in the presence of secondary indexes
|
|
essentially the same arguments apply, since an index for a sharded
|
|
collection is simply the same as a local index for each shard. Therefore,
|
|
single document operations still scale linearly with the size of the
|
|
cluster, unless a special sharding configuration makes lookups or
|
|
write operations more expensive.
|
|
|
|
!SUBSECTION complex queries and joins
|
|
|
|
TODO
|
|
|
|
!SUBSECTION graph database
|
|
|
|
TODO
|