OrientDB v 2.2.33 released

London – March 5, 2018

OrientDB Team has just released OrientDB v2.2.33

If you are using 2.2.x series, please upgrade your production environments to v2.2.33. View our Change Log for a full list of new functionalities, bug fixes and other improvements.

Download The Latest OrientDB (v2.2.33) version:

Download here

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: http://orientdb.com/download-previous/

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

In case you missed some of the latest news and haven’t subscribed to our newsletter below, here’s a quick recap of this month’s news. Find out how OrientDB can help your startup company with our latest case study and how companies across the world are using graph technology to secure their systems. Stay up-to date with our latest stable release or test the new features in our 3.0 milestones release.

Case Studies

newsc_logo_bl@4xIf you want to learn about how OrientDB can help your startup company, take a look at our latest case studies. Find out how New.sc uses graphs and multi-model features to power an intuitive and increasingly popular news platform.

OrientDB Releases

OrientDB LabsEarlier this month we released OrientDB 2.2.20. This is our latest stable release so if you haven’t upgraded yet, go ahead and download it now. In case you missed it, last month we released our OrientDB 3.0 Milestones Edition. Though not yet suitable for production environments, if you want to test the latest features included in our upcoming 3.0 release, head over to our Labs page.


mi-me-comThis May OrientDB announced their partnership with Chinese system integrator and fraud detection experts MiMe. Using multi-model databases, MiMe is helping companies across China move from antiquated relational systems to modern day, innovative database systems.

Transforming Relational Data

With the release of OrientDB Teleporter last year, OrientDB is being used around the world to synchronise relational data. In fact, we’re the first NoSQL database to enable this feature. Whether it’s data from Oracle, SQLServer, MySQL, PostgreSQL or HyperSQL, Teleporter transforms tables to graphs and allows Relational and NoSQL technologies to coexist.

Stay tuned for more news,

The OrientDB Team

OrientDB Community Awards

OrientDB Community Awards


We value and appreciate the hard work put in by the world-wide OrientDB community. That’s why, as a small token of appreciation, we’ve started sending out some gadgets and rewards to our community members.  


Code Contributors

Saeed Tabrizi

A special thank you to Saeed for his dedication to OrientDB. Among the numerous and valuable contributions, some noteworthy examples include Pull Requests on OrientJS repository in which, among several improvements, he implemented the IF NOT EXIST clause when creating classes and properties, and IF EXIST clause when dropping classes and properties.

Michael Pollmeier

Michael is the original Author of the Apache TinkerPop 3 Graph Structure Implementation for OrientDB, which will be officially supported in upcoming major OrientDB releases!


Community Contributor

Scott Molinari

Not only has Scott provided detailed bug reports and documents, he’s helped countless community members by shedding light on new features and helped countless others experiencing issues.


Thank You for Your Contributions

Thank you to Saeed, Michael and Scott, who as a gesture of appreciation will be receiving a Raspberry Pi 3® Starter Kit along with some OrientDB merchandise (T-shirt, stickers and that kind of stuff)**.


Next time – Bloggers and Writers

We’d also like to send out a special thank you to all the community members writing about OrientDB in their blogs, articles & papers. Thats why next time around we’ll be sending out some more gadgets to our top community bloggers.

So if you’re currently writing about @OrientDB, remember to use the the #OrientDB and #Multimodel tags in your posts and head back to this page regularly. You might find your name on our Top Contributors list!

*All trademarks are the property of their respective owners.
**All OrientDB Community Award winners will be contacted individually in order to receive their prize.


London – January 16th, 2017

By OrientDB CEO, Luca Garulli

After ransomware groups recently wiped off about 34,000 MongoDB database and exposed about 35,000 Elastic Search databases on the Internet*(read the full article), we advise that OrientDB users double check their OrientDB server.

OrientDB’s average level of security is much stronger than both MongoDB and ElasticSearch. However, nothing can keep you totally safe, specially if you are exposing an OrientDB server directly to the Internet and/or you haven’t changed the default password in your database.

Follow this 5 minute action plan to keep your OrientDB database safe:

1. If you aren’t using the default users (admin, reader and writer), then delete them.

2. If you’re using them, be sure you changed the password for all 3 default users: admin, reader and writer.

3. When you installed OrientDB for the first time, the script asked for the root password. Make sure you didn’t set something obvious such as “root“, “orientdb“, “password“, or any other simple/obvious password.

Now a little advice to keep OrientDB even more secure:

1. If you can, don’t expose the OrientDB server to the Internet.security-box

2. Remember that starting from v2.2 you can configure stronger SALT cycles for hashed passwords. Take a look at the following page for more details: https://orientdb.com/docs/2.2/Database-Security.html#password-management.

3. If you’re working with very sensitive data, please consider using Encryption at REST with AES algorithm. For more details, take a look at the following page: http://orientdb.com/docs/2.2/Database-Encryption.html.

