Announcement Announcement Module
No announcement yet.
OrientDB support Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • OrientDB support

    I'd like to support OrientDB ( as a new implementation of Spring Data. OrientDB is a document-graph NoSQL dbms, so I don't know if it's better to implement the Document APIs or Graph APIs or maybe both.

    Where can I start?

  • #2
    Take a look at the MongoDB support as a start.

    The Neo4j support is different in that it uses AspectJ and also supports cross-store persistence. It currently lacks a good Neo4jTemplate implementation for the lower level API support.

    I would suggest starting with an OrientTemplate and would look at the MongoTemplate for ideas. Let us know how things work out.



    • #3

      > It currently lacks a good Neo4jTemplate implementation for the lower level API support.

      This is not quite true, the Neo4jTemplate covers all the low level operations in a convenient API for Spring Developers.




      • #4
        Hi Michael,

        Yes, the Neo4j template style support has changed since December and it now does have some of this lower level support.



        • #5
          Cool! Do you have news about OrientDB Support for Spring Data?


          • #6
            Resurrecting this thread for two reasons:

            1) I'd like to register my interest for orientDB Spring-Data support
            2) I'd like to hear if anyone has made any efforts on this


            • #7
              Ciao Luca,
              Any hope to see this spring data working? i have a neo4j project i would like to port to orient and is using data, i see now this is the only advantage neo4j takes now.

              may congrats to 1.0,

              let's this baby rox

              have a nice day


              • #8
                Hi all,
                I'm seriously interested in the development of this implementation for OrientDB. Now, I'd like to have both Document and Graph templates. Probably the simpler is the Document one. WDYT? Anyone is interested on this task?

                [email protected]
                CEO NuvolaBase - the OrientDB company


                • #9
                  I would create an OrientDocumentTemplate and OrientGraphTemplate (with their repositories, annotations and mapping, ecc).

                  The implementation of the document based API could be based on the mongoDB implementation since the core functionality of both DBs are similar, however spring data modules only share the basic infrastructure of spring-data-commons so one would have to create all the document-database APIs from scratch, however, some code could actually be the same and in fact, even the basic design could be the same as well (and I think it should, it would be a waste of time to rewrite everything from scratch having well designed apache licensed code available, and if some improvements are made along the way, the mongo implementation could benefit from it too)


                  • #10
                    +1 about using MongoDB as beginning to design and develop the OrientDocumentTemplate. Probably the Graph one is more complex, but I'm pretty sure once the Document is ready writing the Graph module will be straightforward.

                    The big big good point of OrientDB in comparison to MongoDB is that OrientDB is written in Java! This means SpringData users could
                    the OrientDB's "local" mode to use it embedded in the same JVM of the applications for the maximum of the performance.

                    [email protected]
                    CEO NuvolaBase - the OrientDB company


                    • #11
                      It would be cool to see a Spring Data implementation for OrientDB so feel free to point us to intermediate work for feedback or cross-promotion. I'd also suggest to start looking at the MongoDB module, mimic the implementation and start from there. If we identify parts that could be extracted into a common Spring Data document base module, I am happy to have a look at this. We just didn't want to start introducing more layers than initially necessary. A lot of stuff shared between the MongoDB and Neo4j module for example is in Spring Data Commons even (the TypeMapper API e.g.).

                      Also, have a look at the (admittedly work in progress) store developer guide at [0]. It's by far not complete yet but the stuff that is in there is up to date.



                      • #12
                        Thanks for your suggestions.
                        I am looking at the mongoDB implementation and using it as the basis for the orientdb document implementation (the developer guide was very useful by the way). I managed to get some basic operations working. We'll probably create a github repository soon.

                        I have some doubts about the license details of the code, since I am mimicking the mongodb implementation, what should i put in the headers of the files? I am thinking about leaving the apache license and leaving the @author tags and just adding one tag with my name on it, is this ok? or should I remove the @author tags of the original file? or should I make a distinction between authors of the derivative work and authors of the original file its based on?
                        Last edited by flatif; Oct 9th, 2012, 09:46 AM.


                        • #13
                          Any news on OrientDB Support for Spring-data?


                          • #14
                            Forat is working to this plugin. It's under:


                            Forat what is supported right now?

                            [email protected]

                            Originally posted by perciag View Post
                            Any news on OrientDB Support for Spring-data?


                            • #15
                              The implementation is still under early development, it will have two implementations, you will be able to use orientDB as a document store (like mongo) and as a graphDB (like neo4j).

                              What you will find on the repo right now is a connection manager and a transaction manager, even though the implementation is under early development as I said, it still beats writing your own transaction manager to integrate orientDB with spring.

                              Right now I'm working on the Object-Document Mapping part of the document module, I expect to finish it soon and we will have a basic OrientDocumentTemplate implementation.