I am using to OrientdbInsertPerformanceTest to create the vertex and 
edge.In the same code how to make sure that duplicate node and edge are not 
created.



On Monday, 7 January 2013 20:09:48 UTC+5:30, Milen Dyankov wrote:
>
> *DISCLAIMER: I'm typically NOT a type of person that posts messages like 
> "hey, this other product is better then yours" and it is NOT my intention 
> to start any fights about which GraphDB is better. *
> *The results below are not a benchmark of any kind! They simply 
> demonstrates that I was unable to get satisfying performance results with 
> OriendDB in particular use case!    *
>
> I'm trying to insert some test data into local OrientDB. While 
> inserting vertices is fast enough, inserting edges gets slower and slower 
> as the amount of edges grows. Here is the result of very simple unit test:
>
>
> |-----------------------------------------------------------------------------------------|
> | Test inserting VERTECES_ONLY                                             
>                |
>
> |-----------------------------------------------------------------------------------------|
> |       documents |        vertices |           edges |       time (ms) | 
>   avg (doc/sec) |
> | --------------- | --------------- | --------------- | --------------- | 
> --------------- |
> |            1000 |            1000 |               0 |             228 | 
>         4385.96 |
> |           10000 |           10000 |               0 |             754 | 
>        13262.60 |
> |           25000 |           25000 |               0 |             327 | 
>        76452.60 |
> |           50000 |           50000 |               0 |             439 | 
>       113895.22 |
> |          100000 |          100000 |               0 |             625 | 
>       160000.00 |
> |          500000 |          500000 |               0 |            2913 | 
>       171644.35 |
> |         1000000 |         1000000 |               0 |            5879 | 
>       170096.96 |
>
> |-----------------------------------------------------------------------------------------|
> | Test inserting VERTECES_AND_EDGES                                       
>                 |
>
> |-----------------------------------------------------------------------------------------|
> |       documents |        vertices |           edges |       time (ms) | 
>   avg (doc/sec) |
> | --------------- | --------------- | --------------- | --------------- | 
> --------------- |
> |            1000 |             500 |             500 |             773 | 
>         1293.66 |
> |           10000 |            5000 |            5000 |            6832 | 
>         1463.70 |
> |           25000 |           12500 |           12500 |           36484 | 
>          685.23 |
>
> |-----------------------------------------------------------------------------------------|
> | Test inserting EDGES_ONLY                                               
>                 |
>
> |-----------------------------------------------------------------------------------------|
> |       documents |        vertices |           edges |       time (ms) | 
>   avg (doc/sec) |
> | --------------- | --------------- | --------------- | --------------- | 
> --------------- |
> |            1000 |               2 |             998 |             347 | 
>         2881.84 |
> |           10000 |               2 |            9998 |           23363 | 
>          428.03 |
> |           25000 |               2 |           24998 |          148187 | 
>          168.71 |
>
> |-----------------------------------------------------------------------------------------|
>  
>
> As you can see inserting 10000 edges takes 23 seconds! I'm not even 
> trying to go over 25000 as it takes forever! 
> I thought there may be a problems with inserting relations in graph 
> databases in general so I started experimenting with Neo4j. 
> But I was surprised by the results:
>
>
> |-----------------------------------------------------------------------------------------|
> | Test inserting VERTECES_ONLY                                             
>                |
>
> |-----------------------------------------------------------------------------------------|
> |       documents |        vertices |           edges |       time (ms) | 
>   avg (doc/sec) |
> | --------------- | --------------- | --------------- | --------------- | 
> --------------- |
> |            1001 |            1001 |               0 |              61 | 
>        16409.84 |
> |           10001 |           10001 |               0 |             376 | 
>        26598.40 |
> |           25001 |           25001 |               0 |             101 | 
>       247534.65 |
> |           50001 |           50001 |               0 |             123 | 
>       406512.20 |
> |          100001 |          100001 |               0 |             234 | 
>       427354.70 |
> |          500001 |          500001 |               0 |            2005 | 
>       249377.06 |
> |         1000001 |         1000001 |               0 |            5372 | 
>       186150.60 |
>
> |-----------------------------------------------------------------------------------------|
> | Test inserting VERTECES_AND_EDGES                                       
>                 |
>
> |-----------------------------------------------------------------------------------------|
> |       documents |        vertices |           edges |       time (ms) | 
>   avg (doc/sec) |
> | --------------- | --------------- | --------------- | --------------- | 
> --------------- |
> |            1001 |             501 |             500 |             187 | 
>         5352.94 |
> |           10001 |            5001 |            5000 |             278 | 
>        35974.82 |
> |           25001 |           12501 |           12500 |             328 | 
>        76222.56 |
> |           50001 |           25001 |           25000 |             292 | 
>       171236.30 |
> |          100001 |           50001 |           50000 |             490 | 
>       204083.67 |
> |          500001 |          250001 |          250000 |            1857 | 
>       269252.02 |
> |         1000001 |          500001 |          500000 |            6981 | 
>       143246.10 |
>
> |-----------------------------------------------------------------------------------------|
> | Test inserting EDGES_ONLY                                               
>                 |
>
> |-----------------------------------------------------------------------------------------|
> |       documents |        vertices |           edges |       time (ms) | 
>   avg (doc/sec) |
> | --------------- | --------------- | --------------- | --------------- | 
> --------------- |
> |            1001 |               3 |             998 |             118 | 
>         8483.05 |
> |           10001 |               3 |            9998 |             139 | 
>        71949.64 |
> |           25001 |               3 |           24998 |             186 | 
>       134413.98 |
> |           50001 |               3 |           49998 |             259 | 
>       193054.05 |
> |          100001 |               3 |           99998 |             437 | 
>       228835.24 |
> |          500001 |               3 |          499998 |            3238 | 
>       154416.62 |
> |         1000001 |               3 |          999998 |            6147 | 
>       162681.15 |
>
> |-----------------------------------------------------------------------------------------|
>
> Then this post 
> https://groups.google.com/d/topic/orient-database/crIFYreBTdo/discussionshowed
>  up where Luca 
> Garulli states "*we've customers (and users in this Group) that have <30 
> Billions of records up and running in production*" !
> So I thought that may be OrientDB can be configured/optimized somehow. 
> Anyone has an idea how? 
>
> If you want to try it for yourself, the tests that produced the above 
> tables comes from this project: https://github.com/azzazzel/graphdb-tests
> To run them simply clone the repo and type "mvn test" (Yes! You need to 
> have maven).  Feel free to experiment and if you happen to know how to 
> optimize the OrienDB test please let me know (or better off, send me a pull 
> request). 
>
> I'm soryy to say that because I really like OrienDB and I was looking 
> forward to use it my project but for now I'm forced to put it aside and 
> move to something that will not block my unit testing.       
>
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to orient-database+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to