Thursday, 4 April 2013

OrientDB: new GraphDB Engine in beta

London, April 4th 2013

After about one month spent on development and test the NuvolaBase team has released the new GraphDB Engine!

The new Engine uses some novel techniques based on the idea of a dynamic Graph that change shape at run-time based on the settings and content. The new Engine is much faster than before and needs less space in memory and disk. Below the main improvements:

  1. avoid creation of edges as document if haven't properties. With Graphs wit no properties on edges this can save more than 50% of space on disk and therefore memory with more chances to have a big part of database in cache. Furthermore this speed up traversal too because requires one record load less. As soon as the first property is set the edge is converted transparently
  2. Vertex "in" and "out" fields aren't defined in the schema anymore because can be of different types and change at run-time adapting to the content:
    1. no connection = null (no space taken)
    2. 1 connection = store as LINK (few bytes)
    3. >1 connections = use the Set of LINKS (using the MVRBTreeRIDSet class)
  3. binding of Blueprints "label" concept to OrientDB sub-classes. If you create an edge with label "friend", then the edge sub-type "friend" will be used (created by the engine transparently). This means:
    1. 1 field less in document (the field "label") and therefore less space and the ability to use the technique 1 (see above)
    2. edges are stored on different files at file system level because are used different clusters
    3. better partitioning against multiple disks (and in the future more parallelism)
    4. direct queries like "select from friend" rather than "select from E" and then filtering the result-set looking for the edge with the wanted label property
  4. multiple properties for edges of different labels. Not anymore a "in" and "out" in Vertex but "out_friend" to store all the outgoing edges of class "friend". This means faster traversal of edges giving one or multiple labels avoiding to scan the entire Set of edges to find the right one
  5. with such dynamic Graph in future we could support also HyperGraph in a flash

Such new Engine needed new API or a radical change to the current Raw API breaking the compatibility with the past. Well, we decided to change strategy by re-implementing the Blueprints Graph layer as new GraphDB Engine. So the new GraphDB Engine IS the OrientDB's Blueprints implementation.

Why? Mainly because:
  1. Blueprints is the de facto standard for Graph Databases made by TinkerPop team
  2. TinkerPop team is amazing with a lot of technologies built on top of Blueprints layer
  3. Latest release of Blueprints added some new features to allow the implementations to use the underlying engine in more powerful way
  4. Blueprints API and all the TinkerPop stack is very well documented with a lot of examples and a new Book that is coming
The new GraphDB engine depends on OrientDB 1.4.0-SNAPSHOT, so we can't push it to TinkerPop repository because no SNAPSHOT are allowed as dependencies. As soon as we release OrientDB 1.4 we're going to merge it with official TinkerPop Blueprint's repository.

Starting from OrientDB 1.4 the GraphDB API to use are the Blueprints. Period. I'm sure this will make happy some users because Raw API are horrible and you've to work at document level using the OGraphDatabase class for any operations against vertices and edges (not really Object Oriented).

Waiting for the official release you can enjoy by cloning and start using the new GraphDB Engine from the master branch of NuvolaBase's Blueprints fork: https://github.com/nuvolabase/blueprints. It passes all the Blueprints Test Cases.

To open databases created with previous releases uses:

OrientGraph graph = new OrientGraph("local:/temp/mydb");
graph.setUseLightweightEdges(false);
graph.setUseVertexFieldsForEdgeLabels(false);
graph.setUseCustomClassesForEdges(false);

In the next days will be released a new tool to convert the databases to the new format.


Luca Garulli
CEO at NuvolaBase.com
the Company behind OrientDB
Follow me on http://twitter.com/lgarulli

Friday, 4 January 2013

NuvolaBase Cloud - Support platform

Today the NuvolaBase Team released the Issue Tracker to manage support requestes as issues, bugs and feedbacks.

The tool is fully integrated with the dashboard and share the same login. To enter in the issue tracker click on the new "support" menu to create a new request or checking the status of your issues.




Your opinion is important, so let us know any ideas.

Wednesday, 2 January 2013

What's next in 2013?

London, January 2nd 2013.


Together in 2012 we did great things like:
  • 7 (seven!) official releases: 1.0rc8, 1.0rc9, 1.0, 1.0.1, 1.1, 1.2 and latest 1.3!
  • so many bugs fixed
  • a lot of new features
  • the switch from Google Code -> GitHub
  • received much more contributions than 2011
  • we've more contributors that help us
So what's next?

OrientDB is an Open Source project licensed with Apache 2 license. This means that is FREE for any purpose. This is great for users, but less for who is working everyday to OrientDB. The project is much bigger than 3 years ago and the management of the community, the development of the product, test and release needs more resources than in the past.

Furthermore companies asking us a professional support for production system, courses, etc. Not all the companies can have OrientDB skilled people those can put the hands on the code, so for most of the cases the professional support is needed. We all believe in the Open Source model and we work to OrientDB for passion, but doesn't matter how much a NoSQL product is good if there is no professional support.

This is the main reason why we created NuvolaBase company: to offer a professional support against OrientDB. If you've a company or you're a consultant why don't join us as certified OrientDB developer/DBA? Or why don't join us as a Partner? This will help us to support better users and customers offering a wider range of countries where to find OrientDB experts.

Another thing companies asked us are Enterprise tools. When you've multiple OrientDB servers up and running it could be hard to manage them all together. So we designed OrientDB Enterprise Edition as a professional Open Source project. It's based on OrientDB but will have Enterprise features like a visual web cockpit to monitor the OrientDB Servers, manage the cluster and collecting metrics to help users to tune OrientDB in simple way. This product will be released on February and it will have a price. Clients could access to the sources in a private repository (someone call this model as "Professional Open-Source").