4. Don’t use a password at all. Since v2.2.14, OrientDB Enterprise Edition supports authentication via symmetric keys for the Java client. See https://orientdb.com/docs/2.2/Security-Symmetric-Key-Authentication.html.

5. Lastly, don’t forget OrientDB’s other advanced security features, such as Kerberos authentication, LDAP users, password validation, and auditing.

More Resources:

  1. Database Security
  2. Server Security

For any question, don’t hesitate to ask to the Community Group.

Thanks and keep your data safe!

Luca Garulli
Founder & CEO
OrientDB LTD


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!





Arun Dubey

Global Corporate Sales Director
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()
    .set("spark.orientdb.clustermode", "remote")
    .set("spark.orientdb.connection.nodes", "")
    .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:

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


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:

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


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:

 .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
 .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)


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)] =
       (1L, new Person("Alice", "Anderson")),
       (2L, new Person("Bob", "Brown")),
       (3L, new Person("Carol", "Clark"))

 val edges: RDD[Edge[String]] =
       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.

OrientDB launches its Open Source NoSQL Graph-Document Database through CenturyLink’s Cloud Marketplace


LONDON, UK – March 17, 2016 OrientDB, the pioneer behind the world’s first Open Source, NoSQL distributed graph-document database, today announced its certification under the CenturyLink Cloud Marketplace Provider Program. Through this partnership, CenturyLink Cloud users are now able to deploy and manage OrientDB’s community or enterprise edition databases via CenturyLink’s Blueprints library.

OrientDB is a second-generation distributed graph database with the flexibility of documents and an open source Apache 2 license. By treating every vertex and edge as a JSON (JavaScript Object Notation) document, OrientDB enables the creation of multi-directional property graphs, allowing bulks of data to be traversed with ease. This new multi-model approach, with a polyglot engine, eliminates the need for multiple systems, ensures data consistency and optimizes the formation of complex relationships. Even for a document-based database, the relationships are managed, as in graph databases, with direct connections amongst records. Its versatility and rapid integration makes OrientDB a perfect candidate for use cases ranging from recommendation engines and fraud detection to real-time analytics and content management. Fortune 500 companies, government entities and startups all use the technology to build large-scale innovative applications.

CenturyLink Cloud customers can now benefit from OrientDB’s features:

OrientDB Community Edition is free for any purpose (including commercial use). OrientDB Enterprise Edition serves as an extension of the Community Edition by providing enterprise-needed features such as: Query Profiler, distributed clustering configuration, metrics recording, and Live Monitor with configurable alerts.

The CenturyLink Cloud Marketplace Provider Program allows participating technology companies, like OrientDB, to integrate with the CenturyLink Cloud platform. These additional business-ready solutions are available to CenturyLink’s cloud, hosting and network customers.

“Companies hoping to leverage big data are getting tired of dealing with multiple systems and increasing infrastructural costs,” said Luca Garulli, CEO of OrientDB. “Customers choose OrientDB for its innovative Multi-model database capabilities and affordable nature. Expanding our capabilities to the cloud through CenturyLink provides the perfect accessible solution without the need for multiple database systems or costly servers.”

“The foundation of the big data revolution on our platform has been software innovation around unstructured data management,” said David Shacochis, vice president of platform enablement at CenturyLink, “OrientDB is a great example of this trend, allowing our customers to manage their unstructured data relations in a scalable model that drives insight out of their business workloads”

To start using OrientDB on CenturyLink Cloud today, refer to the “Getting Started” guide on the CenturyLink Cloud Knowledge Base.

About OrientDB

OrientDB is an open source 2nd Generation Distributed Graph Database with the flexibility of Documents and a familiar SQL dialect. With downloads exceeding 70,000 per month, more than 100 community contributors and 1000’s of production users, OrientDB is experiencing tremendous growth in both community and Enterprise adoption. First generation Graph Databases lack the features that Big Data demands: multi-master replication, sharding and more flexibility for modern complex use cases. See for yourself, Download OrientDB and give it a try.

Editorial Contacts:
Paolo Puccini
OrientDB Ltd
+44 203 3971 609

OrientDB v2.2 Beta Going Live Next Week!


We’ve worked hard on it,  it’s about to go live, we can’t contain our excitement, and of course, we couldn’t have done it without you!


