Re: [orientdb] Migration from 1.5.x to 1.6.x programmatically
Hi Valentin, You can do https://github.com/orientechnologies/orientdb/wiki/Console-Command-Export and then https://github.com/orientechnologies/orientdb/wiki/Console-Command-Import Full binary compatibly will requires a lot of resources and with high probability will be performance killer. On Wed, Dec 18, 2013 at 9:00 AM, Valentin Popov valentin...@gmail.comwrote: Hello everybody We are using embedded DB on Tomcat application, so DB are started when application are started. And as I see 1.6 cant read 1.5 DB. So question is it possible to read and export DB was created via 1.5 libs and import to 1.6 plocal using one 1.6.2 libraries, and do it programmatically ? checkDB version, if need upgrade - do export and after import to new libs. I did same trick for migration from 1.2 - 1.3 rewrite 1.2 source code libraries classes names. But don't want do same things again 1.5-1.6 migration? Maybe orient need backward compatibility ? Regards Valentin -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Migration from 1.5.x to 1.6.x programmatically
Hi Valentin, Could you also read https://github.com/orientechnologies/orientdb/wiki#migrations and https://github.com/orientechnologies/orientdb/wiki/Migration-from-1.5.x-to-1.6.x On Wed, Dec 18, 2013 at 9:29 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Valentin, You can do https://github.com/orientechnologies/orientdb/wiki/Console-Command-Export and then https://github.com/orientechnologies/orientdb/wiki/Console-Command-Import Full binary compatibly will requires a lot of resources and with high probability will be performance killer. On Wed, Dec 18, 2013 at 9:00 AM, Valentin Popov valentin...@gmail.comwrote: Hello everybody We are using embedded DB on Tomcat application, so DB are started when application are started. And as I see 1.6 cant read 1.5 DB. So question is it possible to read and export DB was created via 1.5 libs and import to 1.6 plocal using one 1.6.2 libraries, and do it programmatically ? checkDB version, if need upgrade - do export and after import to new libs. I did same trick for migration from 1.2 - 1.3 rewrite 1.2 source code libraries classes names. But don't want do same things again 1.5-1.6 migration? Maybe orient need backward compatibility ? Regards Valentin -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Migration from 1.5.x to 1.6.x programmatically
Couple of additions: Here you can pragmatically detect OrientDB version com.orientechnologies.orient.core.OConstants#getVersion com.orientechnologies.orient.core.OConstants#ORIENT_VERSION Also you can run migration from Java com.orientechnologies.orient.core.db.tool.ODatabaseExport#exportDatabase and com.orientechnologies.orient.core.db.tool.ODatabaseImport#importDatabase On Wed, Dec 18, 2013 at 9:34 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Valentin, Could you also read https://github.com/orientechnologies/orientdb/wiki#migrations and https://github.com/orientechnologies/orientdb/wiki/Migration-from-1.5.x-to-1.6.x On Wed, Dec 18, 2013 at 9:29 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Valentin, You can do https://github.com/orientechnologies/orientdb/wiki/Console-Command-Export and then https://github.com/orientechnologies/orientdb/wiki/Console-Command-Import Full binary compatibly will requires a lot of resources and with high probability will be performance killer. On Wed, Dec 18, 2013 at 9:00 AM, Valentin Popov valentin...@gmail.comwrote: Hello everybody We are using embedded DB on Tomcat application, so DB are started when application are started. And as I see 1.6 cant read 1.5 DB. So question is it possible to read and export DB was created via 1.5 libs and import to 1.6 plocal using one 1.6.2 libraries, and do it programmatically ? checkDB version, if need upgrade - do export and after import to new libs. I did same trick for migration from 1.2 - 1.3 rewrite 1.2 source code libraries classes names. But don't want do same things again 1.5-1.6 migration? Maybe orient need backward compatibility ? Regards Valentin -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] no backwards compatibility
Hi Jamie, As any database they change their disk based data structures to provide additional performance improvements. But providing support for old binary formats is good thing. I think we implement it. About first two points you can read answer here https://groups.google.com/forum/#!topic/orient-database/Ln9RfUu6pY8 Could you follow mentioned before thread, it will be easier to track all conversion in single place. On Wed, Dec 18, 2013 at 9:40 AM, Jamie ja...@mailarchiva.com wrote: Andrey I just run apt-get update. to update Mysql. The point is the database upgrades seamlessly. We do not have to do anything. Granted I have not tried running Mysql in embedded mode so I cannot comment on whether replacing the binary works or not... my guess is it will. However, when running Orient in embedded mode, there should be a way to: 1) Detect the specific version of database that is being used (so that you can identify whether it is necessary to upgrade the database) 2) Provide an API to convert the database to the new format (whether this involves exporting the database to a file or by whatever mechanism, there need to be an upgrade path) 3) Ideally ability to read the old database format (so that you can benefit from bug fixes in the new code base) Also, surely point releases e.g. v1.5-1.6, should imply no change to the underlying binary format of the database. Surely, your users cannot be expected to make massive changes to their database every time you come out with a point release. Jamie On Wednesday, December 18, 2013 9:31:57 AM UTC+2, Andrey Lomakin wrote: Hi, When you upgrade MySQL you do it by simply replacing binaries on disk or running setup script ? On Wed, Dec 18, 2013 at 9:22 AM, Jamie ja...@mailarchiva.com wrote: Orient DB, et. al. I just heard from Valentin, that Orient DB 1.6 cannot read databases created by Orient DB 1.5. This is a point release, so there should surely be no problem with the upgrade. Surely, there must some importance given to backwards compatibility in Orient? When I upgrade Mysql, it just works. I never have to worry about whether the new version will be reading my data. Unless I am imagining things, something is seriously wrong with Orient DB's approach to upgrades. Furthermore, is there is a simple way in the API to determine the current database version that is used? Jamie -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] no backwards compatibility
Hi Jamie, Here is issue https://github.com/orientechnologies/orientdb/issues/1899 . On Wed, Dec 18, 2013 at 10:14 AM, Jamie ja...@mailarchiva.com wrote: Andrey Good idea! I'll move this discussion over to Valentin's thread. As a parting comment... I'd like to make it clear - I absolutely love Orient, but some attention to legacy is important. Thanks Jamie On Wednesday, December 18, 2013 9:51:56 AM UTC+2, Andrey Lomakin wrote: Hi Jamie, As any database they change their disk based data structures to provide additional performance improvements. But providing support for old binary formats is good thing. I think we implement it. About first two points you can read answer here https://groups.google.com/forum/#!topic/orient-database/Ln9RfUu6pY8 Could you follow mentioned before thread, it will be easier to track all conversion in single place. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: ORecordNotFoundException in an Embedded Server
Hi, Problem is bellow, On Fri, Dec 27, 2013 at 1:58 PM, Cod3r the3l...@gmail.com wrote: Caused by: java.lang.NoClassDefFoundError: org/iq80/snappy/Snappy Could you use gzip compression instead ? Just set system property -Dstorage.compressionMethod=gzip . -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Add alias for class name
I see )). Could you create issue for it ? And we fix it. On Fri, Dec 27, 2013 at 1:21 PM, Lebnik lebnik...@gmail.com wrote: Hi, no problem. Now I develop REST-driver for Doctrine2. And I need that, because Doctrine2 creates query in format uses aliases, example: SELECT t0.@rid AS rid1, t0.objectId AS objectId2, t0.languageId AS languageId3, t0.name AS name4, t0.info AS info5, t0.position AS position6,t0 .flagShow AS flagShow7, t0.divisionKindId AS divisionKindId8, t0.divisionTypeId AS divisionTypeId9, t0.parentId AS parentId10, t0.dateStart AS dateStart11 , t0.dateEnd AS dateEnd12, t0.prikazIdStart AS prikazIdStart13, t0.prikazIdEnd AS prikazIdEnd14 FROM Orgunit t0 WHERE t0.objectId = '1' AND t0.languageId = '1' LIMIT 1 пятница, 27 декабря 2013 г., 12:52:25 UTC+4 пользователь Andrey Lomakin написал: Hi I think it is possible , but could you explain why do you need this ? On Fri, Dec 27, 2013 at 10:43 AM, Lebnik lebn...@gmail.com wrote: Can you add alias for class name? My problem example: orientdb {GratefulDeadConcerts} SELECT objectId AS objectId2 FROM Orgunit AS t0 Error: com.orientechnologies.orient.core.sql.OCommandSQLParsingException : Error on parsing command at position #42: Invalid keyword 'AS' Command: select objectId AS objectId2 FROM Orgunit AS t0 --^ -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Out of memory during import via REST
Hi, You use local storage , this issue does not exist in plocal storage, could you use 1.6.3 version with *plocal *storage and do import once again. You can find information about plocal storage here https://github.com/orientechnologies/orientdb/wiki/plocal-storage-components On Thu, Jan 2, 2014 at 1:39 PM, Konrad Lötzsch konrad.loetz...@gmail.comwrote: Hi, in our project, we want to integrate public genomic databases and link them together with orient. we are trying to import 50+ mio. documents into one class and set links to a second class in an graph db (version 1.5.0). We are attempting that from that with the REST-Interface and POST-Commands. During really big imports we are seeing some memory leak and the orient-server stops the import with an OutOfMemoryError: 2013-12-23 20:35:41:105 FINE Free memory is low 346,92Mb of 9,39Gb (3%), calling listeners to free memory... [OMemoryWatchDog] 2013-12-23 20:35:58:940 FINE [OMMapManagerNew] flushing pages in memory... [OMMapManagerNew] 2013-12-23 20:35:58:941 FINE [OMMapManagerNew] flushed 2/360 blocks [OMMapManagerNew] 2013-12-23 20:36:16:789 FINE Free memory is low 346,86Mb of 9,39Gb (3%), calling listeners to free memory... [OMemoryWatchDog] 2013-12-23 20:36:34:630 FINE [OMMapManagerNew] flushing pages in memory... [OMMapManagerNew] 2013-12-23 20:36:34:631 FINE Free memory is low 346,83Mb of 9,39Gb (3%), calling listeners to free memory... [OMemoryWatchDog] 2013-12-23 20:36:34:631 FINE [OMMapManagerNew] flushed 2/360 blocks [OMMapManagerNew] 2013-12-23 20:36:52:475 FINE Free memory is low 347,28Mb of 9,39Gb (3%), calling listeners to free memory... [OMemoryWatchDog] 2013-12-23 20:38:10:125 FINE [OMMapManagerNew] flushing pages in memory... [OMMapManagerNew]Sent run-time exception to the client /192.xxx.x.xx:x: java.lang.OutOfMemoryError: GC overhead limit exceeded GC overhead limit exceeded - com.orientechnologies.orient.core.serialization.serializer.OStringSerializerHelper.parse(OStringSerializerHelper.java:196) - com.orientechnologies.orient.core.serialization.serializer.OStringSerializerHelper.smartSplit(OStringSerializerHelper.java:171) - com.orientechnologies.orient.core.serialization.serializer.OStringSerializerHelper.smartSplit(OStringSerializerHelper.java:161) - com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.fromString(ORecordSerializerSchemaAware2CSV.java:386) - com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.fromStream(ORecordSerializerStringAbstract.java:79) - com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.deserializeFields(ORecordSchemaAwareAbstract.java:150) - com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1386) - com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:1276) - com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:712) - com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:623) - com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateLink.execute(OCommandExecutorSQLCreateLink.java:283) - com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:57) - com.orientechnologies.orient.core.storage.OStorageEmbedded.executeCommand(OStorageEmbedded.java:99) - com.orientechnologies.orient.core.storage.OStorageEmbedded.command(OStorageEmbedded.java:88) - com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59) - com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1141) - com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:302) - com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:123) - com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45) Sometimes we encounter the same problem after big import while the execution of the CREATE LINK command. Has anybody encountered this problem before and could stop orient from leaking memory? With regards, Konrad Lötzsch. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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
Re: [orientdb] Re: Creating Links on 1.6.3
Could you provide full stack trace by doing what I suggested, without full stack trace it is hard to do something. Also did you connect directly to plocal (from console) or using remote protocol ? On Thu, Jan 2, 2014 at 4:47 PM, Alessandro Ranocchini kero1...@gmail.comwrote: If i execute that same query in the visual studio it works. But it still doesn't work if executed in the console! that's really strange! -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Reading database files in offline
Hi Pawel, As I understand you want to to read files directly on binary level. It is not good option, we use proprietary format not JSON which is also compressed by Snappy library, also we can not freeze binary format because we can not improve our disk based data structures in such case. So after next version release you may not be able to read binary files. Could you describe in more details what you need ? On Thu, Jan 2, 2014 at 4:03 PM, Pawel K. kowa...@gmail.com wrote: Hi, I would like to read in .NET offline batch process OrientDB database files in order to process certain clusters. Reading all objects by SELECT * FROM Cluster wouldn't the best option. After reading the documentation about plocal storage https://github.com/orientechnologies/orientdb/wiki/plocal-storage-components#cluster I have following questions: 1.Does .cpm have any header? 2.What is located under page:page-position address? Record in JSON string? Best regards, Pawel -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Reading database files in offline
I see, We are going to provide detailed cluster description after 10-th of January (it will be ready 14-th of January I think). We have such delay because we want to provide beta release of https://github.com/orientechnologies/orientdb/issues/1604 . On Thu, Jan 2, 2014 at 6:17 PM, Pawel K. kowa...@gmail.com wrote: Actually I did similar thing with local storage, where at least RIDs were sequential and structure simpler. In local I could read records in packages (cluster range gave me countinous RIDs space #2:1..1000 , #2:1001-2000...). I would like to scan all records from cluster and process it in map-reduce style in .NET. It's rather offline process based on backup files. I have OrientDB's deserializer and snappy decoder. Best regards, Pawel On Thursday, January 2, 2014 5:02:16 PM UTC+1, Andrey Lomakin wrote: Hi Pawel, As I understand you want to to read files directly on binary level. It is not good option, we use proprietary format not JSON which is also compressed by Snappy library, also we can not freeze binary format because we can not improve our disk based data structures in such case. So after next version release you may not be able to read binary files. Could you describe in more details what you need ? On Thu, Jan 2, 2014 at 4:03 PM, Pawel K. kow...@gmail.com wrote: Hi, I would like to read in .NET offline batch process OrientDB database files in order to process certain clusters. Reading all objects by SELECT * FROM Cluster wouldn't the best option. After reading the documentation about plocal storage https://github.com/orientechnologies/orientdb/wiki/plocal-storage- components#cluster I have following questions: 1.Does .cpm have any header? 2.What is located under page:page-position address? Record in JSON string? Best regards, Pawel -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Programmatically determine OrientDB version
Hi, You mean library version ? You can get it from here com.orientechnologies.orient.core.OConstants using constants or method call. On Thu, Jan 2, 2014 at 7:52 PM, odbuser odbus...@gmail.com wrote: Is there a way to obtain the version of OrientDB programmatically other than parsing the jar file name or one of the manifest files? If not, can this be added? It would be nice to have this so that backups can be properly named or other version specific logic can be performed. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Atomic operations
All document changes are atomic. So if you save single document , changes either applied or not, you do not need transaction for this kind of behavior. It does not matter whether you use SQL or Java. You provided example with INCREMENT so I thought that may be you want to increment field without throwing CME, by simple addition of value to latest field value. And if you catch ConcurentModificationException you should reload record and try again. On Fri, Jan 3, 2014 at 2:30 PM, Leng Sheng Hong darkr...@gmail.com wrote: Does it mean that if I save() something without callInRecordLock (but i am using plocal). I will have to do it in a transaction? If i am saving 2 fields, using doc.fields(title, texthere); doc.fields(quantity, doc.fields(quantity) + 100 ) //atomic doc.save() I think it should be done in a transaction if concurrent modification exception occured, i will have to reload the document and try saving again? Is that the same behaviour to Update MyTable INCREMENT quantity = 100, set title = texthere where @rid = #21:1 On Friday, 3 January 2014 20:14:29 UTC+8, Andrey Lomakin wrote: Hi, What do you mean when write about atomic ? increment without concurrent modification exception ? If you use embedded storage you can lock records on storage level , and then release them. You may use com.orientechnologies.orient.core.storage.OStorage#callInRecordLock but please use it with care, to avoid deadlocks. On Fri, Jan 3, 2014 at 12:48 PM, Leng Sheng Hong dark...@gmail.comwrote: How do you do a SQL like this in Java api for a document base DB? Update MyTable INCREMENT quantity = 100 where @rid = #21:1 I doubt setting fields and save() is actually atomic? doc.fields(quantity, doc.fields(quantity) + 100 ) doc.save() -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Atomic operations
No, sorry you should do retry yourself. On Fri, Jan 3, 2014 at 4:09 PM, Leng Sheng Hong darkr...@gmail.com wrote: Oh, that's great, thanks for the explaination. is there any API in the java library that supports retries for save() (of a certain exception eg. ConcurrentModificationException)? something like this will be handle but i guess you will need to query back the same document before retrying the save. https://developers.google.com/appengine/docs/java/datastore/transactions#Java_Uses_for_transactions Will be useful if that's in the default orientdb library On Friday, 3 January 2014 22:02:33 UTC+8, Andrey Lomakin wrote: All document changes are atomic. So if you save single document , changes either applied or not, you do not need transaction for this kind of behavior. It does not matter whether you use SQL or Java. You provided example with INCREMENT so I thought that may be you want to increment field without throwing CME, by simple addition of value to latest field value. And if you catch ConcurentModificationException you should reload record and try again. On Fri, Jan 3, 2014 at 2:30 PM, Leng Sheng Hong dark...@gmail.comwrote: Does it mean that if I save() something without callInRecordLock (but i am using plocal). I will have to do it in a transaction? If i am saving 2 fields, using doc.fields(title, texthere); doc.fields(quantity, doc.fields(quantity) + 100 ) //atomic doc.save() I think it should be done in a transaction if concurrent modification exception occured, i will have to reload the document and try saving again? Is that the same behaviour to Update MyTable INCREMENT quantity = 100, set title = texthere where @rid = #21:1 On Friday, 3 January 2014 20:14:29 UTC+8, Andrey Lomakin wrote: Hi, What do you mean when write about atomic ? increment without concurrent modification exception ? If you use embedded storage you can lock records on storage level , and then release them. You may use com.orientechnologies.orient.core.storage.OStorage# callInRecordLock but please use it with care, to avoid deadlocks. On Fri, Jan 3, 2014 at 12:48 PM, Leng Sheng Hong dark...@gmail.comwrote: How do you do a SQL like this in Java api for a document base DB? Update MyTable INCREMENT quantity = 100 where @rid = #21:1 I doubt setting fields and save() is actually atomic? doc.fields(quantity, doc.fields(quantity) + 100 ) doc.save() -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Titan-Cassandra Combination vs OrientDB
translate into vertices per se). 2. A federated model/system is acceptable 3. Over and above the 500-750 billion live sample, the application will have a couple of million records (just in case an additional drop created chaos in the ocean :) ) Given that we can store JSON data in Cassandra (with the knowledge that marshalling and umarshalling will induce latency) and Titan can provide graph relationship, what, in the estimation of this community tips the scales in favor of OrientDB. At the time of this writing, I have only managed to scratch the surface and I am relatively new to NoSQL and Big Data systems in general. So, if the question lacks clarity/depth, please let me know and I will share any additional information required Thanks LSP PS - Wishing you all a happy new year and a great 2014. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Newbie OrientDB REST graph edition question.
Hi, You can use following approach https://github.com/orientechnologies/orientdb/wiki/Gremlin#passing-input-parametersso just wrap your select query in gremlin operator:select gremlin('query is here ') On Thu, Jan 2, 2014 at 6:53 PM, Will Pullan wjpbib...@gmail.com wrote: I am very new to orientdb but the technology looks very interesting. I downloaded version 1.6.3 of the community edition, and using a REST client I am able to perform SQL queries. http://localhost:2480/query/GratefulDeadConcerts/sql/select%20*%20from%20V I would like to also be able to use gremlin queries, but the syntax does not seem to be recognized and the error message I get includes a mention of sql which makes me think perhaps I am running the wrong edition, http://localhost:2480/query/GratefulDeadConcerts/gremlin/g = new foo() { readyState: 4, responseText: com.orientechnologies.orient.core.command.OCommandExecutorNotFoundException: Cannot find a command executor for the command request: sql.g = new foo(), status: 500, statusText: Internal Server Error } Can anyone give me an example REST query against the grateful dead database which should work. Also is there a difference between orientdb standard and the graph edition, if so how can I make server.sh launch the graph edition instead of the document edition. It seems like the graph edition is an extension of the document edition which can do more, are there reasons why I should not always use it, does it have performance implications. Sorry if these questions are already answered in the documentation, if so please point me to it. Thanks in advance Will Pullan. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] java.lang.OutOfMemoryError in COMMAND command of binary protocol
: 41 [OChannelBinaryServer] 2014-01-03 00:10:44:273 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Reading int (4 bytes)... [OChannelBinaryServer]2014-01-03 00:10:44:273 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Read int: 39 [OChannelBinaryServer] 2014-01-03 00:10:44:273 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Reading byte (1 byte)... [OChannelBinaryServer]2014-01-03 00:10:44:273 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Read byte: 115 [OChannelBinaryServer] 2014-01-03 00:10:44:274 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Reading chunk of bytes. Reading chunk length as int (4 bytes)... [OChannelBinaryServer]2014-01-03 00:10:44:274 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Read chunk lenght: 58 [OChannelBinaryServer] 2014-01-03 00:10:44:274 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Reading 58 bytes... [OChannelBinaryServer]2014-01-03 00:10:44:274 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Read 58 bytes: com.orientechnologies.orient.core.sql.query.OSQLSynchQuery [OChannelBinaryServer] 2014-01-03 00:10:44:331 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Writing byte (1 byte): 1 [OChannelBinaryServer]2014-01-03 00:10:44:331 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Writing int (4 bytes): 39 [OChannelBinaryServer] 2014-01-03 00:10:44:331 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Writing byte (1 byte): 1 [OChannelBinaryServer]2014-01-03 00:10:44:331 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Writing string (4+26=30 bytes): java.lang.OutOfMemoryError [OChannelBinaryServer] 2014-01-03 00:10:44:331 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Writing string (4+15=19 bytes): Java heap space [OChannelBinaryServer]2014-01-03 00:10:44:332 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Writing byte (1 byte): 0 [OChannelBinaryServer] 2014-01-03 00:10:44:332 INFO /127.0.0.1:51053 http://127.0.0.1:51053 - Flush [OChannelBinaryServer]* 2014-01-03 00:10:44:332 INFO /127.0.0.1:51053 - Reading byte (1 byte)... [OChannelBinaryServer] 2014-01-03 00:10:44:332 INFO /127.0.0.1:51053 - Read byte: 0 [OChannelBinaryServer] 2014-01-03 00:10:44:332 INFO /127.0.0.1:51053 - Reading int (4 bytes)... [OChannelBinaryServer] 2014-01-03 00:10:44:332 INFO /127.0.0.1:51053 - Read int: 7507 [OChannelBinaryServer] 2014-01-03 00:10:44:332 INFO /127.0.0.1:51053 - Closing socket... [OChannelBinaryServer] 2014-01-03 00:10:44:333 INFO /127.0.0.1:51053 - Writing byte (1 byte): 1 [OChannelBinaryServer] 2014-01-03 00:10:44:333 INFO /127.0.0.1:51053 - Writing int (4 bytes): 7507 [OChannelBinaryServer] 2014-01-03 00:10:44:333 INFO /127.0.0.1:51053 - Writing byte (1 byte): 1 [OChannelBinaryServer] 2014-01-03 00:10:44:333 INFO /127.0.0.1:51053 - Writing string (4+44=48 bytes): com.orientechnologies.common.io.OIOException [OChannelBinaryServer] 2014-01-03 00:10:44:334 INFO /127.0.0.1:51053 - Writing string (4+26=30 bytes): Found unknown session 7507 [OChannelBinaryServer] 2014-01-03 00:10:44:334 INFO /127.0.0.1:51053 - Writing byte (1 byte): 0 [OChannelBinaryServer] 2014-01-03 00:10:44:334 INFO /127.0.0.1:51053 - Flush [OChannelBinaryServer] 2014-01-03 00:10:44:334 INFO /127.0.0.1:51053 - Closing socket... [OChannelBinaryServer] 2014-01-03 00:10:44:334 INFO /127.0.0.1:51053 - Closing socket... [OChannelBinaryServer] -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Secondary indexes on embedded docs
Hi Andreas, Right now it is not possible, but if you mean indexing of embedded documents then it is nice feature, could you create feature request ? On Mon, Jan 6, 2014 at 10:45 AM, Andreas Jung zopyxfil...@gmail.com wrote: OrientDB supports arbitrary JSON content as part of an embedded property. Is it possible to create secondary indexes on a particulary element of a JSON subdocument in order to perform efficient lookups? -aj -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: BUG?:inconsitent behavior of query with/without index
Hi We have tests like this one com.orientechnologies.orient.test.database.auto.IndexTest#testIndexInNotUniqueIndex and have no issues for a long time. Could you provide more specific test case ? On Sat, Jan 4, 2014 at 5:48 PM, Markus Menner markus.men...@googlemail.comwrote: Hi Luca, Sure. However, I can't download 1.6.3. I filled out the form, but it doesn't send me the download link via email. Regards, Markus On Saturday, 4 January 2014 08:54:51 UTC+1, Markus Menner wrote: Hi guys, I'm using OrientDB 1.6.2 with the ObjectDatabase. I noticed following strange behavior of queries: 1.) Class A, with let's say property status, which is a string. Add some instances to the db, which contain either NONE or STARTED in the status. SELECT * FROM A WHERE status IN ['NONE', 'STARTED'] will produce the correct result (those instances). 2.) Create a property of type String and an index (NOTUNIQUE) on it. SELECT * FROM A WHERE status IN ['NONE', 'STARTED'] will produce an empty result! However SELECT * FROM A WHERE status='NONE' will produce an NON-empty result with the correct instances (and I presume also uses the index). If you just remove the index (leave the attribute), everything works as expected. So somehow the IN doesn't work as soon as there is an index on a property? Kind regards, Markus -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Severe Durability Problems
is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:37:53:850 INFO 37 operations were processed, current LSN is OLogSequenceNumber{segment=0, position=214639746} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:37:55:462 INFO 38 operations were processed, current LSN is OLogSequenceNumber{segment=0, position=235355052} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:37:59:244 INFO 39 operations were processed, current LSN is OLogSequenceNumber{segment=1, position=32868566} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:01:570 INFO 40 operations were processed, current LSN is OLogSequenceNumber{segment=1, position=94157983} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:03:843 INFO 41 operations were processed, current LSN is OLogSequenceNumber{segment=1, position=136535110} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:07:609 INFO 42 operations were processed, current LSN is OLogSequenceNumber{segment=1, position=165559476} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:11:310 INFO 43 operations were processed, current LSN is OLogSequenceNumber{segment=1, position=219998987} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:13:390 INFO 44 operations were processed, current LSN is OLogSequenceNumber{segment=2, position=26549731} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:17:456 INFO 45 operations were processed, current LSN is OLogSequenceNumber{segment=2, position=103459262} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:19:733 INFO 46 operations were processed, current LSN is OLogSequenceNumber{segment=2, position=163989221} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:21:357 INFO 47 operations were processed, current LSN is OLogSequenceNumber{segment=2, position=186435780} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:26:387 INFO 48 operations were processed, current LSN is OLogSequenceNumber{segment=2, position=256785206} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:28:983 INFO 49 operations were processed, current LSN is OLogSequenceNumber{segment=3, position=84159122} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:39:482 INFO 50 operations were processed, current LSN is OLogSequenceNumber{segment=3, position=172642125} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:48:364 INFO 51 operations were processed, current LSN is OLogSequenceNumber{segment=3, position=219718732} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage] 2014-01-06 18:38:57:077 INFO 52 operations were processed, current LSN is OLogSequenceNumber{segment=3, position=252557326} last LSN is OLogSequenceNumber{segment=5, position=62730658} [OLocalPaginatedStorage]java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid1708.hprof ... Heap dump file created [2007835422 bytes in 13.103 secs] 2014-01-06 18:39:38:498 INFO Storage data restore was completed [OLocalPaginatedStorage] If I attempt to reconnect, the console shows 3 records for class Person, not 6. (It reverted to the state two transactions back, not the last successful transaction.) Steve On Thursday, December 19, 2013 9:09:06 AM UTC-7, Andrey Lomakin wrote: Hi Steven, Could you retry your test ? Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] SBTree Indexes - need help
Hi Markus, All tests are passed in https://github.com/orientechnologies/blueprintsrid-bag-migration branch. We will integrate all changes from https://github.com/orientechnologies/orientdb/tree/rid-set-sbtree into develop at 9 of January, so you can either build https://github.com/orientechnologies/blueprints/tree/rid-bag-migrationbranch and use it from this date, or you can wait till 20 th of January till we integrate all changes in blueprints master and use new snapshot version. Sorry that it was taken so long. On Fri, Dec 20, 2013 at 8:01 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, We are testing it in separate branch, as tests will pass Artem will provide update for you. On Fri, Dec 20, 2013 at 5:18 PM, Markus Menner markus.men...@googlemail.com wrote: Hi Andrey, Any news about that? Kind regards, Markus On Wednesday, 4 December 2013 11:44:39 UTC+1, Markus Menner wrote: Hi Andrey, Thanks for your support. Sure, I'll wait... In the meantime, is there a way to get rid of the exceptions (even if performance suffers)? We are not in production, still development, but the exceptions are just annoying. Thanks, Markus On Wednesday, 4 December 2013 09:35:20 UTC+1, Andrey Lomakin wrote: Hi, Yes you use sbtree as index but links between edges they are handled by mvrbtree. Could you wait two weeks and this issue will be solved. On Wed, Dec 4, 2013 at 10:18 AM, Markus Menner markus...@googlemail.com wrote: Hi Luca, Thank you very much for your support! I've tried to set MVRBTREE_RID_BINARY_THRESHOLD to 1 as described below, but I still get the same error... Any other suggestion? Once again, SBTree: I thought this is the standard type of indexes since version 1.5? Thanks, Markus On Monday, 2 December 2013 23:25:37 UTC+1, Lvc@ wrote: You can set the threshold on using ridset to 1 (always) via Java API: OGlobalConfiguration.MVRBTREE_RID_BINARY_THRESHOLD.setValue( 1 ) or via JVM settings: java ... -Dmvrbtree.ridBinaryThreshold=1 Lvc@ On 2 December 2013 21:54, Markus Menner markus...@googlemail.comwrote: Hi Guys, Thanks for your help. I thought SBTree indexes would be used instead of MVRBTree by default? Anyway: how do I disable MVRBtree indexes? thanks al lo markus -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] how many graphs
Hi Alan, You can create as many graphs as you need in single Graph instance. It is better than create 3000 graph databases because in case of single storage you will have much efficient RAM usage than in case of 3000 storages. You can tune RAM consumed by memory storage using storage.diskCache.bufferSize it is in megabytes. About your question, there is no limitation on amount of db instances on server. but much better to create several graph instances on single db and use name pattern for partitioning of graph data. For example class_one_partition_one, class_one_partition_two and so on. On Tue, Jan 7, 2014 at 9:02 PM, Alan Miller alan.mill...@gmail.com wrote: Is there a limitation on how many graphs an OrientDB instance can serve? I'm considering having approx 3000 separate graphs in my server instance. I am building the graphs offline on a daily basis via the Java API and using OrentGraphNoTx graph = new OrentGraphNoTx(); graph.setUseLightWeightEdges(true); // . add vertices // . add edges graph.commit(); Can OrientDB handle so many graphs? Will a running server detect new graph directories or do I have to restart the server each time a new graph is added? Thanks Alan -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: OutOfMemoryException
Hi Pieter, All operations in single tx now are accumulated in memory and then committed to the disk. If you have such huge txs in production so you should them by batches if you want pre-fill import data you can use noTx version of graphdb. Halo, Is this of interest? Is commiting every 10 to coarse? Thanks Pieter On 30/12/2013 23:09, Pieter Martin wrote: Hi, I am trying to run the following test on orientdb. I am running it on blueprints version 2.5.0-SNAPSHOT @Test public void testSpeedDude() throws IOException { String url = /tmp/test-orientdb-blueprints; File dir = new File(url); FileUtils.deleteDirectory(dir); File f = new File(url); TransactionalGraph g = new OrientGraph(local: + f.getAbsolutePath()); try { int NUMBER_TO_ITER = 1000; StopWatch stopWatch = new StopWatch(); stopWatch.start(); Vertex one = g.addVertex(null); one.setProperty(one, 1); long previousSplitTime = 0; for (int i = 0; i NUMBER_TO_ITER; i++) { Vertex many = g.addVertex(null); many.setProperty(many, 2); g.addEdge(null, one, many, toMany); if (i != 0 i % 10 == 0) { stopWatch.split(); long splitTime = stopWatch.getSplitTime(); System.out.println(i + + stopWatch.toString() + 10 in + (splitTime - previousSplitTime)); previousSplitTime = stopWatch.getSplitTime(); g.commit(); } } g.commit(); stopWatch.stop(); System.out.println(write + NUMBER_TO_ITER + = + stopWatch.toString()); stopWatch.reset(); stopWatch.start(); int count = 1; Vertex startV = g.getVertex(one.getId()); for (Vertex v : startV.getVertices(Direction.OUT)) { v.getProperty(many); if (count++ % 100 == 0) { System.out.println(read 100 vertex, id = + v.getId()); } } stopWatch.stop(); System.out.println(read + NUMBER_TO_ITER + = + stopWatch.toString()); } finally { g.shutdown(); } } After inserting the 4 900 000 record I am getting a OutOfMemoryError exception. I first ran it with no settings but even with -Xms1024m -Xmx6144m it still gets OutOfMemoryError. Does this point to a memory leak somewhere? The output was as follow 400 0:04:03.495 10 in 6660 410 0:04:10.210 10 in 6715 420 0:04:24.434 10 in 14224 430 0:04:31.830 10 in 7396 440 0:04:38.905 10 in 7075 450 0:04:46.019 10 in 7114 460 0:04:53.246 10 in 7227 470 0:05:20.028 10 in 26782 480 0:05:45.045 10 in 25017 490 0:06:40.781 10 in 55736 ...OutOfMemoryError Thanks Pieter -- --- 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. -- --- 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.
Re: [orientdb] SBTree Indexes - need help
Hi Markus, We have merged OrientDB branches, and we are going to merger blueprints branches during 10 days. Meanwhile you can build and use https://github.com/orientechnologies/blueprints/tree/rid-bag-migrationbranch with latest version of OrientDB from develop branch. On Tue, Jan 7, 2014 at 9:50 PM, Markus Menner markus.men...@googlemail.comwrote: Hi Andrey, Cool, thanks a lot for the update! I'll check it out ASAP. Kind regards, Markus -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: BUG?:inconsitent behavior of query with/without index
Cool ! I will fix it, at Monday. On Fri, Jan 10, 2014 at 5:14 PM, Markus Menner markus.men...@googlemail.com wrote: I just managed to make the problem reproducible: package com.axxelia; import com.orientechnologies.orient.core.config.OGlobalConfiguration; import com.orientechnologies.orient.object.db.OObjectDatabaseTx; public class OrientDBTest { public static void main(String [] args) { OGlobalConfiguration.CACHE_LEVEL1_ENABLED.setValue(false); OObjectDatabaseTx db = new OObjectDatabaseTx(memory:test); if(!db.exists()) { db.create(); System.out.println(db.create()); } db.getEntityManager().registerEntityClasses(com.axxelia.domain); try { TestCase4.testCase(db); } finally { db.close(); } } } package com.axxelia; import com.axxelia.domain.*; import com.orientechnologies.orient.core.record.impl.ODocument; import com.orientechnologies.orient.core.sql.OCommandSQL; import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery; import com.orientechnologies.orient.object.db.OObjectDatabaseTx; import java.util.List; public class TestCase4 { public static void testCase(OObjectDatabaseTx db) { ItemWorkStep idt1 = new ItemWorkStep(); idt1.setStatus(Status.NONE); db.save(idt1); ItemWorkStep idt2 = new ItemWorkStep(); idt2.setStatus(Status.STARTED); db.save(idt2); WorkOrderWorkStep idt3 = new WorkOrderWorkStep(); idt3.setStatus(Status.NONE); db.save(idt3); WorkOrderWorkStep idt4 = new WorkOrderWorkStep(); idt4.setStatus(Status.STARTED); db.save(idt4); ListWorkOrderWorkStep subs; ListODocument counts; counts = db.query(new OSQLSynchQuery(SELECT count(*) FROM ItemWorkStep WHERE status IN ['NONE', 'STARTED'])); assert ((Long) (counts.iterator().next().field(count))) == 4; counts = db.query(new OSQLSynchQuery(SELECT count(*) FROM WorkOrderWorkStep WHERE status IN ['NONE', 'STARTED'])); assert ((Long) (counts.iterator().next().field(count))) == 2; db.command(new OCommandSQL(CREATE PROPERTY AdaptiveTask.status STRING)).execute(); counts = db.query(new OSQLSynchQuery(SELECT count(*) FROM WorkOrderWorkStep WHERE status IN ['NONE', 'STARTED'])); assert ((Long) (counts.iterator().next().field(count))) == 2; /** * create the index */ db.command(new OCommandSQL(CREATE INDEX AdaptiveTask.status ON AdaptiveTask (status) NOTUNIQUE)).execute(); /** * huh!! those two tests fail. if you remove the index above, they will succeed!!! */ counts = db.query(new OSQLSynchQuery(SELECT count(*) FROM WorkOrderWorkStep WHERE status='NONE')); assert ((Long) (counts.iterator().next().field(count))) == 1; counts = db.query(new OSQLSynchQuery(SELECT count(*) FROM WorkOrderWorkStep WHERE status in ['NONE'])); assert ((Long) (counts.iterator().next().field(count))) == 1; } } package com.axxelia.domain; public class AdaptiveTask { private Status status; public Status getStatus() { return status; } public void setStatus(Status status) { this.status = status; } } package com.axxelia.domain; public class ItemWorkStep extends AdaptiveTask {} package com.axxelia.domain; public class WorkOrderWorkStep extends ItemWorkStep {} -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Tinkerpop update to blueprints broke Orient 1.6.1...
Hi, 1.6 JDK compatibility was fixed at Friday. Could you try on develop branch ? About snapshots I think we will come out with something till tomorrow. On Mon, Jan 13, 2014 at 11:58 AM, Damian Bronecki bronecki.dam...@gmail.com wrote: We even tried to migrate to OrientDB 1.6.3 but we can't do ANYTHING in console! This is exception Exception in thread main java.lang.NoSuchMethodError: java.nio. CharBuffer.subSequence(II)Ljava/nio/CharBuffer; at com.orientechnologies.common.console.ODFACommandStream.nextCommand( ODFACommandStream.java:112) at com.orientechnologies.common.console.OConsoleApplication. executeCommands(OConsoleApplication.java:129) at com.orientechnologies.common.console.OConsoleApplication.run( OConsoleApplication.java:94) at com.orientechnologies.orient.graph.console.OGremlinConsole.main( OGremlinConsole.java:53) -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: How to update/delete a POJO given its record ID using Java API?
Hi, You can use detach/attach functionality. Call com.orientechnologies.orient.object.db.OObjectDatabaseTx#detach method and you will not have to copy data so you can use it as web layer DTO. Also you do not need to load entity to save it, just save it without load, you asked how to load entity that is why I mentioned load method. On Sat, Jan 11, 2014 at 3:24 PM, Dmitry nosko...@gmail.com wrote: Andrey, maybe there are other options? I will explain: We have a typical web applications (that implements MVC pattern) And for example we use Spring MVC for it. Applications consists of: Controller (where implemented databinding from request parameters to our POJO model) Service/DAO layers for operation of the database. For your advice, we must perform mechanical work, because we: 1) load entity 2) copy field to field from one POJO (from WEB layer) to other POJO (loaded from OrientDb) 3) save loaded entity I understood you correctly? On Friday, December 27, 2013 7:35:50 PM UTC+3, Andrey Lomakin wrote: Ok. So you want to load Pojo, update fields and save it. It can be done by calling the method com.orientechnologies.orient. object.db.OObjectDatabaseTx#load(java.lang.Object) and Pojo is saved by calling method com.orientechnologies.orient.object.db.OObjectDatabaseTx# save(java.lang.Object). About annotations @Oid and @OVersion. First is used to map record id to pojo field and second is used to map version to pojo field. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Tinkerpop update to blueprints broke Orient 1.6.1...
I think we can. Lets do this at the end of the week. On Mon, Jan 13, 2014 at 12:10 PM, Damian Bronecki bronecki.dam...@gmail.com wrote: Hi Andrey We can't use develop because of almost-production mode of application. Maybe you can release 1.6.4 with 1.6 JDK compatibility??? It would be best solution for us. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Problem on export\import with custom clusters
Hi, Yes, that is correct distribution. Could you provide smallest JSON version to reproduce this behavior ? On Mon, Jan 13, 2014 at 7:54 PM, Eng engorientu...@gmail.com wrote: Hi, We downloaded orientdb-community-2.0-SNAPSHOT-distribution.zip, is it the right distribution? Anyway, in that version the incompatibility with jdk 1.6 seems to be fixed and the console runs without any problem. We have executed export\import commands and we still have the same behavior: each element of the custom cluster is stored in its default class\cluster. Regards. Il giorno lunedì 13 gennaio 2014 13:12:55 UTC+1, Andrey Lomakin ha scritto: Hi, Blueprints jars do not relate to this problem could you download OrientDB jars using this link ? On Mon, Jan 13, 2014 at 2:07 PM, Eng engori...@gmail.com wrote: Hi, We downloaded blueprints-orient-graph-2.5.0-SNAPSHOT.jar development version, as you suggest, but we still have the same following problem, using the console: *Exception in thread main java.lang.NoSuchMethodError: java.nio.CharBuffer.subSequence(II)Ljava/nio/CharBuffer;* *...* We have taken a look in the jar Manifest and we have noticed that the jar is still compiled by 1.7.0_25 jdk version: as you can see below: Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apache Maven Built-By: jenkins Build-Jdk: 1.7.0_25 Maybe it can help you. Regards. Il giorno venerdì 10 gennaio 2014 17:40:16 UTC+1, Andrey Lomakin ha scritto: Hi, I have fixed JDK 6 compatibility issue in develop branch it will be in CI server release during 1 hour I suppose http://helios. orientechnologies.com/job/orient-git-maven/lastStableBuild/ could you use it to perform migration ? On Fri, Jan 10, 2014 at 5:33 PM, Eng engori...@gmail.com wrote: Hi, We face a strange behavior trying to execute export\import commands, maybe an issue. We need to export the entire DB. We have a cluster including different classes. The json file created by export command seems to be well done, including cluster definition, with proper RID and elements contained in every classes. The problem occurs when the import command is executed, because as result of that operation, the cluster is not created and every element of the cluster is stored in its default class\cluster. The exported DB is a local storage, while the destination DB is a plocal storage, but the same behavior occurs between two local DBs. We are using OrientDB 1.6.0 Community Edition version, as we cannot upgrade to the last one due to the console issue in our jdk 1.6.0_43 version (this version is our system requirement). Do you have any idea to solve this problem? Thanks -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Tinkerpop update to blueprints broke Orient 1.6.1...
Hi Stian, It will be end of this week. On Mon, Jan 13, 2014 at 3:35 PM, Stian Seeberg stian.seeb...@gmail.comwrote: Hi Andrey, Any idea when a 1.6.4 release can be expected? We are unable to get 1.6.3 up and running (we get the same console error as Damian added early in the thread) so we are somewhat dead in the water at the moment... Cheers, Stian On Monday, January 13, 2014 2:10:22 PM UTC+1, Andrey Lomakin wrote: Stian, You are right , the only problem is that we will start form 1.6.4 release so you should update to this release, the rest is correct. On Mon, Jan 13, 2014 at 3:07 PM, Stian Seeberg stian@gmail.comwrote: Hi Andrey, Just to be clear, our dependency is to orientdb-graphdb, so in our pom.xml we have: dependency groupIdcom.orientechnologies/groupId artifactIdorientdb-graphdb/artifactId version1.6.1/version /dependency What I assume (and hope!) you mean is that the orientdb-graphdb pom.xml will have the classifier added to its dependency list, so that we can depend on a single graphdb version and not worry about which blueprints version is being used? And these will be published to the maven repositories simultaneously? If that is the case then it should solve our problem nicely! Many thanks!! Best regards, Stian On Monday, January 13, 2014 1:36:59 PM UTC+1, Andrey Lomakin wrote: Hi, We come up with the solution. We will add classifier to the maven dependency so for example blueprints for 1.6.3 version of OrientDB we will have blueprints with classifier orientdb163 for 1.7 classifier will be orientdb17 and so on. So your dependency in maven will be dependency groupIdcom.tinkerpop.blueprints/groupId artifactIdblueprints-core/artifactId version2.5.0-SNAPSHOT/version classifierorientdb163/classifier /dependency and you will not have problems with version incompatibility. Is it good enough for you till we will support our own blueprints version since blueprints 3.0 ? On Mon, Jan 13, 2014 at 2:20 PM, Andrey Lomakin lomakin...@gmail.comwrote: I'm back to my original question of how we are supposed to have any kind of predictability in our builds? That is what I meant when wrote that we come up with something till tomorrow. We will provide solution for this question till tomorrow. On Mon, Jan 13, 2014 at 1:02 PM, Stian Seeberg stian@gmail.comwrote: Hi Andrey, I'm back to my original question of how we are supposed to have any kind of predictability in our builds? The root cause here seems to be the orient-graphdb pom.xml pointing to a snapshot release of blueprints... Can this not be handled differently so that there can be a release version of both packages so we don't get unexpected updates to packages that we rely on? Best regards, Stian On Monday, January 13, 2014 11:02:20 AM UTC+1, Andrey Lomakin wrote: Hi, 1.6 JDK compatibility was fixed at Friday. Could you try on develop branch ? About snapshots I think we will come out with something till tomorrow. On Mon, Jan 13, 2014 at 11:58 AM, Damian Bronecki broneck...@gmail.com wrote: We even tried to migrate to OrientDB 1.6.3 but we can't do ANYTHING in console! This is exception Exception in thread main java.lang.NoSuchMethodError: java.nio. CharBuffer.subSequence(II)Ljava/nio/CharBuffer; at com.orientechnologies.common.console.ODFACommandStream.nextC ommand(ODFACommandStream.java:112) at com.orientechnologies.common.console.OConsoleApplication.exe cuteCommands(OConsoleApplication.java:129) at com.orientechnologies.common.console.OConsoleApplication.run (OConsoleApplication.java:94) at com.orientechnologies.orient.graph.console.OGremlinConsole.m ain(OGremlinConsole.java:53) -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey
Re: [orientdb] Re: Tinkerpop update to blueprints broke Orient 1.6.1...
Stian, BTW blueprints implementation will be moved inside graphdb, so all this dependency hell will be over at the end of the week. On Mon, Jan 13, 2014 at 8:20 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Stian, It will be end of this week. On Mon, Jan 13, 2014 at 3:35 PM, Stian Seeberg stian.seeb...@gmail.comwrote: Hi Andrey, Any idea when a 1.6.4 release can be expected? We are unable to get 1.6.3 up and running (we get the same console error as Damian added early in the thread) so we are somewhat dead in the water at the moment... Cheers, Stian On Monday, January 13, 2014 2:10:22 PM UTC+1, Andrey Lomakin wrote: Stian, You are right , the only problem is that we will start form 1.6.4 release so you should update to this release, the rest is correct. On Mon, Jan 13, 2014 at 3:07 PM, Stian Seeberg stian@gmail.comwrote: Hi Andrey, Just to be clear, our dependency is to orientdb-graphdb, so in our pom.xml we have: dependency groupIdcom.orientechnologies/groupId artifactIdorientdb-graphdb/artifactId version1.6.1/version /dependency What I assume (and hope!) you mean is that the orientdb-graphdb pom.xml will have the classifier added to its dependency list, so that we can depend on a single graphdb version and not worry about which blueprints version is being used? And these will be published to the maven repositories simultaneously? If that is the case then it should solve our problem nicely! Many thanks!! Best regards, Stian On Monday, January 13, 2014 1:36:59 PM UTC+1, Andrey Lomakin wrote: Hi, We come up with the solution. We will add classifier to the maven dependency so for example blueprints for 1.6.3 version of OrientDB we will have blueprints with classifier orientdb163 for 1.7 classifier will be orientdb17 and so on. So your dependency in maven will be dependency groupIdcom.tinkerpop.blueprints/groupId artifactIdblueprints-core/artifactId version2.5.0-SNAPSHOT/version classifierorientdb163/classifier /dependency and you will not have problems with version incompatibility. Is it good enough for you till we will support our own blueprints version since blueprints 3.0 ? On Mon, Jan 13, 2014 at 2:20 PM, Andrey Lomakin lomakin...@gmail.comwrote: I'm back to my original question of how we are supposed to have any kind of predictability in our builds? That is what I meant when wrote that we come up with something till tomorrow. We will provide solution for this question till tomorrow. On Mon, Jan 13, 2014 at 1:02 PM, Stian Seeberg stian@gmail.comwrote: Hi Andrey, I'm back to my original question of how we are supposed to have any kind of predictability in our builds? The root cause here seems to be the orient-graphdb pom.xml pointing to a snapshot release of blueprints... Can this not be handled differently so that there can be a release version of both packages so we don't get unexpected updates to packages that we rely on? Best regards, Stian On Monday, January 13, 2014 11:02:20 AM UTC+1, Andrey Lomakin wrote: Hi, 1.6 JDK compatibility was fixed at Friday. Could you try on develop branch ? About snapshots I think we will come out with something till tomorrow. On Mon, Jan 13, 2014 at 11:58 AM, Damian Bronecki broneck...@gmail.com wrote: We even tried to migrate to OrientDB 1.6.3 but we can't do ANYTHING in console! This is exception Exception in thread main java.lang.NoSuchMethodError: java.nio. CharBuffer.subSequence(II)Ljava/nio/CharBuffer; at com.orientechnologies.common.console.ODFACommandStream. nextCommand(ODFACommandStream.java:112) at com.orientechnologies.common.console.OConsoleApplication. executeCommands(OConsoleApplication.java:129) at com.orientechnologies.common.console.OConsoleApplication. run(OConsoleApplication.java:94) at com.orientechnologies.orient.graph.console.OGremlinConsole. main(OGremlinConsole.java:53) -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to the Google Groups OrientDB
Re: [orientdb] Next version? OrientDB 1.7!
Hi Luca, We use ridbag for as mvrbtree replacement to avoid deadlocks and improve graphdb durability but vertex-centric indexes are for 2.0 release. On Wed, Jan 15, 2014 at 6:25 PM, Luca Garulli l.garu...@gmail.com wrote: the *Vertex-Centric Indexes* by using the new SB-Tree algorithm -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Too much memory consumption after multiple insertions
This parameter set db cache memory consumption in megabytes, so you can use set it to reasonable value. On Thu, Jan 16, 2014 at 2:40 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, If you need you can decrease memory consumption using following parameter storage.diskCache.bufferSize , if you use plocal storage. On Thu, Jan 16, 2014 at 1:24 PM, Sotiris Beis sot.b...@gmail.com wrote: Hi, I have the following code: http://codeviewer.org/view/code:3b21 . I want to measure the time for the insertion of a block, where the block is consisted from 1,000 nodes and the corresponding edges. To be more clear my dataset is an edge list and when I find a new node I add to the database. Every line is an edge so in every line I add and edge. When 1,000 nodes have added I print the needed time. I want to commit every time a node or edge is added, in order to simulate a single insertion. My problem is that the memory consumption is too much. It needs more that 3GB of ram for a graph of approximately 403,394 nodes and 3,387,388 edges. I think that the problem comes from the index that is stored in memory. Is there any better way? Thanks in advance. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Too much memory consumption after multiple insertions
Hi I mean you should give DB as much RAM as possible without using of swap. On Thu, Jan 16, 2014 at 3:16 PM, Sotiris Beis sot.b...@gmail.com wrote: How can I determine wether my value is reasonable or not? On Jan 16, 2014, at 3:13 PM, Andrey Lomakin lomakin.and...@gmail.com wrote: This parameter set db cache memory consumption in megabytes, so you can use set it to reasonable value. On Thu, Jan 16, 2014 at 2:40 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, If you need you can decrease memory consumption using following parameter storage.diskCache.bufferSize , if you use plocal storage. On Thu, Jan 16, 2014 at 1:24 PM, Sotiris Beis sot.b...@gmail.com wrote: Hi, I have the following code: http://codeviewer.org/view/code:3b21 . I want to measure the time for the insertion of a block, where the block is consisted from 1,000 nodes and the corresponding edges. To be more clear my dataset is an edge list and when I find a new node I add to the database. Every line is an edge so in every line I add and edge. When 1,000 nodes have added I print the needed time. I want to commit every time a node or edge is added, in order to simulate a single insertion. My problem is that the memory consumption is too much. It needs more that 3GB of ram for a graph of approximately 403,394 nodes and 3,387,388 edges. I think that the problem comes from the index that is stored in memory. Is there any better way? Thanks in advance. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/GWyoLB_nmAQ/unsubscribe. To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] OrientVertex.addEdge() - how?
Hi, Could you try vertex1.addEdge(class:EdgeName, vertex3); it should work for your case. On Wed, Jan 8, 2014 at 8:41 PM, Sultan hajue...@gmail.com wrote: Hey folks, still using OrientGraph DB 1.5.0 with Java. I'm trying to add an edge from a vertex to another. I have schema saying graph.createEdgeType(EdgeName); Now I have some vertices and tried: vertex1.addEdge(EdgeName, vertex2, null, null, foo, bar); that works. Querying that with Gremlin by *g.E* results in that. vertex1.addEdge(EdgeName, vertex3); works, but gives an Edge Type, not an OrientEdge, so this Edge is not in the results of *g.E* I tried till blank despair to find a solution to add a propertyless OrientEdge that is to be found via Gremlin. vertex1.addEdge(EdgeName, vertex3, null, null, null, null), vertex1.addEdge(EdgeName, vertex3, EdgeName), vertex1.addEdge(class:EdgeName, vertex3, EdgeName), vertex1.addEdge(EdgeName, vertex3, class:EdgeName), vertex1.addEdge(label:EdgeName, vertex3, EdgeName), graph Nothing works. How to get an OrientEdge without propertys from one OrientVertex to another? I've read the documentation but did not find out, what exactly *label* and *iClassName* are, respectively their difference and if and where to put a class: or something like that in front of the name like I have to do with vertices... -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Released OrientDB 1.6.4: hot-fix + merged Blueprints
Hm, Is it possible for you to build from master branch and repeat your attempt ? On Thu, Jan 16, 2014 at 12:41 PM, Julien L. yotsumi...@gmail.com wrote: I've just tried with the following dependencies com.orientechnologies % orientdb-parent % 1.6.4, com.orientechnologies % orientdb-graphdb % 1.6.4 but I receive weird stacktraces on compilation, like : class file '//com.orientechnologies/orientdb-graphdb/jars/orientdb-graphdb-1.6.4.jar(com/tinkerpop/blueprints/impls/orient/OrientGraph.class)' is broken https://gist.github.com/studiodev/5d300cb4377f681c195b Do you have an idea on that? On Thursday, January 16, 2014 11:17:38 AM UTC+1, Andrey Lomakin wrote: Hi, If you have this dependency blueprints-orient-graph in your project - please remove it. On Thu, Jan 16, 2014 at 12:12 PM, Julien L. yotsu...@gmail.com wrote: Blueprints integration is a great news :) Thanks ! Is it necessary to update our dependencies ? (Currently, I've com.orientechnologies/orientdb-parent/1.6.4 and com.tinkerpop.blueprints/blueprints-orient-graph/2.5.0-SNAPSHOT) On Thursday, January 16, 2014 8:58:55 AM UTC+1, Leng Sheng Hong wrote: Ah great fixes! thanks a lot On Thursday, 16 January 2014 07:28:09 UTC+8, Lvc@ wrote: Hi all, Orient Technologies has just released OrientDB 1.6.4 as hot-fix + the integration with Blueprints. Yes, starting from 1.6.4 the Blueprints implementation has been moved inside the graphdb module to avoid all the alignment problems between OrientDB and Blueprints versions. To download it goto: http://www.orientechnologies.com/download/ For the complete list of fixed issues: https://github.com/ori entechnologies/orientdb/issues?milestone=14page=1state=closed Luca Garulli CEO at Orient Technologies the Company behind OrientDB http://about.me/luca.garulli -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: How to update/delete a POJO given its record ID using Java API?
Hi Dmitry, What is your question ? Will it work if you do ? Entity e = new Entity(); db.save(entity); Yes it will, but you should reassign entity after that, I mean you should do entity = db.save(entity); About case Entity e = new Entity(); e.setId(); --where field id marked as @Id ... db.save(entity); It will not work by one of 2 reasons: 1. you will get concurrent modification exception, because you can not updated not latest version. 2. document with given id does not exist, because ids are generated automatically during save. On Mon, Jan 13, 2014 at 10:15 PM, Dmitry nosko...@gmail.com wrote: Hi! I was not talking about the transfer of DTO from repository to WEB layer. And in a reverse direction (from WEB to database). May be you can provide example? All your examples consist of code: Entity e = db.newInstance(Entity.class); db.save(e); But if I do so: Entity e = new Entity(); db.save(entity); And if I do so: Entity e = new Entity(); e.setId(); --where field id marked as @Id ... db.save(entity); Thanks. On Monday, January 13, 2014 3:17:13 PM UTC+3, Andrey Lomakin wrote: Hi, You can use detach/attach functionality. Call com.orientechnologies.orient.object.db.OObjectDatabaseTx#detach method and you will not have to copy data so you can use it as web layer DTO. Also you do not need to load entity to save it, just save it without load, you asked how to load entity that is why I mentioned load method. On Sat, Jan 11, 2014 at 3:24 PM, Dmitry nosk...@gmail.com wrote: Andrey, maybe there are other options? I will explain: We have a typical web applications (that implements MVC pattern) And for example we use Spring MVC for it. Applications consists of: Controller (where implemented databinding from request parameters to our POJO model) Service/DAO layers for operation of the database. For your advice, we must perform mechanical work, because we: 1) load entity 2) copy field to field from one POJO (from WEB layer) to other POJO (loaded from OrientDb) 3) save loaded entity I understood you correctly? On Friday, December 27, 2013 7:35:50 PM UTC+3, Andrey Lomakin wrote: Ok. So you want to load Pojo, update fields and save it. It can be done by calling the method com.orientechnologies.orient.o bject.db.OObjectDatabaseTx#load(java.lang.Object) and Pojo is saved by calling method com.orientechnologies.orient.o bject.db.OObjectDatabaseTx#save(java.lang.Object). About annotations @Oid and @OVersion. First is used to map record id to pojo field and second is used to map version to pojo field. -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Help querying embedded list of embedded maps
Hi Matthew, It should be possible could you create issue so we will take a look ? On Fri, Jan 17, 2014 at 2:28 PM, Matthew matthew.giann...@gmail.com wrote: Thanks again Damian, but none of those ideas worked. I tried several other variations. Is this something that is just not possible with OrientDB? -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Maximum lock count exceeded and OutOfMemoryError
Hi Jun, Both of issues which you described are fixed in https://github.com/orientechnologies/orientdb/tree/rid-set-sbtree branch (we do not support remote storage yet) but as I can see you use embedded storage any way. Could you use plocal storage for your tests. About memory consumption OrientDB uses heap and direct memory (it consumes 4GB by default) if you would like to decrease amount of consumed memory you can set storage.diskCache.bufferSize property (in megabytes). Also about blueprints-orient-graph-2.5.0-SNAPSHOT dependency, it is not needed any more, blueprints implementation is embedded in graphdb so please drop this dependency. P.S. And finally about comparison to Neo4J insertion speed we have proposal for append only cluster which should improve insertion speed. P.S.2 looking forward for your feedback ! On Fri, Jan 17, 2014 at 10:56 PM, Jun Xu mail.ju...@gmail.com wrote: Hi, I'm evaluating different graph database products and am new to OrientDB. One use case I'm testing now is loading data to graph database. The use case basically is building a graph with half million vertices and a few millions of edges. I'm using OrientDB 1.6.4 on a CentOS Linux box with 8GB of memory and the CentOS version is 5.10 and the JDK is 1.7.0_40. The blueprints version is blueprints-core-2.5.0-SNAPSHOT and blueprints-orient-graph-2.5.0-SNAPSHOT. I use OrientGraph to build the graph. During initialization, it creates an OrientGraph instance (plocal or local storage engine) and creates a few key indices using createKeyIndex on vertex nodes. The building process does index based lookups (OrientGraph.getVertices()) on vertices and based whether the vertices exist or not, it will create them and set properties, or create edges and set properties on edges. There are no global index based lookups on edges. Edges are always reached via vertices. I load the data in batches (each batch probably has a few hundreds operations like looking up a vertex, creating a vertex, getting all edges of a vertex, creating an edge and setting a property etc.) and commit transaction at the end of each batch. After processing around 300 batches, an exception of Maximum lock count exceeded was thrown. I tried both local and plocal storage engine and got the same exception. I searched this group and got to know that OrientDB used to have this bug in very old versions and I'm using the latest version (1.6.4). Since the exception was thrown in transaction commit, I changed to use the OrientGraphNoTx interface. Without transaction enabled, I did not get the Maximum lock count exceeded exception but I noticed that the process was really eager for memory. Giving JVM 4GB of max memory, the speed was OK although still slower than Neo4j for the same process. I did not let the process finish once I saw the memory usage growing to 3GB. I restarted the process by giving JVM only 1GB of maximum memory and after running the process for 2 and half hours, an OutOfMemoryError was thrown. While with Neo4j, the whole loading process was finished using 1GB of maximum memory with quite good performance. Another thing I noticed was that the database size on disk is much bigger than the database size using Neo4j. At half way of the loading process, the OrientDB DB directory is already at 4GB, while for Neo4j the DB directory size is only 1.6GB after the whole loading process is finished. I actually really like the way OrientDB is designed, the mix of document and graph features and the binary protocol on remote interfaces. I really appreciate if you can help me get around the hurdles mentioned above. I might have done something wrong or maybe there are some tuning can be done. Thanks. Jun -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Build issues with 1.6.4
Hi, Done. On Mon, Jan 20, 2014 at 12:42 PM, Stian Seeberg stian.seeb...@gmail.comwrote: Hi Andrey, I have the same issue when getting source from git directly. What is there for me is WAL_SYNС_ON_PAGE_FLUSH (instead of SYNC). The file format is listed as UTF-8 while the rest of the files are listed as ASCII. Note that if I open the file in Eclipse it looks correct, but if I use gvim I get the weird char above, and my build fails with an illegal char \161 error. If I change the 'C' in Eclipse and save the build works again... Cheers, Stian On Thursday, January 16, 2014 7:53:54 PM UTC+1, Andrey Lomakin wrote: Hm, I have no compilation errors on my side. Do you have the same issues if pull sources ? On Thu, Jan 16, 2014 at 2:00 PM, Stian Seeberg stian@gmail.comwrote: Hi guys, Just wanted to let you know about a couple of build issues with the new 1.6.4 release. The source was downloaded as a zip from github. The first is an illegal character (not sure if this is a charset problem?) This is the same identifier in both cases, so I just renamed it locally to get it to build... orientdb-master\core\src\main\java\com\orientechnologies\ orient\core\config\OGlobalConfiguration.java:83: illegal character: \161 orientdb-master\core\src\main\java\com\orientechnologies\ orient\core\storage\impl\local\paginated\wal\OWriteAheadLog.java:1060: illegal character: \161 The second is that the orientdb-server-config.xml still does not contain the gremlin handler, so gremlin will fail to run on a default build. This was originally attributed to a conversion between ant and maven, but really should have been fixed by now? To get gremlin to run add the following code to orientdb-server-config.xml: !-- GRAPH PLUGIN -- handler class=com.orientechnologies.orient.graph.handler. OGraphServerHandler parameters parameter name=enabled value=true/ parameter name=graph.pool.max value=50/ /parameters /handler Cheers, Stian -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Maximum lock count exceeded and OutOfMemoryError
Hi Stefan, The append only cluster roughly speaking means that all changes are append only deletes/updates and additions of course are append only. But cluster consist of logical segments and those segments they are defragmented in background and their space is reused. So lets suppose we have cluster file with lets say 3 segments each 150MB (actually a lot of data). then we have situation like: 1-st segment is empty. 2-nd segment is empty. We do creations, updates deletes and so on. so we have: 1-st segment is full 2-nd segment is half empty In background we do 1-st segment defragmentation. we load 1-st segment in memory then extract only useful data (drop all out of dated after updates and deletes) and put in 2-nd segment. So as result we have: 1-st segment is empty 2-nd segment is full and we start to work(add data to) with 1-st segment once again. So virtually you always append data. It gives following advantages: 1. you work without random i/o (only small fraction of operations will be suffer from random io). 2. More scalable from mulitthreading point of view , you append only data so reads do not compete with writes. From user perspective all operations are supported. On Tue, Jan 21, 2014 at 7:03 PM, ste...@activitystream.com wrote: Hi, I'm a bit curious on the append only cluster as append-only is a part of our use case. In our case there will be some information (some document classes) that will be append only while others can be updated. Will you have a way to support mixed mode like that and what do you think the benefits of append-only will be in terms of speed/performance? Regards, -Stefan Baxter On Tuesday, 21 January 2014 08:38:27 UTC, Andrey Lomakin wrote: Hi Jun, Both of issues which you described are fixed in https://github.com/ orientechnologies/orientdb/tree/rid-set-sbtree branch (we do not support remote storage yet) but as I can see you use embedded storage any way. Could you use plocal storage for your tests. About memory consumption OrientDB uses heap and direct memory (it consumes 4GB by default) if you would like to decrease amount of consumed memory you can set storage.diskCache.bufferSize property (in megabytes). Also about blueprints-orient-graph-2.5.0-SNAPSHOT dependency, it is not needed any more, blueprints implementation is embedded in graphdb so please drop this dependency. P.S. And finally about comparison to Neo4J insertion speed we have proposal for append only cluster which should improve insertion speed. P.S.2 looking forward for your feedback ! On Fri, Jan 17, 2014 at 10:56 PM, Jun Xu mail@gmail.com wrote: Hi, I'm evaluating different graph database products and am new to OrientDB. One use case I'm testing now is loading data to graph database. The use case basically is building a graph with half million vertices and a few millions of edges. I'm using OrientDB 1.6.4 on a CentOS Linux box with 8GB of memory and the CentOS version is 5.10 and the JDK is 1.7.0_40. The blueprints version is blueprints-core-2.5.0-SNAPSHOT and blueprints-orient-graph-2.5.0-SNAPSHOT. I use OrientGraph to build the graph. During initialization, it creates an OrientGraph instance (plocal or local storage engine) and creates a few key indices using createKeyIndex on vertex nodes. The building process does index based lookups (OrientGraph.getVertices()) on vertices and based whether the vertices exist or not, it will create them and set properties, or create edges and set properties on edges. There are no global index based lookups on edges. Edges are always reached via vertices. I load the data in batches (each batch probably has a few hundreds operations like looking up a vertex, creating a vertex, getting all edges of a vertex, creating an edge and setting a property etc.) and commit transaction at the end of each batch. After processing around 300 batches, an exception of Maximum lock count exceeded was thrown. I tried both local and plocal storage engine and got the same exception. I searched this group and got to know that OrientDB used to have this bug in very old versions and I'm using the latest version (1.6.4). Since the exception was thrown in transaction commit, I changed to use the OrientGraphNoTx interface. Without transaction enabled, I did not get the Maximum lock count exceeded exception but I noticed that the process was really eager for memory. Giving JVM 4GB of max memory, the speed was OK although still slower than Neo4j for the same process. I did not let the process finish once I saw the memory usage growing to 3GB. I restarted the process by giving JVM only 1GB of maximum memory and after running the process for 2 and half hours, an OutOfMemoryError was thrown. While with Neo4j, the whole loading process was finished using 1GB of maximum memory with quite good performance. Another thing I noticed was that the database size on disk is much bigger than the database size using
Re: [orientdb] Re: edge inheritance enchancement
It is really nice feature will try to implement it in 1.7 On Thu, Jan 23, 2014 at 2:40 PM, Damian Bronecki bronecki.dam...@gmail.comwrote: Issue created: https://github.com/orientechnologies/orientdb/issues/1996 -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Getting started with the embedded server (1.7-SNAPSHOT)
And about 2-dn step use OServerAdmin instance to create db it is safest way to create it on server. On Thu, Jan 23, 2014 at 6:22 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Stefan, I suggest you to create/shutdown OreintGraph instance for the each method call (it is not already created in caller method). For embedded db it is OK. For remote connection you should use com.orientechnologies.orient.core.db.document.ODatabaseDocumentPool and pass documentDB inside of OrientGraph instance. On Thu, Jan 23, 2014 at 3:53 PM, ste...@activitystream.com wrote: Thnx! 1. AS IS 2/3. Goes like this: OrientGraph theGraph = new OrientGraph(plocal:/var/www/data/ + base); if (!theGraph.getRawGraph().exists()) { theGraph.getRawGraph().create(); } Moved to OrientGraph away fro NoTx. Can you please point me to Connection pooling documentation for this scenario? Or do I use theGraph (from the above example) for all my threads? Regards, -Stefan On Thursday, 23 January 2014 13:42:55 UTC, Andrey Lomakin wrote: Hi Stefan, I would suggest you do not use NoTx version of graph you have a risk to end up in non consistent state after concurrent modification exception. About you question so: 1. First step is correct. 2. Then you create database using com.orientechnologies.or ient.client.remote.OServerAdmin#createDatabase and com.orientechnologies.orient.client.remote.OServerAdmin#existsDatabase methods. 3. Connecting on plocal:filepath is correct. On Wed, Jan 22, 2014 at 11:50 PM, ste...@activitystream.com wrote: Hi, I must be mixing things here but after having used the OrientDB in embedded mode before I'm not understanding how the embedded server plays with the client connections and the new OrientGraphNoTx. What I need to do programmatically is: 1. Start the server (*works fine*) server = OServerMain.create(); server.startup(getClass().getResourceAsStream(/ orientdb-server.xml)); server.activate(); 2. Create a new/fresh graph database (*produces error*) server.openDatabase(graph, database, user, password).create(); --- Database 'database' is not configured on server 3. Start using the new database (*completely lost*) - OGraphDatabasePool - is deprecated and not compatible with OrientGraphNoTx - Connecting on plocal:filepath seems wrong since I have the server in place - Connecting on remote:server seems wrong since I'm running the embedded server Assistance is greatly appreciated. Regards, -Stefan -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Released OrientDB 1.6.4: hot-fix + merged Blueprints
Hi, Yes. On Thu, Jan 23, 2014 at 10:46 PM, Rob Gratz gratz@gmail.com wrote: What is the compatibility between 1.6.3 and 1.6.4 databases? Jar dropin? On Wednesday, January 15, 2014 5:28:09 PM UTC-6, Lvc@ wrote: Hi all, Orient Technologies has just released OrientDB 1.6.4 as hot-fix + the integration with Blueprints. Yes, starting from 1.6.4 the Blueprints implementation has been moved inside the graphdb module to avoid all the alignment problems between OrientDB and Blueprints versions. To download it goto: http://www.orientechnologies.com/download/ For the complete list of fixed issues: https://github.com/ orientechnologies/orientdb/issues?milestone=14page=1state=closed Luca Garulli CEO at Orient Technologies the Company behind OrientDB http://about.me/luca.garulli -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Oversize and edges
Stefan, We are going to release first version of implementation of new relations in graphdb which is sometimes 20x (that is true) times faster than current one. Aslo data structure is used in this relations was tested by Kai Londenberg and he confirmed https://groups.google.com/forum/#!searchin/orient-database/sbtreebansai/orient-database/ltNElAF0H_o/uQOwqAliUH8Jthat even on millions of relations there is no performance degradation. I attached also early benchmarks, that is benchmark of import or Wikipedia data in OrientDB. Firs line amount of records, second line time spent for insertion of 100 000 records. Full benchmark which we will run during 12 hours will be published at Monday (ridbag is new impl ridset is old impl). About your question in case of more than 50 links (roughly speaking) these links are stored in separate data structure so you should not worry about oversize. On Fri, Jan 24, 2014 at 1:21 PM, ste...@activitystream.com wrote: Hi, I have a potential use case where I have a very high number of edges (millions) for a document and I'm wondering if I should change them to one-directional links from the other site. Is there a practical limit to the number of edges for a vertex? (not theoretical) This is not a common case so I wonder if I should leave the oversize attribute at 2 or increase the default. Regards, -Stefán On Friday, 24 January 2014 09:28:08 UTC, Andrey Lomakin wrote: Hi Stefan, It affects edge creation so better do not set it to 0 On Fri, Jan 24, 2014 at 10:49 AM, ste...@activitystream.com wrote: Hi, I'm persisting vertexes as append-only which will not be altered. In some cases edges might be added later for that that document (ACL). Is it good for me to set oversize=0 or does that in any way affect the creation of the new edges? Regards, - Stefan -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. NumRecords,timeForLast10Records(ms) 10,47253 20,43958 30,46107 40,48085 50,49418 60,51253 70,53553 80,53286 90,56010 100,55289 110,59541 120,57625 130,61908 140,56377 150,60197 160,65489 170,64426 180,66461 190,70900 200,57842 210,64334 220,62981 230,72936 240,62439 250,65348 260,66146 270,80882 280,479465 290,561867 300,430317 310,442900 320,539006 330,67560 340,69867 350,74155 360,70768 370,70585 380,76804 390,75076 400,78726 410,80337 420,71217 NumRecords,timeForLast10Records(ms) 10,28605 20,27213 30,27908 40,29414 50,29457 60,28992 70,30161 80,29746 90,30064 100,31218 110,30585 120,31143 130,31271 140,31356 150,31103 160,32615 170,31276 180,32142 190,32974 200,31927 210,33189 220,32858 230,33183 240,32291 250,33524 260,33895 270,34387 280,34989 290,34735 300,34439 310,34018 320,33643 330,32402 340,33803 350,34257 360,34482 370,34398 380,34130 390,34383 400,34763 410,36516 420,34455 430,34323
Re: [orientdb] Oversize and edges
Hi, Sure we have configurable upper and lower boundaries for conversions between embedded and sbtree based implementations, to avoid frequent conversions overhead between implementations during cases when you add 60 items and then remove 5. On Fri, Jan 24, 2014 at 3:05 PM, Kai Londenberg kai.londenb...@googlemail.com wrote: Hi, just a short question. Are you going to make that number (50) configurable ? It might make sense to set it to a lower number to get maximum performance. best, Kai Londenberg 2014/1/24 ste...@activitystream.com Thank you Andrey. Look forward to the changes are they in 1.7 SNAPSHOT already? It's good to know about the ~50 links and the separate data structure. Can I force the system to use the separate data structure after insert? (The reason I ask is that if I can then I can use oversize=0 and rely on the external structure for the few vertexes that will require new edges) Regards, -Stefán On Friday, 24 January 2014 11:57:02 UTC, Andrey Lomakin wrote: Stefan, We are going to release first version of implementation of new relations in graphdb which is sometimes 20x (that is true) times faster than current one. Aslo data structure is used in this relations was tested by Kai Londenberg and he confirmed https://groups.google.com/forum/#!searchin/ orient-database/sbtreebansai/orient-database/ltNElAF0H_o/uQOwqAliUH8Jthat even on millions of relations there is no performance degradation. I attached also early benchmarks, that is benchmark of import or Wikipedia data in OrientDB. Firs line amount of records, second line time spent for insertion of 100 000 records. Full benchmark which we will run during 12 hours will be published at Monday (ridbag is new impl ridset is old impl). About your question in case of more than 50 links (roughly speaking) these links are stored in separate data structure so you should not worry about oversize. On Fri, Jan 24, 2014 at 1:21 PM, ste...@activitystream.com wrote: Hi, I have a potential use case where I have a very high number of edges (millions) for a document and I'm wondering if I should change them to one-directional links from the other site. Is there a practical limit to the number of edges for a vertex? (not theoretical) This is not a common case so I wonder if I should leave the oversize attribute at 2 or increase the default. Regards, -Stefán On Friday, 24 January 2014 09:28:08 UTC, Andrey Lomakin wrote: Hi Stefan, It affects edge creation so better do not set it to 0 On Fri, Jan 24, 2014 at 10:49 AM, ste...@activitystream.com wrote: Hi, I'm persisting vertexes as append-only which will not be altered. In some cases edges might be added later for that that document (ACL). Is it good for me to set oversize=0 or does that in any way affect the creation of the new edges? Regards, - Stefan -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] .wal files are filling up my disk
HI, Which version do you use ? On Fri, Jan 24, 2014 at 5:38 PM, Rob Gratz gratz@gmail.com wrote: Now that 2.0 is being pushed out, is there anyway this could be put into a sooner release. We have some customers who've built up 30GB of wal files. Telling them they have to reboot their system is not a very attractive solution for them. Thanks. On Monday, December 9, 2013 5:20:10 AM UTC-6, Andrey Lomakin wrote: Oh guys sorry, It is partially fixed in 1.6.2 and will be fixed in 2.0, when write ahead log will be automatically truncated. On Mon, Dec 9, 2013 at 1:05 PM, Sylvain Spinelli sylvain@gmail.comwrote: up. Seems an annoying issue for us before we plan to migrate from local to plocal. What are the plans on this point ? Sylvain Le 04/12/2013 22:43, StevenTomer a écrit : I'm using a database with plocal storage, and the .wal files created in the database directory are starting to pile up (12 GB). There's about 350 of them right now. Is this expected? It seems like they should be cleaned up. What can I do to minimize this? Steve -- -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Experience with OrientDB so far
Hi Giraldo, Could you take a look here https://github.com/orientechnologies/orientdb/wiki/plocal-storage-components#wiki-cluster On Mon, Jan 27, 2014 at 8:27 AM, Giraldo Rosales nitr...@gmail.com wrote: Has there been an official update to the reuse issue in plocal? Is there a setting to reuse an RID in plocal without storing the deleted records permanently? Also does local store in this way? Reusing RIDs but storing the deleted records permanently? Or does local reuse RIDs and keep clean by removing deleted records? Thanks! -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Experience with OrientDB so far
Giraldo, It is controversial issues, there are doubts that rid reuse will reduce ability to scale database also local storage will be deprecated soon. What is your problem with RID reuse ? On Mon, Jan 27, 2014 at 1:45 PM, Giraldo Rosales nitr...@gmail.com wrote: Yes. I read this. Great documentation on plocal storage but what about local storage? Does it handle deletions in the same way? I couldn't find documentation on local deletions. I also saw a request in this discussion about adding a setting to plocal to reuse RIDs. Was not sure if that request was implemented. I know, as of the latest build, local reuses and plocal doesn't. I was interested in reusing RIDs in plocal. Thanks! On Jan 27, 2014 5:01 AM, Andrey Lomakin lomakin.and...@gmail.com wrote: Hi Giraldo, Could you take a look here https://github.com/orientechnologies/orientdb/wiki/plocal-storage-components#wiki-cluster On Mon, Jan 27, 2014 at 8:27 AM, Giraldo Rosales nitr...@gmail.comwrote: Has there been an official update to the reuse issue in plocal? Is there a setting to reuse an RID in plocal without storing the deleted records permanently? Also does local store in this way? Reusing RIDs but storing the deleted records permanently? Or does local reuse RIDs and keep clean by removing deleted records? Thanks! -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/wXs6HoaiQkY/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Experience with OrientDB so far
So as I can see it the problem is not rid reuse but space reuse, does not it ? On Mon, Jan 27, 2014 at 3:54 PM, Giraldo Rosales nitr...@gmail.com wrote: That would be a great solution. Or even if it's an eventual reuse. Where if and when the RIDs run out (I am aware the limit is far beyond trillions), the database will start from 0 again and reuse any unused RIDs. Andrey, The fact that local will be deprecated helps in choosing the right option between the two. Thanks. On Jan 27, 2014 8:24 AM, Sylvain Spinelli sylvain.spine...@gmail.com wrote: For a customer, I have a use case where more than 5 records are deleted and re-created every night by batch. Not reuse RID can be a problem here. Ideally I think we should have a customizable interface RidFactory with 3 default implementations : never reuse, reuse immediately, reuse later (means reuse after a reasonable delay, 1 day for example). My 2 cents contribution ;) Sylvain Le 27/01/2014 13:14, Giraldo Rosales a écrit : Ah. Ok. Saw your concerns. Will trust them. I was thinking of something less durable like votes or likes in a database. Let's say you get a couple thousand votes and then start a new poll. That old, deleted, poll is just wasted RIDs. On Jan 27, 2014 7:09 AM, Andrey Lomakin lomakin.and...@gmail.com wrote: Giraldo, It is controversial issues, there are doubts that rid reuse will reduce ability to scale database also local storage will be deprecated soon. What is your problem with RID reuse ? On Mon, Jan 27, 2014 at 1:45 PM, Giraldo Rosales nitr...@gmail.comwrote: Yes. I read this. Great documentation on plocal storage but what about local storage? Does it handle deletions in the same way? I couldn't find documentation on local deletions. I also saw a request in this discussion about adding a setting to plocal to reuse RIDs. Was not sure if that request was implemented. I know, as of the latest build, local reuses and plocal doesn't. I was interested in reusing RIDs in plocal. Thanks! On Jan 27, 2014 5:01 AM, Andrey Lomakin lomakin.and...@gmail.com wrote: Hi Giraldo, Could you take a look here https://github.com/orientechnologies/orientdb/wiki/plocal-storage-components#wiki-cluster On Mon, Jan 27, 2014 at 8:27 AM, Giraldo Rosales nitr...@gmail.comwrote: Has there been an official update to the reuse issue in plocal? Is there a setting to reuse an RID in plocal without storing the deleted records permanently? Also does local store in this way? Reusing RIDs but storing the deleted records permanently? Or does local reuse RIDs and keep clean by removing deleted records? Thanks! -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/wXs6HoaiQkY/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/wXs6HoaiQkY/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/wXs6HoaiQkY/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups
Re: [orientdb] .wal files are filling up my disk
Hi, It is not problem in 1.6.4 I suggest you to wait for 1.6.5 and then do update. On Fri, Jan 24, 2014 at 9:47 PM, Rob Gratz gratz@gmail.com wrote: I believe they are using 1.6. On Jan 24, 2014 11:30 AM, Andrey Lomakin lomakin.and...@gmail.com wrote: HI, Which version do you use ? On Fri, Jan 24, 2014 at 5:38 PM, Rob Gratz gratz@gmail.com wrote: Now that 2.0 is being pushed out, is there anyway this could be put into a sooner release. We have some customers who've built up 30GB of wal files. Telling them they have to reboot their system is not a very attractive solution for them. Thanks. On Monday, December 9, 2013 5:20:10 AM UTC-6, Andrey Lomakin wrote: Oh guys sorry, It is partially fixed in 1.6.2 and will be fixed in 2.0, when write ahead log will be automatically truncated. On Mon, Dec 9, 2013 at 1:05 PM, Sylvain Spinelli sylvain@gmail.com wrote: up. Seems an annoying issue for us before we plan to migrate from local to plocal. What are the plans on this point ? Sylvain Le 04/12/2013 22:43, StevenTomer a écrit : I'm using a database with plocal storage, and the .wal files created in the database directory are starting to pile up (12 GB). There's about 350 of them right now. Is this expected? It seems like they should be cleaned up. What can I do to minimize this? Steve -- -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/fqICtxb-Asc/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Defined index of parent class is not updated for sub classes (1.7-SNAPSHOT)
Hi Stefan, It is a bug could you open issue, we will fix it in 1.6.5. On Mon, Jan 27, 2014 at 12:59 PM, ste...@activitystream.com wrote: Hi, Can you help me understand a bit here :). 1. I have a root vertext class with defined property and a non_unique_hasindex defined against that property. rootVertexType = tenantGraph.createVertexType(typeName); rootVertexType.createProperty(property, OType.STRING).setMandatory(true).setReadonly(true); rootVertexType.createIndex(IDX_ENTITY_REFERENCE, OClass.INDEX_TYPE.NOTUNIQUE_HASH_INDEX, property); 2. I have a sub class that extends the root vertex class subVertexType = tenantGraph.createVertexType(typeName, rootVertexType) 3. I add new vertexes of the sub class type to the graph (which are persisted) but the index does not seem to be updated Any thoughts? Best regards, -Stefán Baxter -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Save Vertex into specified cluster
Hi, You can use public OrientVertex addVertex(final String className, final String clusterName) On Wed, Jan 29, 2014 at 4:14 PM, Andrey Yesyev andrey.yes...@gmail.comwrote: Hi! I spent a day, trying to figure out how to save a Vertex into specified cluster... I failed. I'm using blueprints 2.5-SNAPSHOT with orientdb 1.6.4. Here is what I'm doing OrientGraph graph = new OrientGraph(plocal:ePersona_orient); ODatabaseDocumentTx db = graph.getRawGraph(); ... Vertex v = graph.addVertex(class:MyClass); v.setProperty(Fields.NAME, Name); //TODO Add Vertex to cluster graph.commit(); Very simple piece of code, but I'm completely lost in APIs of blueprints and native orientdb. I found this thread https://groups.google.com/forum/#!topicsearchin/orient-database/java$20api$20to$20create$20cluster|sort:date|spell:true/orient-database/CePCeiKRhXk , but it's pretty old one and looks like API changed a lot since that time. At least OGraphDatabase is deprecated now. Also, as I understand from docs I found, tinkerpop API is a standard for orientdb now, but there is nothing about clusters there. Somebody, please clarify this... Thanks! -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Gremlin over REST
HI, Could you send me your database so I will be able to reproduce issue ? On Wed, Jan 29, 2014 at 12:08 PM, Shota Nagahori ltz9.71logmc@gmail.com wrote: Hi Andrey, I'm sorry for my late reply. I tried v1.7-SNAPSHOT, and confirmed that 2. worked but 1. still threw the same error. Shota. On Monday, January 20, 2014 11:59:38 PM UTC+9, Andrey Lomakin wrote: HI Shota, Sorry, we do not support old versions could you try on 1.6.4 and 1.7-SNAPSHOT branch ? If issue persists we will fix it for you. On Sun, Jan 19, 2014 at 2:21 AM, Shota Nagahori ltz9.71l...@gmail.comwrote: Hi, I'm using OLD js API in my web app to communicate to OrientDB (v1.5.1). Query requests with the extended SQL work properly, but those with Gremlin, and the SQL using select gremlin(...), do not. I tried both of two ways like following: 1. http://localhost:2480/query/mydbname/gremlin/g.v(#9:0).out.map 2. http://localhost:2480/query/mydbname/sql/select gremlin(current.out.map) from #9:0 When sending the above requests, I got an internal server error: java.lang.NumberFormatException: For input string: [ONetworkProtocolHttpDb] The REST API of OrientDB does not recognize gremlin query requests, even though wiki says it can do? Or is there something wrong in my request code? Thanks, Shota -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] OObjectDatabaseTx get
Hi Francis, When open database (acquire from pool) property ODatabaseRecordThreadLocal.INSTANCE is automatically set. Acquiring connection from poo is cheap operation, so you can do something like: OObjectDatabaseTx db = OObjectDatabasePool.global().acquire(dbURL,dbUser, dbPwd); try { } finally { db.close(); } In your methods without performance loss. On Mon, Jan 27, 2014 at 12:00 AM, Francis West fran...@badape.net wrote: Hello I am trying to use OObjectDatabaseTx with a webapp, i thought i might follow the example in the documentation but just use the OObjectDatabasePool to get a OObjectDatabaseTx, so something like: OObjectDatabaseTx db = OObjectDatabasePool.global().acquire(dbURL,dbUser, dbPwd); ODatabaseRecordThreadLocal.INSTANCE.set(db.getUnderlying()); it seems I can't put the OObjectDatabaseTx db object in the ThreadLocal so i have to use the getUnderlying() method, where I am stuck is creating myself an OObjectDatabaseTx outside of my servlet filter: ODatabaseDocument localdbthread = (ODatabaseDocument) ODatabaseRecordThreadLocal.INSTANCE.get(); i assume i need to do something more to turn localdbthread back into a OObjectDatabaseTx or create an instance of OObjectDatabaseTx using ODatabaseDocument? Thanks in advance Francis -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] OServer (embedded server) questions
Yes you are right :) On Thu, Jan 30, 2014 at 4:01 PM, Luca Garulli l.garu...@gmail.com wrote: I think Andrey wanted to ask if you can open a new issue for this. Lvc@ On 30 January 2014 09:07, Andrey Lomakin lomakin.and...@gmail.com wrote: Hi, You can start several servers without any problem, binary server it is like servlet for remote protocols (distributed and remote) which works using embedded database. About isActivated. It is good idea. Will you provide a pool request ? On Thu, Jan 30, 2014 at 2:45 AM, odbuser odbus...@gmail.com wrote: Is it possible to startup multiple OServer's? In other words, OServerMain stores a single instance of OServer but is possible to create multiples without an issue? The reason I ask is that it would be nice to be able to start multiple servers with different configuration. com.orientechnologies.orient.server.OServerMain stores a single instance but nothing prevents us from creating additional OServers. I haven't tried it. Also, can you add an isActivated method to OServer so that we can know if it's running or not (without resorting to checking if a port is open)? -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: OrientDB 1.7 - OGraphDatabase will be removed. What ?!?!
Hi, To create graph db in such way just use db = Orient.instance().getDatabaseFactory().createDatabase(graph, plocal: + dbPath) if (!db.exists()) { info(DB does not exist, BaasBox will create a new one); db.create(); } About the second question, you have several variants. Two of them: 1. db.addVertex(class: + CLASS_VERTEX_NAME); 2. db.addVertex(CLASS_VERTEX_NAME, null); On Thu, Jan 30, 2014 at 5:30 PM, Claudio giastfa...@gmail.com wrote: Hi Luca, we use the old OGraphDatabase API to create a new fresh graph database if it does not exists when our application starts. db = new OGraphDatabase( plocal: + dbPath ) ; if (!db.exists()) { info(DB does not exist, BaasBox will create a new one); db.create(); } As far I know the OrientGraph API hasn't got the exists() method, on the contrary, its constructor raises an error if the specified DB does not exists. Any advice on this? Furthermore we use it to create vertices: ODocument vertex = db.createVertex(CLASS_VERTEX_NAME); Inspecting the OrientGraph API, I cannot find a similar API. I just found the addVertex(iClassName, iClusterName) that accepts two parameters instead of just the class name Thanks, Claudio Il giorno mercoledì 29 gennaio 2014 11:26:21 UTC+1, Lvc@ ha scritto: Hi all, we're very close to merge the new storage structure to the 1.7 branch. Andrey has some *awesome numbers *about the performance of the new engine in terms of benchmarks, he will share them with us on this group very soon. But in order to complete the merge, we should *remove the old Graph API: OGraphDatabase*! This is mainly for 2 big reasons: 1. it's not compatible with *Lightweight* edges and other improvements we introduced since version 1.4.x 2. it heavily uses *MVRB-Tree indexes* so it wouldn't scale on the new storage structure So after a while we deprecated the old Graph API, it's time to removed it from the v1.7 code base. I know some users are still sticked with this API, they can decide to: 1. Migrate to the Blueprints API (well documented on OrientDB TinkerPop sites) 2. Stay with old API and remain sticked to last OrientDB v1.6.x. Obviously we strongly suggest 1st solution! For the users want to migrate we will provide a new guide to migrate the old code (very easy, most of the concepts are the same). In this way they could benefits of HUGE improvement with last version of OrientDB, specially with big databases. Any comments are welcome :-) Lvc@ -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: OrientDB 1.7 - OGraphDatabase will be removed. What ?!?!
Hi, Connection pool can be used from document database. Create document database and pass it in OrientGraph it is a bit inconvenient but we did benchmark of import of wikipedia data structure it is 10-15 times faster on some data sets. On Thu, Jan 30, 2014 at 10:59 PM, Riccardo Tasso riccardo.ta...@gmail.comwrote: And what about the ConnectionPool? If I remember well it was usable only from OGraphDatabase. Thanks, Riccardo 2014-01-30 Claudio Tesoriero giastfa...@gmail.com: Thanks! Il 30/gen/2014 17:33 Andrey Lomakin lomakin.and...@gmail.com ha scritto: Hi, To create graph db in such way just use db = Orient.instance().getDatabaseFactory().createDatabase(graph, plocal: + dbPath) if (!db.exists()) { info(DB does not exist, BaasBox will create a new one); db.create(); } About the second question, you have several variants. Two of them: 1. db.addVertex(class: + CLASS_VERTEX_NAME); 2. db.addVertex(CLASS_VERTEX_NAME, null); On Thu, Jan 30, 2014 at 5:30 PM, Claudio giastfa...@gmail.com wrote: Hi Luca, we use the old OGraphDatabase API to create a new fresh graph database if it does not exists when our application starts. db = new OGraphDatabase( plocal: + dbPath ) ; if (!db.exists()) { info(DB does not exist, BaasBox will create a new one); db.create(); } As far I know the OrientGraph API hasn't got the exists() method, on the contrary, its constructor raises an error if the specified DB does not exists. Any advice on this? Furthermore we use it to create vertices: ODocument vertex = db.createVertex(CLASS_VERTEX_NAME); Inspecting the OrientGraph API, I cannot find a similar API. I just found the addVertex(iClassName, iClusterName) that accepts two parameters instead of just the class name Thanks, Claudio Il giorno mercoledì 29 gennaio 2014 11:26:21 UTC+1, Lvc@ ha scritto: Hi all, we're very close to merge the new storage structure to the 1.7 branch. Andrey has some *awesome numbers *about the performance of the new engine in terms of benchmarks, he will share them with us on this group very soon. But in order to complete the merge, we should *remove the old Graph API: OGraphDatabase*! This is mainly for 2 big reasons: 1. it's not compatible with *Lightweight* edges and other improvements we introduced since version 1.4.x 2. it heavily uses *MVRB-Tree indexes* so it wouldn't scale on the new storage structure So after a while we deprecated the old Graph API, it's time to removed it from the v1.7 code base. I know some users are still sticked with this API, they can decide to: 1. Migrate to the Blueprints API (well documented on OrientDB TinkerPop sites) 2. Stay with old API and remain sticked to last OrientDB v1.6.x. Obviously we strongly suggest 1st solution! For the users want to migrate we will provide a new guide to migrate the old code (very easy, most of the concepts are the same). In this way they could benefits of HUGE improvement with last version of OrientDB, specially with big databases. Any comments are welcome :-) Lvc@ -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/oFYb96sM7Jg/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Save Vertex with specified class name and cluster
Hi, If your cluster is absent in schema metadata query can not find it. You did not add cluster in list of clusters for given class so query can not find it. On Thu, Jan 30, 2014 at 10:50 PM, Andrey Yesyev andrey.yes...@gmail.comwrote: Ok, this is my fault, I added vertices to the wrong cluster. But why query *select count(*) from Name* return 0 vertices? It doesn't matter in what cluster I added them if I query by class name, does it? On Thursday, January 30, 2014 2:48:35 AM UTC-5, Andrey Lomakin wrote: Hi Andrey, Each class by definition uses separate cluster it is performed by default. Your mistake is that you store vertex in separate cluster not associated with given class (it has the same name as class) but you did not add cluster id in list of clusters for given class. So queries do not take this cluster in account. So if you need to have 2 clusters for given class call following method com.orientechnologies.orient.core.metadata.schema.OClass#addClusterId. But probably, as I understand from your design, you need each class in separate cluster which is already done and you should not need to do any additional steps. On Wed, Jan 29, 2014 at 9:53 PM, Andrey Yesyev andrey...@gmail.comwrote: I have to explain what I'm trying to do, I guess. I have a number of classes, all inherit Vertex. MACAddress, IPAddress, WebHost, ChatID, SocialSecurityNumber, EmailAddress, Name, PhoneNumber, UKNationalInsuranceNumber, X509CertificateHash, PostalAddress, CreditCardNumber, VOIPEndpoint; All of those classes I intend to store in different clusters. Let's say each cluster is a user defined case in our software. E.g. case1, case2 etc. I want to be able to query nodes (vertices) by class name, for example I want to get all IPAddresses, but also I want to be able to query all nodes that are in case1. I think this is absolutely possible, according documentation I read, is it? Thanks! -Andrey -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] SQL Graph queries not working in 1.6.4
Hi, Could you provide additional information in this issue https://github.com/orientechnologies/orientdb/issues/2004 On Mon, Jan 27, 2014 at 8:10 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, I will fix it after tomorrow https://github.com/orientechnologies/orientdb/issues/2004 . On Mon, Jan 27, 2014 at 4:21 PM, chiranjeeb ghosh chiranjeeb.gh...@gmail.com wrote: I had this working in 1.3.graphed F - FM -- S C (Edge) T(Edge) select in.out.in.out[@class='F'].F1 , in.out[@class='FM'].FM1 , S1 from (select flatten(out.in) from FM) Now If I start from T which is an Edge select outV().FM1 from T -- RESULT gives me FM first column value select expand(outV().in()) from T---RESULt gives me F values but without using expand is there a way because expand doesn't allow projections and other column values can't come \CG -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: OrientDB 1.7 - OGraphDatabase will be removed. What ?!?!
Hi, Here is difference in implementations in tx mode, local + mvrbtree + unique index (old) and plocal + ridbag + unique index (new). On Fri, Jan 31, 2014 at 10:37 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, Connection pool can be used from document database. Create document database and pass it in OrientGraph it is a bit inconvenient but we did benchmark of import of wikipedia data structure it is 10-15 times faster on some data sets. On Thu, Jan 30, 2014 at 10:59 PM, Riccardo Tasso riccardo.ta...@gmail.com wrote: And what about the ConnectionPool? If I remember well it was usable only from OGraphDatabase. Thanks, Riccardo 2014-01-30 Claudio Tesoriero giastfa...@gmail.com: Thanks! Il 30/gen/2014 17:33 Andrey Lomakin lomakin.and...@gmail.com ha scritto: Hi, To create graph db in such way just use db = Orient.instance().getDatabaseFactory().createDatabase(graph, plocal: + dbPath) if (!db.exists()) { info(DB does not exist, BaasBox will create a new one); db.create(); } About the second question, you have several variants. Two of them: 1. db.addVertex(class: + CLASS_VERTEX_NAME); 2. db.addVertex(CLASS_VERTEX_NAME, null); On Thu, Jan 30, 2014 at 5:30 PM, Claudio giastfa...@gmail.com wrote: Hi Luca, we use the old OGraphDatabase API to create a new fresh graph database if it does not exists when our application starts. db = new OGraphDatabase( plocal: + dbPath ) ; if (!db.exists()) { info(DB does not exist, BaasBox will create a new one); db.create(); } As far I know the OrientGraph API hasn't got the exists() method, on the contrary, its constructor raises an error if the specified DB does not exists. Any advice on this? Furthermore we use it to create vertices: ODocument vertex = db.createVertex(CLASS_VERTEX_NAME); Inspecting the OrientGraph API, I cannot find a similar API. I just found the addVertex(iClassName, iClusterName) that accepts two parameters instead of just the class name Thanks, Claudio Il giorno mercoledì 29 gennaio 2014 11:26:21 UTC+1, Lvc@ ha scritto: Hi all, we're very close to merge the new storage structure to the 1.7 branch. Andrey has some *awesome numbers *about the performance of the new engine in terms of benchmarks, he will share them with us on this group very soon. But in order to complete the merge, we should *remove the old Graph API: OGraphDatabase*! This is mainly for 2 big reasons: 1. it's not compatible with *Lightweight* edges and other improvements we introduced since version 1.4.x 2. it heavily uses *MVRB-Tree indexes* so it wouldn't scale on the new storage structure So after a while we deprecated the old Graph API, it's time to removed it from the v1.7 code base. I know some users are still sticked with this API, they can decide to: 1. Migrate to the Blueprints API (well documented on OrientDB TinkerPop sites) 2. Stay with old API and remain sticked to last OrientDB v1.6.x. Obviously we strongly suggest 1st solution! For the users want to migrate we will provide a new guide to migrate the old code (very easy, most of the concepts are the same). In this way they could benefits of HUGE improvement with last version of OrientDB, specially with big databases. Any comments are welcome :-) Lvc@ -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/oFYb96sM7Jg/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed
Re: [orientdb] Re: OrientDB 1.7 - OGraphDatabase will be removed. What ?!?!
Couple of words about benchmark. We imported wikipedia data using OrientGraph database, to be sure that we have no duplications unique index by page key was created. First benchmark that is benchmark which uses 1.6.4 version of OrientDB and second benchmark uses version from https://github.com/orientechnologies/orientdb/tree/rid-set-sbtree branch. On Fri, Jan 31, 2014 at 11:22 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, Here is difference in implementations in tx mode, local + mvrbtree + unique index (old) and plocal + ridbag + unique index (new). On Fri, Jan 31, 2014 at 10:37 AM, Andrey Lomakin lomakin.and...@gmail.com wrote: Hi, Connection pool can be used from document database. Create document database and pass it in OrientGraph it is a bit inconvenient but we did benchmark of import of wikipedia data structure it is 10-15 times faster on some data sets. On Thu, Jan 30, 2014 at 10:59 PM, Riccardo Tasso riccardo.ta...@gmail.com wrote: And what about the ConnectionPool? If I remember well it was usable only from OGraphDatabase. Thanks, Riccardo 2014-01-30 Claudio Tesoriero giastfa...@gmail.com: Thanks! Il 30/gen/2014 17:33 Andrey Lomakin lomakin.and...@gmail.com ha scritto: Hi, To create graph db in such way just use db = Orient.instance().getDatabaseFactory().createDatabase(graph, plocal: + dbPath) if (!db.exists()) { info(DB does not exist, BaasBox will create a new one); db.create(); } About the second question, you have several variants. Two of them: 1. db.addVertex(class: + CLASS_VERTEX_NAME); 2. db.addVertex(CLASS_VERTEX_NAME, null); On Thu, Jan 30, 2014 at 5:30 PM, Claudio giastfa...@gmail.com wrote: Hi Luca, we use the old OGraphDatabase API to create a new fresh graph database if it does not exists when our application starts. db = new OGraphDatabase( plocal: + dbPath ) ; if (!db.exists()) { info(DB does not exist, BaasBox will create a new one); db.create(); } As far I know the OrientGraph API hasn't got the exists() method, on the contrary, its constructor raises an error if the specified DB does not exists. Any advice on this? Furthermore we use it to create vertices: ODocument vertex = db.createVertex(CLASS_VERTEX_NAME); Inspecting the OrientGraph API, I cannot find a similar API. I just found the addVertex(iClassName, iClusterName) that accepts two parameters instead of just the class name Thanks, Claudio Il giorno mercoledì 29 gennaio 2014 11:26:21 UTC+1, Lvc@ ha scritto: Hi all, we're very close to merge the new storage structure to the 1.7 branch. Andrey has some *awesome numbers *about the performance of the new engine in terms of benchmarks, he will share them with us on this group very soon. But in order to complete the merge, we should *remove the old Graph API: OGraphDatabase*! This is mainly for 2 big reasons: 1. it's not compatible with *Lightweight* edges and other improvements we introduced since version 1.4.x 2. it heavily uses *MVRB-Tree indexes* so it wouldn't scale on the new storage structure So after a while we deprecated the old Graph API, it's time to removed it from the v1.7 code base. I know some users are still sticked with this API, they can decide to: 1. Migrate to the Blueprints API (well documented on OrientDB TinkerPop sites) 2. Stay with old API and remain sticked to last OrientDB v1.6.x. Obviously we strongly suggest 1st solution! For the users want to migrate we will provide a new guide to migrate the old code (very easy, most of the concepts are the same). In this way they could benefits of HUGE improvement with last version of OrientDB, specially with big databases. Any comments are welcome :-) Lvc@ -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- You received this message because you are subscribed to a topic in the Google Groups OrientDB group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/oFYb96sM7Jg/unsubscribe . To unsubscribe from this group and all its topics, send an email to orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- --- You received this message because you are subscribed to the Google Groups OrientDB group
Re: [orientdb] OrientDB and nameUUID (Version 3 UUIDs)
You can use manual indexes. Also you can create feature request the more users will vote for it the more chances that it will be implemented earlier. On Fri, Jan 31, 2014 at 6:37 PM, ste...@activitystream.com wrote: Yes, thank you. Let me encourage you though to add UUID field type support to some nice road-map somewhere :) The best thing for me though would be to have the transient field that does not get stored at all (only indexed) :). Regards, -Stefán On Friday, January 31, 2014 9:46:45 AM UTC, Andrey Lomakin wrote: Hi, You can use BYTE type as UUID store so it can only consume 16 bytes as I remember. And bytes can be indexed. Is this solution OK for you ? On Thu, Jan 30, 2014 at 7:58 PM, ste...@activitystream.com wrote: Hi, I'm using OrientDB to persist Events into an extended activity log (the activity stream) and these events are identified by deterministic IDs (version 3 UUID). That means that their ID can even be calculated on the client before they are persisted. - A unique signature is processed with: java.util.UUID nameUUIDFromBytes(signature) A typical ID looks like this 172ecd63-9c62-380d-a0a1-c45ca8883bc7 (more information here http://en.wikipedia.org/wiki/UUID#Definition) and currently I'm forced to store it as a String. Either of two things would make my life considerably easier: - Support for efficient storage of UUIDs in OrientDB making UUIDs first class citizens - Support for transient properties that are only indexed but not stored I know I can implement the latter with an index that I maintain myself but I will only do that as a last resort. Any comments? :) Very best regards, -Stefán -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Creating memory cluster in a physical database (OrientDB 1.6.4)
Hi Peter, This functionality is disabled till we will implement dmemroy storage - https://github.com/orientechnologies/orientdb/issues/1666 . After that it will be reenabled - sorry for inconvenience. On Sat, Feb 1, 2014 at 5:31 AM, Peter Perron peter.p.per...@gmail.comwrote: Hi, Is it possible to create memory clusters in a physical local database? When I execute the create cluster command with memory as the type, the server still creates a new cluster but it shows up as being PHYSICAL in the cluster list... When I do that in a memory database it works but I'm looking for a physical database with few memory clusters. thanks, Peter -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Error of loading big graphml to database
Hi Nikita, 1. Do not use local storage it is out of dated, use plocal. 2. We will release this week (just wait 2 days) first rc of new graph relations implementation it is about 7 times faster on big data. In attachment there is benchmark of import of 130 mln of nodes and about 1.5 billion of edges. Also if you do benchmark to test speed of import data it is applicable to use notx mode but if you do benchmark of insertion speed in production I recommend you to use OrientGraph version of database so you will avoid data inconsistencies in case of concurrent modification exception . On Mon, Feb 3, 2014 at 9:23 AM, Никита Волков alarmw...@gmail.com wrote: PS I forgot to write my version: OrientDB 1.6.4 Community Edition -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. NumRecords,timeForLast10Records(ms) 10,15205 20,12996 30,13500 40,14077 50,14489 60,14132 70,14623 80,14481 90,14674 100,15172 110,15334 120,14968 130,14844 140,15562 150,15146 160,15488 170,15457 180,15868 190,15979 200,16276 210,16305 220,16251 230,16444 240,16538 250,16442 260,16526 270,16770 280,17002 290,16361 300,16529 310,17549 320,16675 330,16436 340,16902 350,17250 360,17122 370,17298 380,17432 390,17473 400,17172 410,17135 420,17476 430,17146 440,16787 450,17076 460,17081 470,16965 480,16764 490,17302 500,17079 510,17075 520,16949 530,17330 540,16605 550,16863 560,16062 570,16036 580,16066 590,15394 600,16755 610,16667 620,16056 630,15371 640,15363 650,14782 660,15403 670,14990 680,14833 690,13819 700,14651 710,16071 720,15174 730,15061 740,14445 750,14942 760,15048 770,14598 780,16620 790,17190 800,17411 810,17529 820,17078 830,17393 840,17165 850,17464 860,16682 870,17029 880,17335 890,17269 900,17759 910,18613 920,17952 930,17478 940,17476 950,17682 960,17346 970,17527 980,17222 990,17294 1000,17164 1010,17362 1020,17496 1030,17559 1040,17301 1050,17073 1060,17037 1070,18044 1080,17230 1090,16774 1100,17169 1110,17733 1120,17457 1130,17661 1140,17643 1150,17731 1160,17310 1170,17737 1180,17838 1190,17006 1200,17450 1210,18087 1220,17662 1230,17640 1240,17861 1250,17728 1260,17959 1270,17661 1280,17804 1290,17902 1300,17954 1310,17918 1320,17880 1330,17285 1340,17561 1350,17445 1360,17092 1370,17137 1380,17290 1390,17716 1400,17545 1410,17578 1420,17769 1430,17943 1440,18059 1450,17852 1460,17707 1470,17825 1480,17530 1490,17897 1500,17468 1510,17776 1520,17508 1530,17476 1540,17948 1550,17606 1560,18147 1570,17599 1580,17374 1590,17784 1600,17815 1610,17835 1620,17925 1630,17773 1640,17383 1650,17605 1660,17773 1670,17528 1680,17963 1690,17287 1700,17362 1710,17556 1720,17788 1730,17441 1740,18021 1750,17587 1760,17234 1770,17762 1780,17487 1790,17904 1800,18203 1810,17866 1820,18179 1830,18219 1840,17897 1850,18058 1860,17618 1870,17712 1880,17739 1890,17796 1900,17916 1910,17966 1920,17872 1930,18131 1940,17721 1950,17921 1960,17222 1970,17717 1980,17817 1990,17490 2000,17042 2010,18352 2020,18052 2030,18419 2040,17773 2050,17648 2060,17714 2070,17845 2080,17926 2090,17945 2100,18120 2110,17874 2120,17669 2130,17785 2140,18200 2150,17652 2160,17787 2170,17708 2180,17817 2190,17954 2200,18078 2210,17897 2220,17689 2230,18167 2240,18144 2250,17768 2260,18541 2270,18034 2280,17942 2290,17933 2300,17860 2310,17591 2320,18038 2330,17896 2340,17974 2350,18234 2360,18098 2370,17881 2380,17810 2390,17571 2400,17787 2410,17432 2420,17691
Re: [orientdb] Re: Error of loading big graphml to database
Sorry sent you no tx mode benchmark, for tx mode results are bellow ridbag new implementation and ridset old one. On Mon, Feb 3, 2014 at 9:51 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Nikita, 1. Do not use local storage it is out of dated, use plocal. 2. We will release this week (just wait 2 days) first rc of new graph relations implementation it is about 7 times faster on big data. In attachment there is benchmark of import of 130 mln of nodes and about 1.5 billion of edges. Also if you do benchmark to test speed of import data it is applicable to use notx mode but if you do benchmark of insertion speed in production I recommend you to use OrientGraph version of database so you will avoid data inconsistencies in case of concurrent modification exception . On Mon, Feb 3, 2014 at 9:23 AM, Никита Волков alarmw...@gmail.com wrote: PS I forgot to write my version: OrientDB 1.6.4 Community Edition -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. NumRecords,timeForLast10Records(ms) 10,26990 20,25596 30,26931 40,27960 50,28117 60,27652 70,28865 80,28525 90,29140 100,30174 110,30106 120,30653 130,30006 140,30568 150,30243 160,32096 170,31349 180,32481 190,32262 200,31683 210,31242 220,32515 230,33071 240,32341 250,32407 260,32968 270,33952 280,34762 290,33543 300,32435 310,33710 320,32563 330,31578 340,33415 350,34066 360,33838 370,34246 380,34563 390,34217 400,33712 410,34640 420,33481 430,33456 440,32305 450,33896 460,32801 470,32739 480,33084 490,33694 500,32739 510,32293 520,33076 530,33402 540,32680 550,32870 560,31009 570,30414 580,30177 590,29356 600,31759 610,32185 620,30683 630,30630 640,30602 650,29552 660,30463 670,30410 680,30473 690,29834 700,30423 710,31826 720,30775 730,31435 740,29920 750,31110 760,30959 770,30649 780,31201 790,31425 800,32324 810,31859 820,32397 830,32131 840,3 850,31619 860,31136 870,31154 880,32312 890,32027 900,32352 910,33794 920,32568 930,32512 940,31602 950,31403 960,31423 970,31660 980,31027 990,30885 1000,30589 1010,31660 1020,31875 1030,31513 1040,31873 1050,30702 1060,31257 1070,32289 1080,31340 1090,30621 1100,31326 1110,31695 1120,31587 1130,31431 1140,32298 1150,31434 1160,31301 1170,32312 1180,31776 1190,32729 1200,31592 1210,33172 1220,31843 1230,31979 1240,32078 1250,32305 1260,32094 1270,32280 1280,31976 1290,32207 1300,31887 1310,32041 1320,31881 1330,31544 1340,31697 1350,32012 1360,30973 1370,32122 1380,30940 1390,32378 1400,31936 1410,31799 1420,32037 1430,32345 1440,32383 1450,32344 1460,32336 1470,32597 1480,32300 1490,32282 1500,31909 1510,31705 1520,31622 1530,32227 1540,32490 1550,32246 1560,31812 1570,32377 1580,31590 1590,32089 1600,32130 1610,31888 1620,31995 1630,32110 1640,31543 1650,31460 1660,32134 1670,31603 1680,32464 1690,31189 1700,31146 1710,32445 1720,31781 1730,32656 1740,31929 1750,32015 1760,31636 1770,32405 1780,31940 1790,32277 1800,32903 1810,32507 1820,32744 1830,32335 1840,32307 1850,32300 1860,32279 1870,31805 1880,32509 1890,31972 1900,33592 1910,32220 1920,32273 1930,32246 1940,33072 1950,31937 1960,32761 1970,31938 1980,32762 1990,33957 2000,32115 2010,33116 2020,32230 2030,33393 2040,33093 2050,32049 2060,32797 2070,32283 2080,32043 2090,32708 2100,32721 2110,32509 2120,31941 2130,31823 2140,33455 2150,32151 2160,31783 2170,32080 2180,32039 2190,32405 2200,32906 2210,32368 2220,32177 2230,33051
Re: [orientdb] Database 'plocal:/graphdb_tests_orient' is close
Andrey, I looked through you code, you did not do graph.shutdown() before db drop so internal graph context is not cleared and graph db tries to check that schema is needed for graph database is present without db open. So just do graph.shutdown() but I do suggest you to wait till tomorrow, we release new version of graph db relation management tool with much better performance. On Tue, Feb 4, 2014 at 9:05 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Andrey, Could you wait till Tuesday, I will check it ? On Mon, Feb 3, 2014 at 11:30 PM, Andrey Yesyev andrey.yes...@gmail.comwrote: Hi there, I'm back with a bunch of questions again. Today I faced a strange issue. I'm running tests, trying to figure out pros and cons of OrientDB. Each test I run in a new DB, so I'm creating and dropping DBs with the same name. Here is how I'm doing this Create DB public static void createDB() throws IOException { if (dbUrl.startsWith(remote)) { OServerAdmin server = new OServerAdmin(dbUrl).connect(dbUser, dbPassword); if (!server.existsDatabase(plocal)) { server.createDatabase(graph, plocal); } server.close(); } else { //OGraphDatabase database = new OGraphDatabase(dbUrl); OrientGraph database = new OrientGraph(dbUrl); if (!database.getRawGraph().exists()) { database.getRawGraph().create(); } database.getRawGraph().close(); } } Drop DB public static void dropDB() throws IOException { if (dbUrl.startsWith(remote)) { OServerAdmin server = new OServerAdmin(dbUrl).connect(dbUser, dbPassword); if (server.existsDatabase(plocal)) { server.dropDatabase(plocal); } server.close(); } else { OrientGraph database = new OrientGraph(dbUrl); if (database.getRawGraph().exists()) { if (database.isClosed()) { database.getRawGraph().open(dbUser, dbPassword); } OIndexManager indexManager = database.getRawGraph().getMetadata().getIndexManager(); for (@SuppressWarnings(rawtypes) OIndex index : indexManager.getIndexes()) { index.delete(); } database.drop(); } database.getRawGraph().close(); } } Get DB public static synchronized OrientGraph getDatabase() { return new OrientGraph(OGraphDatabasePool.global().acquire(dbUrl, dbUser, dbPassword)); } I'm actually using project from this thread https://groups.google.com/forum/#!searchin/orient-database/bemchmark/orient-database/VF_j5rGeffA/hzyC9PVj9lAJ . Have to say thanks to Milen Dyankov for a great job he did there. I changed it a little bit though... So, here is the problem I faced. I'm using OrientDB 1.6.4, remote connection. 1. Create DB 2. Do my tests. 4 threads simultaneously writing to DB 3. Drop DB 4. Create DB 5. Get an exception trying to create a vertex OrientVertex vertex = db.addVertex(OGraphVertex, null); com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException: Exception during response processing. at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:264) at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:231) at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:202) at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:113) at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1856) at com.orientechnologies.orient.client.remote.OStorageRemote.createRecord(OStorageRemote.java:328) at com.orientechnologies.orient.client.remote.OStorageRemoteThread.createRecord(OStorageRemoteThread.java:216) at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:265) at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:816) at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:77) at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:270) at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:38) at com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:312) at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1323) at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1312) at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1301) at com.tinkerpop.blueprints.impls.orient.OrientElement.save(OrientElement.java:148) at com.tinkerpop.blueprints.impls.orient.OrientElement.save(OrientElement.java:134
Re: [orientdb] super-node
Hi Fabrizio, It will be fixed tomorrow here is benchmarks of new implementation https://groups.google.com/forum/#!topic/orient-database/BSMippSCAFQ On Tue, Feb 4, 2014 at 2:35 PM, Fabrizio Fortino fabrizio.fort...@gmail.com wrote: Hi guys, I am doing some test with super-nodes on orientdb 1.6.4. Basically I am trying to create a super-node with 3 million edges. The insert performance becomes really slow after the first 50K edges (I am using the OIntentMassiveInsert committing every 1000 records). Moreover if I try select the super-node record from console the server throws an OOM error. Any idea? Thanks, Fabrizio On Saturday, February 18, 2012 3:47:32 PM UTC, bayoda wrote: Hi Think as we tried both (not the commercial version of neo4j) - that the orientdb is ways faster. One of the best compareable things - Apache Licence / vs not really OpenSource Scaleability - running about 8 TB on OrientDB (actually Testing only inside the company) works (not one database - but several of them Development and Documentation - maybe neo4j is better Fixing and upgrades - orientdb clear winner ... stability - if you write some things wrong - every system crashes :-) greetings Michael 2012/2/18 Luca Garulli l.ga...@gmail.com Hi Sergei, I'm the wrong person to make this question :-) Probably it's better asking it to someone used recent releases of both. Lvc@ On 18 February 2012 15:12, sergei s.fed...@gmail.com wrote: thx lucas another question, sincerely how we could compare oriented vs neo4j ? what is better done in orientdb and better done in neo4j ? what about performances ? i know we have real documents in orientdb but i talk about efficiency, scalability and so on I guess this question is difficult but it should be a great help for me in my decision process thanks a lot 2012/2/17 Luca Garulli l.ga...@gmail.com Hi, since 1.0rc8 the references between vertexes and edges are managed by a MVRB-Tree (the algorithm behind OrientDB indexes), so adding and removing edges impacts only the dirty tree nodes, not the entire tree. This only happens when the number of edges is major than a configurable threshold (now as 8). Lvc@ On 17 February 2012 20:25, sergei s.fed...@gmail.com wrote: great common problems of super-node (traversal for example) are resolved ? 2012/2/17 Luca Garulli l.ga...@gmail.com Hi Sergei, the super-node problem has been fixed! By last benchmark adding the first or the millionth of edge takes the same time. Lvc@ On 17 February 2012 18:31, sergei fed s.fed...@gmail.com wrote: hi it's been a while since my last seen of oriented. Super-node issue (dense node) are still a problem ? Thx -- bayoda.com - Professional Online Backup Solutions for Small and Medium Sized Companies -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Querying in OrientDB - Java API, SQL, Indexes
Hi, Do not use ONativeSynchQuery it is much slower than SQL. On Mon, Feb 3, 2014 at 4:21 PM, Mohammed LOUKILI EL FAHSSI m.louk...@skypaz.com wrote: can't find ONativeSynchQuery class, which jar to the client app? On Thursday, January 10, 2013 4:33:05 PM UTC+1, Adam Walczak wrote: Thx for the respoce. 3) yes, we support such range queries just to have no doubt: - OrientDB uses indexes to report them, yes ? - it does not have to iterate over the all documents, the index already idicates which ones have obj.number 8 ? - it doesn't have to do any not index wise sorting algorithm, it can give back an ordered set just by navigating the index ? 4) there is but it's poor supported: Native Query. Example: ONativeSynchQueryOQueryContextNative q = (ONativeSynchQueryOQueryContextNative) new ONativeSynchQueryOQueryContextNative( database, Profile, new OQueryContextNative()) { @Override public boolean filter(OQueryContextNative iRecord) { return iRecord.field(location).field(city).field(name). eq(Rome).and().field(name).like(G%).go(); } @Override public void end() { }; }.setLimit(20); ListODocument result = (ListODocument) q.execute(); But is this really a query. When using the above code does OrientDB use the index to find the location with the given city name ? Or does it iterate over ALL locations and perform comparisons on each one ? -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Trouble using OrientDB in embedded mode
Hi, Did you provide server configuration xml during start ? Seems like binary protocol handler is absent. On Tue, Feb 4, 2014 at 8:14 PM, George george.bog...@gmail.com wrote: Hi everyone, I start my server in embedded mode using a Java command line. The logs show the server started correctly: 2014-02-04 13:02:09:209 INFO Loading configuration from input stream [OServerConfigurationLoaderXml] 2014-02-04 13:02:09:380 INFO OrientDB Server v1.6.4 is starting up... [OServer] 2014-02-04 13:02:09:389 INFO Databases directory: /Users/georgebogdan/Projects/OrientDB/databases [OServer] 2014-02-04 13:02:09:416 INFO Listening binary connections on 0.0.0.0:2424(protocol v.19) [OServerNetworkListener] 2014-02-04 13:02:09:417 INFO Listening http connections on 0.0.0.0:2480(protocol v.10) [OServerNetworkListener] 2014-02-04 13:02:09:419 INFO OrientDB Server v1.6.4 is active. [OServer] though when trying to connect to a database using the console, the *connect* command hangs indefinitely: orientdb connect remote:localhost/GratefulDeadConcerts admin admin Connecting to database [remote:localhost/GratefulDeadConcerts] with user 'admin'... I can connect just fine when I start the server using the *server.sh* shell script: orientdb connect remote:localhost/GratefulDeadConcerts admin admin Connecting to database [remote:localhost/GratefulDeadConcerts] with user 'admin'...OK orientdb Anyone can help? Best regards, George -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Difference between embedded configuration and orientdb-server-config.xml?
Hi, Embedded server and server which you run by server.sh are exactly the same the difference only that you can access database like it was embedded without remote connection overhead. So content of server-config.xml or configuration provided inline is defined by your needs, if you do not need remote protocol or http just remove it the same about mail plugin and so on., On Tue, Feb 4, 2014 at 8:12 PM, Tommy itsdu...@gmail.com wrote: Hello, I was wondering if there was difference between the embedded configuration from the Embedded Serverhttps://github.com/orientechnologies/orientdb/wiki/Embedded-Server#wiki-use-an-embedded-configuration wiki and orientdb-server-config.xml. In the wiki, the configuration is defined inline but could also be in a custom db.config file. However the embedded configuration also referenced this property entry: entry name=\orientdb.config.file\ value=\C:/work/dev/orientechnologies/orientdb/releases/1.0rc1-SNAPSHOT/config/orientdb-server-config.xml\/ which to me implies the orientdb-server-config.xml file is still needed. The xml file has a similar structure to the embedded configuration and some of the same information seems to be in both places (network, users). Is the embedded configuration, and orientdb-server-config.xml different? If so, what should go into the embedded configuration, and what should go into orientdb-server-config.xml? -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Database 'plocal:/graphdb_tests_orient' is close
Hi Andrey, Could you send me your project then, I know that you described which code you changed but better to look it in one piece. On Tue, Feb 4, 2014 at 4:03 PM, Andrey Yesyev andrey.yes...@gmail.comwrote: I tried to shutdown graph, but either I did it wrong or something else going on there... Andrey, could you please be more specific how to shutdown it according to my code? On Tuesday, February 4, 2014 6:14:48 AM UTC-5, Andrey Lomakin wrote: Andrey, I looked through you code, you did not do graph.shutdown() before db drop so internal graph context is not cleared and graph db tries to check that schema is needed for graph database is present without db open. So just do graph.shutdown() but I do suggest you to wait till tomorrow, we release new version of graph db relation management tool with much better performance. On Tue, Feb 4, 2014 at 9:05 AM, Andrey Lomakin lomakin...@gmail.comwrote: Hi Andrey, Could you wait till Tuesday, I will check it ? On Mon, Feb 3, 2014 at 11:30 PM, Andrey Yesyev andrey...@gmail.comwrote: Hi there, I'm back with a bunch of questions again. Today I faced a strange issue. I'm running tests, trying to figure out pros and cons of OrientDB. Each test I run in a new DB, so I'm creating and dropping DBs with the same name. Here is how I'm doing this Create DB public static void createDB() throws IOException { if (dbUrl.startsWith(remote)) { OServerAdmin server = new OServerAdmin(dbUrl).connect(dbUser, dbPassword); if (!server.existsDatabase(plocal)) { server.createDatabase(graph, plocal); } server.close(); } else { //OGraphDatabase database = new OGraphDatabase(dbUrl); OrientGraph database = new OrientGraph(dbUrl); if (!database.getRawGraph().exists()) { database.getRawGraph().create(); } database.getRawGraph().close(); } } Drop DB public static void dropDB() throws IOException { if (dbUrl.startsWith(remote)) { OServerAdmin server = new OServerAdmin(dbUrl).connect(dbUser, dbPassword); if (server.existsDatabase(plocal)) { server.dropDatabase(plocal); } server.close(); } else { OrientGraph database = new OrientGraph(dbUrl); if (database.getRawGraph().exists()) { if (database.isClosed()) { database.getRawGraph().open(dbUser, dbPassword); } OIndexManager indexManager = database.getRawGraph(). getMetadata().getIndexManager(); for (@SuppressWarnings(rawtypes) OIndex index : indexManager.getIndexes()) { index.delete(); } database.drop(); } database.getRawGraph().close(); } } Get DB public static synchronized OrientGraph getDatabase() { return new OrientGraph(OGraphDatabasePool.global().acquire(dbUrl, dbUser, dbPassword)); } I'm actually using project from this thread https://groups.google. com/forum/#!searchin/orient-database/bemchmark/orient- database/VF_j5rGeffA/hzyC9PVj9lAJ . Have to say thanks to Milen Dyankov for a great job he did there. I changed it a little bit though... So, here is the problem I faced. I'm using OrientDB 1.6.4, remote connection. 1. Create DB 2. Do my tests. 4 threads simultaneously writing to DB 3. Drop DB 4. Create DB 5. Get an exception trying to create a vertex OrientVertex vertex = db.addVertex(OGraphVertex, null); com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException: Exception during response processing. at com.orientechnologies.orient.enterprise.channel.binary. OChannelBinaryAsynchClient.throwSerializedException( OChannelBinaryAsynchClient.java:264) at com.orientechnologies.orient.enterprise.channel.binary. OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient. java:231) at com.orientechnologies.orient.enterprise.channel.binary. OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient. java:202) at com.orientechnologies.orient.enterprise.channel.binary. OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient. java:113) at com.orientechnologies.orient.client.remote.OStorageRemote. beginResponse(OStorageRemote.java:1856) at com.orientechnologies.orient.client.remote.OStorageRemote. createRecord(OStorageRemote.java:328) at com.orientechnologies.orient.client.remote.OStorageRemoteThread. createRecord(OStorageRemoteThread.java:216) at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save( ODatabaseRaw.java:265) at com.orientechnologies.orient.core.db.record. ODatabaseRecordAbstract.executeSaveRecord( ODatabaseRecordAbstract.java:816) at com.orientechnologies.orient.core.tx.OTransactionNoTx. saveRecord(OTransactionNoTx.java:77) at com.orientechnologies.orient.core.db.record. ODatabaseRecordTx.save(ODatabaseRecordTx.java:270) at com.orientechnologies.orient.core.db.record. ODatabaseRecordTx.save(ODatabaseRecordTx.java:38) at com.orientechnologies.orient.core.record.ORecordAbstract. save
Re: [orientdb] The list function does not work
Hi Hung, You mix group and row level functions I mean that list() is group function like sum for example so if you wish to have behavior which you expected you should use let. I did not try it but it should work. select Name, $a as Fields from Contact let a = (select list(Fields.Name) where @rid = $parent.$current.@rid from Contact) On Thu, Jan 30, 2014 at 11:16 AM, Hung Tran tdhun...@gmail.com wrote: Hi, I am trying to write a single query to get some fields of parent entity, and some fields of its child entities. However i don't know how to get it work. I am trying to use list function, but it does not help. Case 1: orientdb select Name, list(Fields.Name) as Fields from Contact = it only returns a single row, with a list of all field name of all contacts = does it a bug? Case 2: orientdb select Name, list(Fields.Name, Fields.DisplayName) as Fields from Contact = the result is the same as the 1st case, with a list of a single value instead of a list of objects ({ name, displayName }). Any help will be very appreciated! My Best, Hung Tran -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Minimum recommended hardware specs
Hi Greg, Some components will utilize mutlicore architecture but some will not, we are working on it but if several replicated small nodes fits into you model better use such feature. In next releases we will fix it (2.1 as suppose) so starting from it will be better to use one single server. On Wed, Jan 29, 2014 at 3:43 PM, Greg mccarv...@gmail.com wrote: Thanks, that is what I needed to know. DigitalOcean.com only offers SSD. I have been doing performance benchmarking in comparison to another platform and have a bottle neck inserting new records... I'm only getting ~120 per second through the REST API. Server CPU is only at 20% on a larger instance... so I'm missing something. The other platform I'm testing was doing 600 per second without any tweaking, so I'm sure it's a misunderstanding on my part. I'll dig a little more on the problem today and post back in a new thread for advice if I don't solve it myself. Will OrientDB automatically utilize multi core machines? Or is it like Node where you are better off doing many smaller, single core servers and replicate them? On Wednesday, January 29, 2014 5:34:14 AM UTC-5, Lvc@ wrote: Hi Greg, OrientDB can also with few MB of RAM, but depends by your needs ad goals on performance. In a database like OrientDB you should consider not only RAM but also I/O DISK performance ;-) Lvc@ On 29 January 2014 10:12, Andrey Lomakin lomakin...@gmail.com wrote: Hi, A question, what do you mean by minimal configuration, H/W is needed to start database, ability to handle data operations but with slow performance ? On Wed, Jan 29, 2014 at 2:18 AM, Greg mcca...@gmail.com wrote: Are there any published minimum recommended server hardware specs? I often run testing servers on DigitalOcean.com with a 512MB droplet. Is this too small? -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] UPDATE with sub select adds square brackets to returned data
Hi, That is because it is always collection ). Try this one UPDATE atable SET value = $a[0] WHERE field='AA' let a = (select name from #13:0) On Sun, Feb 2, 2014 at 1:44 AM, Glenn Irwin gl...@irwinideas.com wrote: When doing an update like: UPDATE atable SET value = (select name from #13:0) WHERE field='AA' I end up with returned data from the select enclosed in square brackets. like this: [thename] in other words, whatever gets retrieved by the select has these [] brackets wrapped around it. How do I get rid of those? I have tried everything I can think of but I cannot lose them. I want to update with the value 'thename' not '[thename]' Using 1.6.0-SNAPSHOT Glenn. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Adding element to subdocument's field collection
Hi Pawel, This bug will require some time could you open issue for it ? On Sun, Feb 2, 2014 at 3:49 PM, Pawel K. kowa...@gmail.com wrote: Why having a record like #49:0 v2 ApplicationsQueue@Applications:(InProcess:{},Items:[]) executing UPDATE #49:0 ADD Applications.Items = #54:3 does not work? #49:0 v2 ApplicationsQueue@Applications:(InProcess:{},Items:[]) Similar command UPDATE #49:0 ADD Items = #54:0 works as expected. Best regards, Pawel -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: ISSUE with associations - BUG?
Hi Markus, Could you create issue about it, I will look on it at Monday. On Wed, Feb 5, 2014 at 1:38 PM, Markus Menner markus.men...@googlemail.comwrote: Any idea anyone? -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Clarification on Graph or Document and possible outdated best practices
Hi Dan, Your question is very old so you probably found answer on it, but any way. Only distributions are merged but separation between document and graph database still exists. On Sun, Jan 19, 2014 at 7:22 PM, dan elebash daneleb...@hotmail.com wrote: Just need some clarification on a few things that I have read both in tutorials and in the groups that may be outdated. Before 1.6 there where two different versions of OrientDB one was the graph and one the document ie two seperate folders and bin directories. Now when I download I get just a orientdb-community-1.6.4 folder 1) Have the graph and document engines been combined? Since now we have just one executable to launch? There where some slides in 2012 describing when to choose document or graph db type, from my understanding performance in the graph has increased and the heavyness of graph and document are nearly the same. 2) Is a graph type of db the recommended type for most applications even CRM or LOB type apps because performance is very similar now to document? ie this is the new way the graph way. 3)The new js driver implementation is following gremlin query structure. Is gremlin the recommended query language? 4)Are there any performance differences from continuing to use the SQL language with a graph database verse gremlin? 5) Is there a recommended api for performance? Thanks, Dan -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Clarification on Graph or Document and possible outdated best practices
About the rest of your questions, SQL query is typically faster than Gremlin so if you wish to increase your performance you should use document database and/or SQL queries. On Wed, Feb 5, 2014 at 3:58 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Dan, Your question is very old so you probably found answer on it, but any way. Only distributions are merged but separation between document and graph database still exists. On Sun, Jan 19, 2014 at 7:22 PM, dan elebash daneleb...@hotmail.comwrote: Just need some clarification on a few things that I have read both in tutorials and in the groups that may be outdated. Before 1.6 there where two different versions of OrientDB one was the graph and one the document ie two seperate folders and bin directories. Now when I download I get just a orientdb-community-1.6.4 folder 1) Have the graph and document engines been combined? Since now we have just one executable to launch? There where some slides in 2012 describing when to choose document or graph db type, from my understanding performance in the graph has increased and the heavyness of graph and document are nearly the same. 2) Is a graph type of db the recommended type for most applications even CRM or LOB type apps because performance is very similar now to document? ie this is the new way the graph way. 3)The new js driver implementation is following gremlin query structure. Is gremlin the recommended query language? 4)Are there any performance differences from continuing to use the SQL language with a graph database verse gremlin? 5) Is there a recommended api for performance? Thanks, Dan -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Important issue: WAL page is broken
Hi, mvrbtree was created for local storage and uses cache based on Java heap, so all operations with heap is out of control of WAL (they are not recorded). That is reason of incompatibility. New data structure is disk cache based (uses direct memory), so no OOM (disk will be used in such case) no GC overhead, and all operations are logged. Other question, the version 1.7 can use directly a DB created by the 1.6.x ? Not graph database, we will provide migration tool next week, possible option is export/import to/from GraphML format. On Wed, Feb 5, 2014 at 8:05 PM, Laurent Quérel laurent.que...@gmail.comwrote: Other question, the version 1.7 can use directly a DB created by the 1.6.x ? -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Important issue: WAL page is broken
Laurent, We had small internal meeting we will provide migration tool at Monday. But we are looking for you feedbag if you have time to try it before this date. On Wed, Feb 5, 2014 at 8:19 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, mvrbtree was created for local storage and uses cache based on Java heap, so all operations with heap is out of control of WAL (they are not recorded). That is reason of incompatibility. New data structure is disk cache based (uses direct memory), so no OOM (disk will be used in such case) no GC overhead, and all operations are logged. Other question, the version 1.7 can use directly a DB created by the 1.6.x ? Not graph database, we will provide migration tool next week, possible option is export/import to/from GraphML format. On Wed, Feb 5, 2014 at 8:05 PM, Laurent Quérel laurent.que...@gmail.comwrote: Other question, the version 1.7 can use directly a DB created by the 1.6.x ? -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: New graph database implementation and several release candidates.
Hi Pawel, I have merged it in develop branch couple of hours ago. About your questions. 1. I will share tomorrow. 2. sorry you should use java remote client it is new data structure, we will publish specification for it so non java users can use it too. The main parameter of plocal is amount of RAM for disk cache, so as you could see db is used 24 GB of RAM so you should set storage.diskCache.bufferSize parameter in megabytes. On Wed, Feb 5, 2014 at 10:38 PM, Pawel K. kowa...@gmail.com wrote: Andrey, Can you share benchmark sources? I am trying to repeat your scenario and results. Can I achieve similar performance boost using binary protocol with non-Java client? Best regards, Pawel -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Getting edges from Vertex
Hi Fabrizio, It is possible, but we need more information, could you open issue and send us test case or database to check it. On Thu, Feb 6, 2014 at 11:03 AM, Fabrizio Fortino fabrizio.fort...@gmail.com wrote: Additional note: if I execute System.out.println(doc.countEdges(Direction.OUT, has)); It prints the right number of edges. Could it be a bug on getEdges() method? On Wednesday, February 5, 2014 2:22:55 PM UTC, Fabrizio Fortino wrote: Hi guys, I have a graph database with Vertices and Edges. When I try to execute the following code: graph.command( new OSQLAsynchQueryVertex(select from MyVertex, new OCommandResultListener() { public boolean result(Object iRecord) { Vertex doc = graph.getVertex(iRecord); System.out.println(V + doc); for (Edge e : doc.getEdges(Direction.BOTH)) { System.out.println(E + e); } return true; } public void end() { // TODO Auto-generated method stub } })).execute(); I cannot see any edge printed. Any idea? Thanks, Fabrizio -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] A graph with few vertices but with many edges. Will the graph work well?
Hi, We have costumer in production which has 700 000 edges for one vertex and does not experience performance problems so that is what graph databases are intended for. On Thu, Feb 6, 2014 at 9:24 AM, Tomek Kulakow tome...@gmail.com wrote: Does it make sense to create a graph with a very large amount edges between vertices? For example if I have sellers and products as vertices and each net user by buying something adding new edge (a edge from a seller to a product with data and amount properties means that a seller sold a product). Graph could have a few retailers but for each seller there may be tens of thousands edge leading to products. I'm interested in a quick search of suitable edges, and quick movement between vertices like (finding all products sold by the seller) or aggregation (for example find how much has earned the seller by soap selling. Is graph database good for it? Shouldn't I use a relational database? Best regards, Tomek -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Problem with OrientDB1.6.2 on the Raspberry PI
+ db.use.distributedVersion = false - NONTX + nonTX.recordUpdate.synch = true + nonTX.clusters.sync.immediately = manindex - TX + tx.useLog = true + tx.autoRetry = 1 + tx.log.fileType = classic + tx.log.synch = true + tx.commit.synch = true - HASHTABLE + hashTable.slitBucketsBuffer.length = 1500 - INDEX + index.auto.rebuildAfterNotSoftClose = true + index.auto.synchronousAutoRebuild = true + index.auto.lazyUpdates = 1 + index.manual.lazyUpdates = 1 + index.durableInNonTxMode = false + index.txMode = ROLLBACK_ONLY + index.useSBTreeByDefault = true + index.notunique.useSBTreeContainerByDefault = true - MVRBTREE + mvrbtree.timeout = 5000 + mvrbtree.nodePageSize = 256 + mvrbtree.loadFactor = 0.7 + mvrbtree.optimizeThreshold = 10 + mvrbtree.entryPoints = 64 + mvrbtree.optimizeEntryPointsFactor = 1.0 + mvrbtree.entryKeysInMemory = false + mvrbtree.entryValuesInMemory = false + mvrbtree.ridBinaryThreshold = 8 + mvrbtree.ridNodePageSize = 64 + mvrbtree.ridNodeSaveMemory = false - SBTREE + sbtree.maxKeySize = 10240 + sbtree.maxEmbeddedValueSize = 40960 - SBTREEBONSAI + sbtreebonsai.bucketSize = 2 - LAZYSET + lazyset.workOnStream = true - COLLECTIONS + collections.preferSBTreeSet = false - FILE + file.lock = true + file.defrag.strategy = 0 + file.defrag.holeMaxDistance = 32768 + file.mmap.useOldManager = false + file.mmap.autoFlush.timer = 30 + file.mmap.autoFlush.unusedTime = 30 + file.mmap.lockMemory = true + file.mmap.strategy = 0 + file.mmap.blockSize = 1048576 + file.mmap.bufferSize = 8192 + file.mmap.maxMemory = 134217728 + file.mmap.overlapStrategy = 2 + file.mmap.forceDelay = 10 + file.mmap.forceRetry = 50 - JNA + jna.disable.system.library = true - NETWORK + network.maxConcurrentSessions = 1000 + network.socketBufferSize = 32768 + network.lockTimeout = 15000 + network.socketTimeout = 15000 + network.retry = 5 + network.retryDelay = 500 + network.binary.loadBalancing.enabled = false + network.binary.loadBalancing.timeout = 2000 + network.binary.maxLength = 32736 + network.binary.readResponse.maxTimes = 20 + network.binary.debug = false + network.http.maxLength = 100 + network.http.charset = utf-8 + network.http.sessionExpireTimeout = 300 - PROFILER + profiler.enabled = false + profiler.config = null + profiler.autoDump.interval = 0 - LOG + log.console.level = info + log.file.level = fine - COMMAND + command.timeout = 0 - CLIENT + client.channel.minPool = 1 + client.channel.maxPool = 20 + client.connectionPool.waitTimeout = 5000 + client.channel.dbReleaseWaitTimeout = 1 - SERVER + server.channel.cleanDelay = 5000 + server.cache.staticFile = false + server.cache.2q.increaseOnDemand = true + server.cache.2q.increaseStep = 0.1 + server.log.dumpClientExceptionLevel = FINE + server.log.dumpClientExceptionFullStackTrace = true - DISTRIBUTED + distributed.threadQueueSize = 1 + distributed.crudTaskTimeout = 3000 + distributed.commandTaskTimeout = 5000 + distributed.queueTimeout = 5000 + distributed.asynchResponsesTimeout = 15000 + distributed.purgeResponsesTimerDelay = 15000 -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Important issue: WAL page is broken
Hi, If you use JSON version of import/export you create the same data structures as before, so you will have no profit of this. You should use new LINKBAG data structure to fix this issue. So you should either use GraphML which operates on the graph model level or use migration tool which will be released at Monday. On Thu, Feb 6, 2014 at 9:36 AM, Laurent Quérel laurent.que...@gmail.comwrote: Le mercredi 5 février 2014 22:08:46 UTC+1, Andrey Lomakin a écrit : Hi, I have merged it in develop branch couple of hours ago, it is not in maven repository (I think), Ok let me know when I can get the last version in the snapshot repo or better in maven central. Also import/export you used json, but I meant GraphML ). Ok, but what is the difference because my current export, import in JSON was ok. The graphml export / import is more robust, stable... ? I suggest you to wait till Monday (we add migration tool) and you will use it to migrate your data. Ok and thanks a lot for this support. I give you my feedback regarding the version 1.7 snapshot this afternoon after the load test. Best Laurent Also you can download snapshot from build server http://helios. orientechnologies.com/job/orient-maven/lastStableBuild/ On Wed, Feb 5, 2014 at 8:54 PM, Laurent Quérel laurent...@gmail.comwrote: Still working on it: - [DONE] change pom.xml with 1.7-SNAPSHOT. - [DONE] change the code for incompatibility in the API (eg: ODatabaseDocumentTx.backup has now 4 arguments instead of 3 previously). - [DONE] export db 1.6 from the OConsole 1.6 - [DONE] create an empty DB from the OConsole 1.7 - [DONE] import from the OConsole 1.7 - [DONE] basic tests (data ok, index ok, SQL queries ok) - [TODO] load tests Best Laurent Le mercredi 5 février 2014 19:39:27 UTC+1, Andrey Lomakin a écrit : Laurent, We had small internal meeting we will provide migration tool at Monday. But we are looking for you feedbag if you have time to try it before this date. On Wed, Feb 5, 2014 at 8:19 PM, Andrey Lomakin lomakin...@gmail.comwrote: Hi, mvrbtree was created for local storage and uses cache based on Java heap, so all operations with heap is out of control of WAL (they are not recorded). That is reason of incompatibility. New data structure is disk cache based (uses direct memory), so no OOM (disk will be used in such case) no GC overhead, and all operations are logged. Other question, the version 1.7 can use directly a DB created by the 1.6.x ? Not graph database, we will provide migration tool next week, possible option is export/import to/from GraphML format. On Wed, Feb 5, 2014 at 8:05 PM, Laurent Quérel laurent...@gmail.comwrote: Other question, the version 1.7 can use directly a DB created by the 1.6.x ? -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: OrientDB 1.7 - OGraphDatabase will be removed. What ?!?!
Hi, Yes, all is correct. On Thu, Feb 6, 2014 at 12:50 PM, Riccardo Tasso riccardo.ta...@gmail.comwrote: Hi, I'm using the following code: ODatabaseDocumentPool pool = new ODatabaseDocumentPool(url, user, password); ... ODatabaseDocumentTx db = null; try { db = pool.acquire(); final OSQLSynchQueryODocument query = getQuery(params); ListODocument queryResult = db.query(query, paramsMap); return results; } catch(Exception e) { e.printStackTrace(); } finally { if (isNotNull(db)) db.close(); } I can't use the GraphFactory since I'm tight to OrientDB 1.6.3 and can't swithc right now. Do you think it's appropriate use of connection pool? Cheers, Riccardo Il giorno mercoledì 5 febbraio 2014 09:42:37 UTC+1, Andrey Lomakin ha scritto: Hi Riccardo, I lost context that is answer on what message ? Also we found that passing of database may lead to problems in multithreading environment so you I suggest you to use graph factory with active pool. On Wed, Feb 5, 2014 at 10:38 AM, Riccardo Tasso riccard...@gmail.comwrote: 2014-01-31 Andrey Lomakin lomakin...@gmail.com: Create document database and pass it in OrientGraph it is a bit inconvenient What do you mean with inconvenient? Riccardo -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Re: Unintended clearing of links from vertex when modifying properties via tinkerpop framed object
Hi, In 1.7 RC1 which was published today there is no difference in management edges in tx and no tx mode, but we suggest to wait till Monday and use 1.7-SANPSHOT which will contain migration tool. On Thu, Feb 6, 2014 at 7:28 PM, Dexter Pratt dexterpratt@gmail.comwrote: Updating this issue - Found another situation where apparently framed vertex transaction mode operations on an object created in OrientGraphNoTx mode resulted in unintended removal of edges, so it was not an isolated case. We tried switching our application to use only OrientGraphNoTx and the problem went away. Our plan is to move to 1.7 and reproducing the behavior in that system before attempting to diagnose since for the short term we can get by without transactions. Dexter On Sunday, January 19, 2014 11:19:39 AM UTC-8, Dexter Pratt wrote: Hi all, we've been working with OrientDB for several months on the NDEx project (www.ndexbio.org) , but this is my first post. We are currently running in 1.6.1. Most of our interface to OrientDB is via a Frames data model. I've encountered a problem that is proving difficult to debug because it seems to be (1) dependent on the mode of creation and population of the stored objects and (2) the problem disappears if I breakpoint my code and inspect the objects prior to commit. So, rather than starting by asking the for help and providing lots of detail on the code, I'm going to outline the problem and ask for advice on how to pin this problem down, how to generate a better bug to diagnose. The essence of the problem: - INetwork is class of object that is managed by a tinkerpop VertexFrame with both properties and adjacencies. - For one group of INetwork objects, when we perform an update on an INetwork to set one or more properties, the adjacencies are reset - all links are lost. - BUT, this does NOT happen for another group of INetwork objects. The properties are changed correctly and the links are not affected. - The most obvious difference between the two groups is that they were created using different code. The group affected by the bug was created under an OrientGraphNoTx connection as part of a massive upload strategy. The group not affected was created in standard transaction mode. - There is no obvious difference in the links when inspected in the console and both groups of graphs operate correctly in our application, all queries apparently operating without any difference (at least not that we have detected) - FURTHER, if the update operation is breakpointed in Eclipse and the INetwork object is inspected in the debugger, and then the code is resumed, then the update operation behaves correctly and the links are not affected. My current theory is therefore that there is something different between the two groups of stored INetworks that affects how the record is loaded by the VertexFrame. I might guess that the difference stems from the use of OrientGraphNoTx to load the vulnerable group, but I have no proof of that. And finally, it seems that the act of debug inspection causes alteration in the state of the VertexFrame such that the bug is averted. Thanks for any insights! I look forward to participating in this community. Our project is entirely open source, the repos are at https://github.com/cytoscape - Dexter Pratt -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Binary protocol - help needed
Hi Pawel, What do you mean you want to retrieve document partially ? It is internal presentation of document so it can not be turned off, we can provide description of this format. On Thu, Feb 6, 2014 at 10:10 PM, Pawel K. kowa...@gmail.com wrote: With recent develop snapshot, I start to get strange edge colection representation SELECT FROM #42:0 #42:0 v12 DbPedResource@ *out_DbPedLinks:%AQsAKgABACoAAgAqAAMAKgAEACoABQAqAAYAKgAHACoACAAqAAkAKgAKACoACw==* ;,Uri:AWK,Related:[] It's can be resolved to the following result SELECT outE('DbPedLinks') FROM #42:0 #-2:1 v0 outE:[#43:-2,#43:-3,#43:-4,#43:-5,#43:-6,#43:-7,#43:-8,#43:-9, #43:-10,#43:-11,#43:-12] I guess it's LINKBAG, can I turn it off for binary protocol? Best regards, Pawel -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Binary protocol - help needed
To achieve good performance, durability and thread safety we use pretty sophisticated algorithm which allows do not fetch lets say all 700 000 links to edges during link manipulation to the client and still supports mvcc without flaws. So to make it simple you can use only embedded version of linkbag, for example in your case linkbag has following format. decode linlkbag string using base 64 then you will have following binary format: amount of items(int),first cluster id(short), first cluster position (long), ... , n cluster id(short), n cluster position(long) On Thu, Feb 6, 2014 at 10:41 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Pawel, What do you mean you want to retrieve document partially ? It is internal presentation of document so it can not be turned off, we can provide description of this format. On Thu, Feb 6, 2014 at 10:10 PM, Pawel K. kowa...@gmail.com wrote: With recent develop snapshot, I start to get strange edge colection representation SELECT FROM #42:0 #42:0 v12 DbPedResource@ *out_DbPedLinks:%AQsAKgABACoAAgAqAAMAKgAEACoABQAqAAYAKgAHACoACAAqAAkAKgAKACoACw==* ;,Uri:AWK,Related:[] It's can be resolved to the following result SELECT outE('DbPedLinks') FROM #42:0 #-2:1 v0 outE:[#43:-2,#43:-3,#43:-4,#43:-5,#43:-6,#43:-7,#43:-8,#43:-9, #43:-10,#43:-11,#43:-12] I guess it's LINKBAG, can I turn it off for binary protocol? Best regards, Pawel -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Binary protocol - help needed
linkbag surrounded by % and : so you should truncate them. On Thu, Feb 6, 2014 at 10:54 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: To achieve good performance, durability and thread safety we use pretty sophisticated algorithm which allows do not fetch lets say all 700 000 links to edges during link manipulation to the client and still supports mvcc without flaws. So to make it simple you can use only embedded version of linkbag, for example in your case linkbag has following format. decode linlkbag string using base 64 then you will have following binary format: amount of items(int),first cluster id(short), first cluster position (long), ... , n cluster id(short), n cluster position(long) On Thu, Feb 6, 2014 at 10:41 PM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi Pawel, What do you mean you want to retrieve document partially ? It is internal presentation of document so it can not be turned off, we can provide description of this format. On Thu, Feb 6, 2014 at 10:10 PM, Pawel K. kowa...@gmail.com wrote: With recent develop snapshot, I start to get strange edge colection representation SELECT FROM #42:0 #42:0 v12 DbPedResource@ *out_DbPedLinks:%AQsAKgABACoAAgAqAAMAKgAEACoABQAqAAYAKgAHACoACAAqAAkAKgAKACoACw==* ;,Uri:AWK,Related:[] It's can be resolved to the following result SELECT outE('DbPedLinks') FROM #42:0 #-2:1 v0 outE:[#43:-2,#43:-3,#43:-4,#43:-5,#43:-6,#43:-7,#43:-8,#43:-9, #43:-10,#43:-11,#43:-12] I guess it's LINKBAG, can I turn it off for binary protocol? Best regards, Pawel -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Binary protocol - help needed
Hi Pawel, I do not think that providing such level of compatibility is good idea, too much sources should be spent on this. Probably in such case users can work in embedded mode. You see embedded collections they of course will not allow to work with thousands of links but support of sbtree is really resourceful change. Lets say we never fetch them on the client if you add link to linkbag you only register event about addition/removal of item in document and do real operations on sever side. Also when you iterate items in collection you do it page by page and do not fetch all of them at once. We will provide this format bur probably better to use embedded version from begging. On Thu, Feb 6, 2014 at 10:58 PM, Pawel K. kowa...@gmail.com wrote: Thanks Andrey for info. Well, I wanted to fix my binary driver to recent version. I am during deep dive into ORidBag,OSBTreeRidBag,OEmbeddedRidBag anyway ;) I am wondering if it means for driver developers the need of implementation Bonsai structures in their languages just to be able to serialize/deserialize edges collections. If so, the entry point to write really compatible driver will be much higher ;) Probably also many other drivers will be not compatible. Therefore I thought if it's possible to have two options in binary protocol (still old simple comma separated collection which internally on server side is serialized/deserialized to new RidBag structures or new Base64 RidBag structures passed to binary clients. Potentially it could be based on the protocol version. Just the idea. Best regards, Pawel On Thursday, February 6, 2014 9:41:15 PM UTC+1, Andrey Lomakin wrote: Hi Pawel, What do you mean you want to retrieve document partially ? It is internal presentation of document so it can not be turned off, we can provide description of this format. On Thu, Feb 6, 2014 at 10:10 PM, Pawel K. kow...@gmail.com wrote: With recent develop snapshot, I start to get strange edge colection representation SELECT FROM #42:0 #42:0 v12 DbPedResource@ *out_DbPedLinks:%AQsAKgABACoAAgAqAAMAKgAEACoABQAqAAYAKgAHACoACAAqAAkAKgAKACoACw==* ;,Uri:AWK,Related:[] It's can be resolved to the following result SELECT outE('DbPedLinks') FROM #42:0 #-2:1 v0 outE:[#43:-2,#43:-3,#43:-4,#43:-5,#43:-6,#43:-7,#43:-8,#43:-9, #43:-10,#43:-11,#43:-12] I guess it's LINKBAG, can I turn it off for binary protocol? Best regards, Pawel -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Binary protocol - help needed
On Thu, Feb 6, 2014 at 11:04 PM, Pawel K. kowa...@gmail.com wrote: And when can I expect to get embedded not a tree form in document via binary protocol? If amount of items more than ridBag.embeddedToSbtreeBonsaiThreshold which is 80 now. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Can transient field be indexed?
Hi Stefan, LINKBAG is internal type and is not supposed to be used as public API, it is used to manage graphdb relations and we can change it at any time to improve functionality of graph database. You can not index Transient type because you can not serialize it in index as a key using binary presentation, but you can use manual indexes to achieve the same functionality. On Fri, Feb 7, 2014 at 1:17 AM, ste...@activitystream.com wrote: Hi, I was looking through https://github.com/orientechnologies/orientdb/wiki/Types, actually looking for linkbag documentation, when I came across the Transient field type. I'm using a uuid-v4 (named) to create a deterministic ID and therefore I have use for such a field if it can be indexed and searched without being stored. Does OrientDB support idexing on transient fields? and ... where can I find documentation on linkbag usage ? Regards, -Stefán -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] A graph with few vertices but with many edges. Will the graph work well?
Hi, There are group by in SQL and Gremlin, so you should chose what fits best for you. On Thu, Feb 6, 2014 at 2:18 PM, Tomek Kulakow tome...@gmail.com wrote: Thank you:) Could you tell me what about aggregation? Does OrientDB provide any function to choose a subset of edges (with specyfic property) and make fast addition for another property of edges in this set, or property of vertexes in the set of pointed vertex. I mean something like an equivalent SELECT SUM(column_name) FROM table_name WHERE CONDITION GROUP BY column_name HAVING (arithematic function condition); W dniu czwartek, 6 lutego 2014 11:44:12 UTC+1 użytkownik Andrey Lomakin napisał: Hi, We have costumer in production which has 700 000 edges for one vertex and does not experience performance problems so that is what graph databases are intended for. On Thu, Feb 6, 2014 at 9:24 AM, Tomek Kulakow tom...@gmail.com wrote: Does it make sense to create a graph with a very large amount edges between vertices? For example if I have sellers and products as vertices and each net user by buying something adding new edge (a edge from a seller to a product with data and amount properties means that a seller sold a product). Graph could have a few retailers but for each seller there may be tens of thousands edge leading to products. I'm interested in a quick search of suitable edges, and quick movement between vertices like (finding all products sold by the seller) or aggregation (for example find how much has earned the seller by soap selling. Is graph database good for it? Shouldn't I use a relational database? Best regards, Tomek -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] A graph with few vertices but with many edges. Will the graph work well?
https://github.com/orientechnologies/orientdb/wiki/SQL-Query On Fri, Feb 7, 2014 at 9:08 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, There are group by in SQL and Gremlin, so you should chose what fits best for you. On Thu, Feb 6, 2014 at 2:18 PM, Tomek Kulakow tome...@gmail.com wrote: Thank you:) Could you tell me what about aggregation? Does OrientDB provide any function to choose a subset of edges (with specyfic property) and make fast addition for another property of edges in this set, or property of vertexes in the set of pointed vertex. I mean something like an equivalent SELECT SUM(column_name) FROM table_name WHERE CONDITION GROUP BY column_name HAVING (arithematic function condition); W dniu czwartek, 6 lutego 2014 11:44:12 UTC+1 użytkownik Andrey Lomakin napisał: Hi, We have costumer in production which has 700 000 edges for one vertex and does not experience performance problems so that is what graph databases are intended for. On Thu, Feb 6, 2014 at 9:24 AM, Tomek Kulakow tom...@gmail.com wrote: Does it make sense to create a graph with a very large amount edges between vertices? For example if I have sellers and products as vertices and each net user by buying something adding new edge (a edge from a seller to a product with data and amount properties means that a seller sold a product). Graph could have a few retailers but for each seller there may be tens of thousands edge leading to products. I'm interested in a quick search of suitable edges, and quick movement between vertices like (finding all products sold by the seller) or aggregation (for example find how much has earned the seller by soap selling. Is graph database good for it? Shouldn't I use a relational database? Best regards, Tomek -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Missing antlr-2.7.7.jar ?
Hi, Sorry it is my fault will fix it now. On Thu, Feb 6, 2014 at 10:54 PM, Laurent Quérel laurent.que...@gmail.comwrote: +1 I observed the same thing on 1.7 this morning. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Missing antlr-2.7.7.jar ?
Done. On Fri, Feb 7, 2014 at 9:10 AM, Andrey Lomakin lomakin.and...@gmail.comwrote: Hi, Sorry it is my fault will fix it now. On Thu, Feb 6, 2014 at 10:54 PM, Laurent Quérel laurent.que...@gmail.comwrote: +1 I observed the same thing on 1.7 this morning. -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] SQL
Hi Frederik, So you mean something like create edge select from a to b match by likes ? About your second note Also, you state calling it SQL, but the first thing anyone (or am I alone?) would do in a query is returning data from different objects next to each other, so you can quickly see what you are interested in from your database, like Peoples names and the companies they work for, for example. I am not RDBMS SQL expert,could you provide example, what do you mean ? And about your question. We are thinking about reconsidering sql engine and will add new functionality to it but will not change current SQL language for something else in short future. On Thu, Feb 6, 2014 at 2:39 PM, MrFT frederik.til...@vsko.be wrote: Hello, I have been looking into Graph Databases (and some other NoSQL databases) recently, and i found a lot of interesting developments going on, including ArangoDB with its Foxx applications (and Javascript API very similar to MongoDB) and Neo4J, seemingly the most popular GraphDB currently. I had issues with all of these, leading me to the conclusion that they are not mature enough. Then I stumbled upon OrientDB, and it seems to have very good performance, and a high stability. So I concluded that this was the best option to explore further. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
Re: [orientdb] Can transient field be indexed?
Hi, No it is used by default, about backward compatibility we will provide migration tool for old database to new one, you will run it and that is all that needed to migrate. On Fri, Feb 7, 2014 at 9:38 AM, ste...@activitystream.com wrote: Hi, Sorry, I thought I had to select the use of linkbags explicitly :). (for backwards compatabilit etc.) Regards, -Stefán On Friday, February 7, 2014 6:59:31 AM UTC, Andrey Lomakin wrote: Hi Stefan, LINKBAG is internal type and is not supposed to be used as public API, it is used to manage graphdb relations and we can change it at any time to improve functionality of graph database. You can not index Transient type because you can not serialize it in index as a key using binary presentation, but you can use manual indexes to achieve the same functionality. On Fri, Feb 7, 2014 at 1:17 AM, ste...@activitystream.com wrote: Hi, I was looking through https://github.com/orientechnologies/orientdb/ wiki/Types, actually looking for linkbag documentation, when I came across the Transient field type. I'm using a uuid-v4 (named) to create a deterministic ID and therefore I have use for such a field if it can be indexed and searched without being stored. Does OrientDB support idexing on transient fields? and ... where can I find documentation on linkbag usage ? Regards, -Stefán -- --- 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-databa...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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. -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.