Since the release of the first OrientDB Enterprise Edition the Professional Support will be provided ONLY against official OrientDB Enterprise versions. If you subscribed a Support contract don't worry: you will receive the OrientDB Enterprise for FREE.

Why offering support only against official OrientDB Enterprise Editions? Mainly because for us it's easier to work against stable releases than helping users with snapshots or self-patched versions.

Are you worried about OrientDB will be a Commercial product?

Don't worry, such commercial features are only for Companies that want such kind of features/services. The new "OrientDB Community" edition (the current one) will always be FREE licensed with Apache license.

The new year is begun and the OrientDB team is returning to work at 100% to the next v1.4 and v2.0 with your contribution.

Happy new year,
NuvolaBase staff

Saturday, 22 December 2012

Released OrientDB 1.3 with new SQL functions and better performance


London, November, 21st 2012

NuvolaBase is glad to announce this new release 1.3 and the new Web Site of OrientDB: http://www.orientdb.org!

Sorry for the delay about this official email, but we did extra work after the switch from Google Code to GitHub. Thank you to all the contributors helped us in this migration, specially Adrian Madrid for the adapted WiKi pages. In the next days we're going to improve the documentation by involving all the authors of Drivers to contribute with a short tutorial and a quick reference for the usage of the driver.


What's new with 1.3?
  • SQL: new eval() function to execute expressions
  • SQL: new if() and ifnull() functions
  • SQL: supported server-side configuration for functions
  • SQL: new DELETE VERTEX and DELETE EDGE commands
  • SQL: execution of database functions from SQL commands
  • SQL: new create cluster command
  • Graph: bundled 2 algorithms: Dijkstra and ShortestPath between vertices
  • Performance: improved opening time when a connections is reused from pool
  • Performance: better management of indexes in ORDER BY
  • Schema: new API to handle custom fields
  • HTTP/REST: new support for fetch-plan and limit in "command"
  • Moved from Google Code to GitHub: https://github.com/nuvolabase/orientdb
  • Many bugs fixed


Issues
To report an issue please follow the suggestions posted in the group, in particular attach the following information:
  • OrientDB version. Please don't forget this! If it's a SNAPSHOT please tell if it's from SVN (revision number) or from MAVEN
  • Operative System
  • 32-bit or 64-bit
  • JVM version
  • RAM
  • Dump of configuration and profiler

Professional Services
All the professional services are provided by NuvolaBase.com Ltd.
Partnership
We built a new Partnership Agreement for companies interested to sell NuvolaBase or OrientDB services as "reseller" or "services partner". Please contact info@nuvolabase.com to have more information about it.

Roadmap
The roadmap has been updated -> https://github.com/nuvolabase/orientdb/issues/milestones. The next release will be the 1.4 planned for January 2013 and then the long awaited 2.0 with the new distributed architecture with auto-sharding and parallel queries.

Thanks to all the committers, the contributors and final users.

NuvolaBase Dashboard - How to change DB password

NuvolaBase hosted OrientDB personal databases come with 3 default users called "admin", "reader" and "writer".
The default password when you create a new database is "admin".
 
With the new dashboard it's now possible, and it's recommended, to change your personal database account's password.
It's very easy, let me see you how to do that.

Once logged into the dashboard:


click on the button named "Database info" on the database name you want to modify.

Then fill the text field named "Set DB password" with a secure passphrase and click on the "save" button.

The password will be strongly hashed for security and then saved into your database. Anything will be saved elsewhere, so your password will remain absolutely secret. Even us at NuvolaBase cannot determine which password you choose (it's the same for your dashboard account password).

Click on the "Studio" button to access your personal database with your new account password. Chose "admin" as username.

You can now access your private OrientDB instance in the cloud.
Enjoy!

Saturday, 1 December 2012

NuvolaBase Dashboard Upgrade

Dear user, the NuvolaBase Dashboard rework has begun!!

Many clouds are awaiting you on the horizon, in a good way.
As you may know, here at NuvolaBase we are working in parallel on several projects regarding OrientDB technology, and the DashBoard is one of these.

Please note that We are saying "begun" and not "finished".
The new Dashboard has been completely refactored to support new great features in the near future, and some cool feature is ready just now.

You can now login into the new NuvolaBase Dashboard with your Google, Twitter or Linkedin account. GitHub and Facebook ferderated login is under way, we just need to create the application OAuth API keys.
Several backend facilities have been designed and built by ground up.
The site usability is simpler and the overall security and reliability have been GREATLY improved.


IMPORTANT: The NuvolaBase Dashboard upgrade time window is scheduled for 2nd December
from 00:00 to 02:00 GMT.



Everything should be executed transparently, and we apologise in advance for any small outages that the upgrade procedure would cause into the time window.

What to expect in the near future?
We are working to integrate a request tracker system to support you more quickly.
A new OAuth2 provider is almost ready.
We are quite ready to expose a cool REST API to let you manage your database cloud infrastructure.

We need your feedback, so please drop up a note if you like.
Follow us on Twitter: https://twitter.com/nuvolabase

The NuvolaBase Team.

Friday, 23 November 2012

NuvolaBase in Oxford, not teaching English but the Graph Theory

On 23 November 2012 Luca Garulli flew to Oxford to teach "Graph Theory". All the attendees are entitled to receive a virtual Diploma for attending this Crash Course (if you wish to collect the diploma copy and paste the slide 13 below).

The hard part was to condense everything down to under 30 minutes + a live demo. For the demo he used the database hosted at the NuvolaBase Cloud Service containing the Grateful Dead's concerts.

(Picture by Mark Starling)

(Picture by Liz Conlan)

Below the presentation: