New OrientDB Client Referral Program

This month OrientDB launched its new Client Referral Program aimed at rewarding users who recommend clients to use OrientDB’s enterprise, consulting or support options.

Here at OrientDB, we’ve always known and been proud that many of our sales come from client or community referrals. Whenever a new client says they learned about us from user reviews or from a direct contact using OrientDB Community or Enterprise editions, we take it as reassurance that our focus on software development will help drive our sales. This is not a novel strategy but one that our CEO Luca Garulli has always believed in, as our main goal is to make innovative technologies more accessible to a wider market.

“Instead of investing huge resources in marketing and sales like our competitors are doing, we prefer to focus on the product and the community first. It’s not new, other companies like Atlassian® or slack® have proven that you can build a successful product without big investments on marketing campaigns.”

Luca Garulli, CEO @ OrientDB

That’s the reason our Community edition uses an Apache 2 license. We could restrict our open source version by not
making it available for commercial use, or as some of our competitors do, we could further restrict users by forcing them to make their applications open source in order to use OrientDB Community. From any users point of view, these are all deterrents when selecting what database to use, not only from a budgetary point of view, but simply because people generally don’t like to be forced down a path they didn’t initially contemplate.

Our strategy is working. Throughout 2016 we saw sustained growth in both OrientDB Community adoption as well as increased sales for our Enterprise, Support and Consulting services. OrientDB is not only one of the most popular graph databases in the world, this year we’ve proven that the Multi-Model database is here to stay as an innovative, affordable and powerful solution for small, medium and large enterprises.

All this brings me to our new referral program. As our community of developers grows and our client portfolio referral imageexpands, the amount of referrals this year increased significantly.Obviously we also hope our initiative will help drive sales even further, but we thought it’s only be fair to extend our gratitude to all those who recommend OrientDB by giving them a portion of our sales revenue (up to 10% of a contract’s value for those who recommend 3 or more clients).

We also wanted to make this simple. To enter the program you must simply fill out a form with your referrals details and personal information. If the client you referred signs a contract with OrientDB within 90 days, one of our sales representatives will contact you so that we may process your bonus.

So if you’re using OrientDB and know of anyone looking for a powerful yet affordable NoSQL solution, take a look at our referral program.

Happy Holidays!

arunsign

 

 

 

Arun Dubey

Global Corporate Sales Director
OrientDB Ltd

Crowdsourced Competitive Intelligence Platform Honors 4,500 Winning Companies Out of 15 Million Profiles

London, UK – 17-11-2016 – OrientDB announced today it was named an Owler HOT in 2016 winner in London​. With owler awardhundreds of contributors joining the ranks, OrientDB is experiencing tremendous growth in both Community and Enterprise adoption. The native multi-model database combines the connectedness of graphs, the agility of documents and the familiar SQL dialect.

Owler recognizes the top trending companies in cities around the world. They filtered through more than 15 million companies and picked 4,500 award winners across 600 cities worldwide. Recipients were chosen based on several different metrics, including number of followers on Owler, insights collected from our community, social media followers, and blog posts over the past year.

“We’ve sorted through database of millions of contributions from our community and landed on the top trending companies from around the world,” said Jim Fowler, CEO at Owler. “Being Hot In 2016 is an accomplishment to be proud of.”

To see OrientDB’s company profile on Owler, go to: https://www.owler.com/iaApp/4498930/orientdb-company-profile .

With downloads exceeding 70,00 per month, OrientDB is an award winning, 2nd Generation Distributed Graph Database with the flexibility of Documents in one product. It is a unique, true multi-model NoSQL DBMS equipped to tackle today’s big data challenges and offers multi-master replication, sharding as well as more flexibility for modern, complex use cases. Visit https://orientdb.com/success/ to read more about companies using OrientDB.

About Owler