[image src=”https://orientdb.com/wp-content/uploads/2015/12/5.png” align=”left” caption=”OrientDB Labs”] For the past few years all of us here at OrientDB have strived to deliver a fresh, innovative platform on which enterprises could work on to enrich their business.  We’ve always been proud of our work, and it’s been a real pleasure to collaborate with and learn from an ever growing community of dedicated developers.

With the launch of OrientDB back in 2011 we breathed some fresh air into the DBMS landscape, making waves with our multi-model approach (to the delight of some and shock of others). From then on it’s been a rollercoaster of a ride and in 2015 we continued to disrupt the market and climb the DBMS charts.  We’re hoping 2016 will be no different, and in that spirit we are launching our 2.2 Beta version of OrientDB in the next few days **queue the drum roll**

We couldn’t have achieved this without the ever growing community of developers who worked tirelessly alongside our team.  Of course, this is a Beta release so not suitable for production environments but we’re hoping our community is just as excited as we are with the announcement, and we’re looking forward to working together to test what we think will be our best release so far.[image src=”https://orientdb.com/wp-content/uploads/2016/02/portal1.png” align=”right”]

Our engineers have been working hard to make OrientDB even better and we’ve loaded version 2.2 full of new features which we’re sure you’ll love too.  The main focus of this version is on Security, APIs and performance, building on our distributed capabilities as well as graph enhancements.  We’ve added new features such as Teleporter, which introduces a simple, straightforward way to convert your relational databases to OrientDB.  Other new features include:


During the coming days, we’ll be discussing several of the new features here in our company blog so stay tuned for more on each of OrientDB’s new capabilities and enhancements.  Once we’re live, go ahead and take if for a test drive and let us know what you think.  For a complete list of features please refer to our OrientDB v2.2 documentation following the Beta launch.

Thank you to our community and looking forward to receiving your feedback!


Luca Garulli

Chief Executive Officer, Founder

OrientDB Wins InfoWorld Bossie Award

InfoWorld recognizes OrientDB as one of the best open source infrastructure and management software platforms

London, UK (Sept 21, 2015) – Orient Technologies, the company behind OrientDB (www.orientdb.com), the graph-document database that pioneered the multi-model concept, announces that OrientDB is a winner of the prestigious InfoWorld 2015 Bossie Award.

InfoWorld editors and contributors pick the top open source software for data centers, clouds, developers, data crunchers, and IT professionals. They recognized OrientDB as having one of the best open source application development tools.

Steve Nunez explains: “OrientDB is an interesting hybrid in the NoSQL world, combining features from a document database, where individual documents can have multiple fields without necessarily defining a schema, and a graph database, which consists of a set of nodes and edges. At a basic level, OrientDB considers the document as a vertex, and relationships between fields as graph edges. Because the relationships between elements are part of the record, no costly joins are required when querying data.”

“It’s great to see OrientDB receiving the InfoWorld Bossie Award, as we’re more committed than ever to the open source and database communities.” said Luca Olivari, President of Orient Technologies. “We are seeing tremendous adoption and customer growth and, together with our ecosystem, are fulfilling our vision to become the operational data store of the modern enterprise.”

About OrientDB

With downloads exceeding 60,000/month, more than 100 contributors and 1000’s of production users, OrientDB is the leading next generation native multi-model enterprise database combining the connectedness of graphs, the agility of documents and the familiar SQL dialect. Fortune 500 companies, government entities and startups use the technology to build large-scale innovative applications. Some of their clients include Ericsson, United Nations, Pitney Bowes, Sky, CenturyLink and Sonatype.

Orient Technologies is the main sponsor and the commercial supporter of OrientDB.




London, February 6th 2014

We are glad to announce the new engine to manage relationships in graph database. According to data loading benchmark it can be up to 15 times faster than current implementation!

The new architecture is based on new data structure SB-Tree and optimized for usage not only for embedded, but for remote storage too. To achieve such kind of optimization we have introduced new data type LINKBAG, it represents set of RIDs, but allows duplication of values, also it does not implement Collection interface. LINKBAG has two binary presentations, in form of modified B-Tree and in form of collection managed as embedded in document, but collection is deserialized only on demand, in case of iteration for example.

Below the comparison on load speed on importing Wikipedia page structure (without page content) which consist of 130 millions of vertexes and more than 1 billion of edges.

To prevent duplication of vertexes we used unique index by page key. Data were taken from http://downloads.dbpedia.org/3.6/en/page_links_en.nt.bz2. Load test was ran on PC with 24 Gb RAM, 7500 RPM HDD, Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz.

Test 1 consists on loading data in Transactional mode, blue line is OrientDB 1.6.x, the red line is OrientDB 1.7-rc1 with the new LINKBAG structure.

On the X axis there is the amount of imported pages, on the Y axis the time which was spent to import these pages.


Test 1 – OrientDB 1.6.x vs OrientDB 1.7-rc1 TX Mode

As you can see after 6,300,000th imported records the current implementation suffers of dramatic slow down, so we interrupted the test after a while.
Test 2 is like the previous test, but in non Transactional mode.

Test 2 – OrientDB 1.6.x vs OrientDB 1.7-rc1 No-TX Mode

Test 3 is a comparison between a full import of whole Wikipedia dataset using new LINKBAG implementation. Here the blue line is the Transactional mode and the red line is Non-Transactional mode.

Test 3 – OrientDB 1.7-rc1 TX vs OrientDB 1.7-rc1 No-TX

In Non-Transactional mode test was completed in only 6.5 hours and in Transactional mode took 14 hours.

Andrey Lomakin
Orient Technologies LTD

Take your enterprise to the next level with OrientDB