Hello,
We are evaluating OrientDB to represent our Users database. Our schema is quite simple: we only have the "Users" vertex and the "Follows" edge. It works all right with small datasets (<100mb), but as soon as I've imported a few million users it really slows down. Our test dataset is only 7G, but we were hoping to get a 1TB database imported. Are we doing something wrong? any tips to speed up the queries?
For example, getting the followers for a given user takes more than 100 seconds (the user has more than 1M followers)
> select in(Follows) from #12:9389243;
----+------+---------
# |@CLASS|in
----+------+---------
0 |null |[1190488]
----+------+---------
1 item(s) found. Query executed in 102.376 sec(s).
Trying to get the intersection of the followers of 2 users takes >2hours (the users have +1M followers each)
select intersect(in(Follows).id) from User where id in [1,2]
We are running Orientdb community edition 2.1. The server has 16G of RAM, and the database on disk is 7G, the server runs with the following arguments
-Dstorage.diskCache.bufferSize=12474 -Xmx4g
Below is the output of the INFO command
orientdb {test}> info
Current database: test (url=remote:
127.0.0.1/test/)
DISTRIBUTED CONFIGURATION: none (OrientDB is running in standalone mode)
DATABASE PROPERTIES
--------------------------------+----------------------------------------------------+
NAME | VALUE |
--------------------------------+----------------------------------------------------+
Name | null |
Version | 14 |
Conflict Strategy | version |
Date format | yyyy-MM-dd |
Datetime format | yyyy-MM-dd HH:mm:ss |
Timezone | Etc/UTC |
Locale Country | US |
Locale Language | en |
Charset | UTF-8 |
Schema RID | #0:1 |
Index Manager RID | #0:2 |
Dictionary RID | null |
--------------------------------+----------------------------------------------------+
DATABASE CUSTOM PROPERTIES:
+-------------------------------+--------------------------------------------------+
| NAME | VALUE |
+-------------------------------+--------------------------------------------------+
| strictSql | true |
| useLightweightEdges | false |
+-------------------------------+--------------------------------------------------+
CLUSTERS
----------------------------------------------+-------+-------------------+----------------+
NAME | ID | CONFLICT STRATEGY | RECORDS |
----------------------------------------------+-------+-------------------+----------------+
_studio | 11 | | 16 |
default | 3 | | 0 |
e | 10 | | 0 |
follows | 13 | | 6890284 |
index | 1 | | 7 |
internal | 0 | | 3 |
manindex | 2 | | 1 |
ofunction | 6 | | 0 |
orids | 8 | | 0 |
orole | 4 | | 3 |
oschedule | 7 | | 0 |
ouser | 5 | | 3 |
user | 12 | | 6086744 |
v | 9 | | 0 |
----------------------------------------------+-------+-------------------+----------------+
TOTAL = 14 | 12977061 |
------------------------------------------------------+-------------------+----------------+
CLASSES
----------------------------------------------+------------------------------------+------------+----------------+
NAME | SUPERCLASS | CLUSTERS | RECORDS |
----------------------------------------------+------------------------------------+------------+----------------+
_studio | | 11 | 16 |
E | | 10 | 0 |
Follows | [E] | 13 | 6890284 |
OFunction | | 6 | 0 |
OIdentity | | - | 0 |
ORestricted | | - | 0 |
ORIDs | | 8 | 0 |
ORole | [OIdentity] | 4 | 3 |
OSchedule | | 7 | 0 |
OTriggered | | - | 0 |
OUser | [OIdentity] | 5 | 3 |
User | [V] | 12 | 6086744 |
V | | 9 | 0 |
----------------------------------------------+------------------------------------+------------+----------------+
TOTAL = 13 12977050 |
----------------------------------------------+------------------------------------+------------+----------------+
INDEXES
----------------------------------------------+------------+-----------------------+----------------+------------+
NAME | TYPE | CLASS | FIELDS | RECORDS |
----------------------------------------------+------------+-----------------------+----------------+------------+
dictionary | DICTIONARY | | | 0 |
ORole.name | UNIQUE | ORole | name | 3 |
OUser.name | UNIQUE | OUser | name | 3 |
User.id | UNIQUE | User | id | 6086743 |
----------------------------------------------+------------+-----------------------+----------------+------------+
TOTAL = 4 6086749 |
-----------------------------------------------------------------------------------------------------------------+