Owler is the crowdsourced competitive intelligence platform that business professionals use to outsmart their competition, gain competitive insights, and uncover the latest industry news and alerts. Owler is powered by an active community of 800K business professionals that contribute unique business insights such as competitors, private company revenue, and CEO ratings. From startups all the way to large enterprises (including 96% of the Fortune 500), CEOs, salespeople, marketers, product managers, and all types of business professionals use Owler daily. Launched in 2014, and funded by Norwest Venture Partners and Trinity Ventures, Owler is headquartered in San Mateo, CA with offices in Coimbatore, India.

Paolo Puccini
Marketing Manager
OrientDB Ltd

London – November 15, 2016

EE 22131

The OrientDB Team has just released OrientDB v2.2.13, resolving 34 issues from v2.2.12.

 

If you are using 2.2.x series, please upgrade your production environments to v2.2.13. For more information, take a look at the Change Log.

Download The latest OrientDB (v2.2.13) version:

https://orientdb.com/download

If you are currently using a previous version of OrientDB, we recommend you upgrade using the link above. However, if you would like to download previous versions of OrientDB Community Edition, you may do so here: https://orientdb.com/download-previous/

Noteworthy Enhacements

We are happy to announce that in this release we closed a long wanted enhancement (Issue #3597). IF NOT EXISTS clause are now available for the following commands:

As always, thanks to our community for their suggestions and patience. We welcome your feedback so if you have any enhancements for our products, please open an issue on GitHub.

Team and Contributors

A big thank you goes out to the OrientDB team and all the contributors who worked hard on this release, providing pull requests, tests, issues and comments.

Best regards,

Luigi Dell’Aquila
Director of Consulting
OrientDB LTD

London – October 20, 2016

The OrientDB Team has just released OrientDB v2.2.12, resolving 18 issues from v2.2.11. If you are using 2.2.x series, please upgrade your production environments to v2.2.12. For more information, take a look at the Change Log.

Download OrientDB v2.2.12 now: https://orientdb.com/download

If you are currently using a previous version of OrientDB, we recommend you upgrade using the link above. However, if you would like to download previous versions of OrientDB Community Edition, you may do so here: https://orientdb.com/download-previous/

A big thank you goes out to the OrientDB team and all the contributors who worked hard on this release, providing pull requests, tests, issues and comments.

Best regards,

Luigi Dell’Aquila
Director of Consulting
OrientDB LTD

London – October 3, 2016

The OrientDB Team has just released OrientDB v2.2.11, resolving 38 issues from v2.2.10. If you are using 2.2.x series, please upgrade your production environments to v2.2.11. For more information, take a look at the Change Log.

Download OrientDB v2.2.11 now: https://orientdb.com/download

If you are currently using a previous version of OrientDB, we recommend you upgrade using the link above. However, if you would like to download previous versions of OrientDB Community Edition, you may do so here: https://orientdb.com/download-previous/

A big thank you goes out to the OrientDB team and all the contributors who worked hard on this release, providing pull requests, tests, issues and comments.

Best regards,

Luigi Dell’Aquila
Director of Consulting
OrientDB LTD

London, August 23, 2016

The OrientDB Team has just released OrientDB v2.2.8, resolving 12 issues from v2.2.7. If you are using 2.2.x series, please upgrade your production environments to v2.2.8. For more information, take a look at the Change Log.

Download OrientDB v2.2.8 now: https://orientdb.com/download

If you are currently using a previous version of OrientDB, we recommend you upgrade using the link above. However, if you would like to download previous versions of OrientDB Community Edition, you may do so here: https://orientdb.com/download-previous/

A big thank you goes out to the OrientDB team and all the contributors who worked hard on this release, providing pull requests, tests, issues and comments.

Best regards,

Luigi Dell’Aquila
Director of Consulting
OrientDB LTD

London, August 11, 2016

The OrientDB Team has just released OrientDB v2.2.7, resolving 17 issues from v2.2.6. If you are using 2.2.x series, please upgrade your production environments to v2.2.7. For more information, take a look at the Change Log.

Download OrientDB v2.2.7 now: https://orientdb.com/download

If you are currently using a previous version of OrientDB, we recommend you upgrade using the link above. However, if you would like to download previous versions of OrientDB Community Edition, you may do so here: https://orientdb.com/download-previous/

A big thank you goes out to the OrientDB team and all the contributors who worked hard on this release, providing pull requests, tests, issues and comments.

Best regards,

Luigi Dell’Aquila
Director of Consulting
OrientDB LTD

London, July 28, 2016

The OrientDB Team has just released OrientDB v2.2.6, resolving 11 issues from v2.2.5. If you are using 2.2.x series, please upgrade your production environments to v2.2.6. For more information, take a look at the Change Log.

Download OrientDB v2.2.6 now: https://orientdb.com/download

If you are currently using a previous version of OrientDB, we recommend you upgrade using the link above. However, if you would like to download previous versions of OrientDB Community Edition, you may do so here: https://orientdb.com/download-previous/

A big thank you goes out to the OrientDB team and all the contributors who worked hard on this release, providing pull requests, tests, issues and comments.

Best regards,

Luigi Dell’Aquila
Director of Consulting
OrientDB LTD

London, July 20, 2016

The OrientDB Team has just released OrientDB v2.2.5, resolving 12 issues from v2.2.4. If you are using 2.2.x series, please upgrade your production environments to v2.2.5. For more information, take a look at the Change Log.

Download OrientDB v2.2.5 now: https://orientdb.com/download

If you are currently using a previous version of OrientDB, we recommend you upgrade using the link above. However, if you would like to download previous versions of OrientDB Community Edition, you may do so here: https://orientdb.com/download-previous/

A big thank you goes out to the OrientDB team and all the contributors who worked hard on this release, providing pull requests, tests, issues and comments.

Best regards,

Luigi Dell’Aquila
Director of Consulting
OrientDB LTD

This post is outdated, please refer to the Spark page.

 

 


London, July 8, 2016
By Andrea Iacono

The Spark connector for OrientDB has been provided by Metreta and hosted on github at https://github.com/metreta/spark-orientdb-connector, letting Spark and OrientDB interoperate in two ways: accessing OrientDB data from Spark and writing Spark data to OrientDB. The connector is also aware of the difference between an OrientDB document database and an OrientDB graph database:

To compile the connector, clone the master branch and update its build.sbt file with the Scala version and the Spark version you’re using. You may subsequently launch the package command on sbt:

sbt package

 

Upon performing these steps, you should find a jar file containing the compiled connector in your target directory. Be sure to have created the test database as well (as shown in the connector’s page).

The first step for creating our sample project is to create a build.sbt, where we have to define the library dependencies:

libraryDependencies ++= Seq(
 "com.orientechnologies" % "orientdb-core" % "2.2.3",
 "com.orientechnologies" % "orientdb-client" % "2.2.3",
 "com.orientechnologies" % "orientdb-graphdb" % "2.2.3",
 "com.orientechnologies" % "orientdb-distributed" % "2.2.3",
 "org.apache.spark" % "spark-core_2.11" % "1.6.1",
 "org.apache.spark" % "spark-graphx_2.11" % "1.6.1",
 "org.scala-lang" % "scala-compiler" % "2.11.4",
 "org.scala-lang" % "scala-library" % "2.11.4",
 "org.scala-lang" % "scala-reflect" % "2.11.4",
 "jline" % "jline" % "2.12",
 "com.tinkerpop.blueprints" % "blueprints-core" % "2.6.0",
 "com.fasterxml.jackson.core" % "jackson-databind" % "2.7.4",
 "com.fasterxml.jackson.module" % "jackson-module-scala_2.11" % "2.7.4"
)

 

We must then configure Spark to attach to OrientDB, which we can do by defining the SparkConf in the following way:

  val conf = new SparkConf()
    .setMaster("local[*]")
    .setAppName("ConnectorSample")
    .set("spark.orientdb.clustermode", "remote")
    .set("spark.orientdb.connection.nodes", "127.0.0.1")
    .set("spark.orientdb.protocol", "remote")
    .set("spark.orientdb.dbname", "test")
    .set("spark.orientdb.port", "2424")
    .set("spark.orientdb.user", "admin")
    .set("spark.orientdb.password", "admin")

 

We can now share data between Spark and OrientDB.

Orient Documents to/from Spark RDDs
Let’s start reading some OrientDB documents as a Spark RDD:

var peopleRdd: RDD[OrientDocument] = sc.orientQuery("Person")

 

With the orientQuery() method, we can read the documents of a class from OrientDB and may have them as a Spark RDD, on which we can do the usual manipulations. We can then save them back to OrientDB:

peopleRdd
 .filter(person => person.getString("name") == "John")
 .map(person => new Person("Foo", "Bar"))
 .saveToOrient("Person")

 

Like in this example where, after a bit of manipulation, we use the saveToOrient() method to save all the elements of the RDD as OrientDB documents, we can check both querying OrientDB via Studio or querying from the code:

sc.orientQuery("Person").foreach(p => println(s"Person: ${p.getString("surname")}, ${p.getString("name")}"))

 

We can also update the OrientDB documents using the upsertToOrient() method, as shown in this example where we update a document’s property via the RDD and save them back to OrientDB:

peopleRdd
 .filter(person => !person.getString("surname").startsWith("New"))
 .map(person => new Person(person.getString("name"), "New " + person.getString("surname")))
 .upsertToOrient("Person")

 

Orient Graphs to/from Spark GraphX
When we deal with graphs, RDDs are not enough and so we must move to Spark’s API for graph computing: GraphX.

To access OrientDB vertices and edges, we must use the orientGraph() method as shown in this example:

val peopleGraph: Graph[OrientDocument, OrientDocument] = sc.orientGraph()

 

Since peopleGraph is a org.apache.spark.graphx.Graph object, we can use its methods to access OrientDB data, as in these examples:

val people: VertexRDD[OrientDocument] = peopleGraph.vertices
val relationships: EdgeRDD[OrientDocument] = peopleGraph.edges

println(s"The graph contains ${people.count()} vertices and ${relationships.count()} edges.\n")

 

We can also access triplets, as in this example where we print friendships among people:

peopleGraph
 .triplets
 .foreach(triplet => {
   val srcPerson: OrientDocument = triplet.srcAttr
   val dstPerson: OrientDocument = triplet.dstAttr
   println(s"Person: ${srcPerson.getString("surname")}, ${srcPerson.getString("name")} [${triplet.srcId}]. Friend: ${dstPerson.getString("surname")}, ${dstPerson.getString("name")} [${triplet.dstId}]")
 })

 

The built-in graph algorithms supplied by GraphX are also available, like the triangleCount() used here to show the triangles among people:

val triangles = peopleGraph.triangleCount()

// prints how many triangles every vertex participate in
triangles
 .vertices
 .foreach {
   case (vertexId, trianglesNumber) => println(s"Person [${vertexId}] participates in ${trianglesNumber} triangles.")
 }

 

When we have a GraphX graph and we want to save it as an OrientDB graph, we can use the saveGraphToOrient():

val gr: Graph[Person, String] = createSampleGraph(sc)
gr.saveGraphToOrient()

 

In this example, the createSampleGraph() method just creates a simple graph with three vertices and five edges as RDDs and then builds the graph upon them:

def createSampleGraph(sparkContext: SparkContext): Graph[Person, String] = {

 val people: RDD[(VertexId, Person)] =
   sparkContext.parallelize(
     Array(
       (1L, new Person("Alice", "Anderson")),
       (2L, new Person("Bob", "Brown")),
       (3L, new Person("Carol", "Clark"))
     )
   )


 val edges: RDD[Edge[String]] =
   sparkContext.parallelize(
     Array(
       Edge(1L, 2L, "Friendship"),
       Edge(1L, 3L, "Friendship"),
       Edge(2L, 1L, "Friendship"),
       Edge(3L, 1L, "Friendship"),
       Edge(3L, 2L, "Friendship")
     )
   )
 Graph(people, edges)
}

 

This full code of these examples is available on github at https://github.com/andreaiacono/SparkOrientDbConnectorDemo.

Unlock the full potential of your enterprise’s data