tag:blogger.com,1999:blog-58518428430350477082024-03-13T00:12:48.189+01:00NuvolaBase represented OrientDB on the Cloud - BlogThis Blog isn't maintained anymore. If you're looking for posts about OrientDB, go to<br><a href="http://orientdb.com/blog">OrientDB Blog</a>.Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-5851842843035047708.post-88953548046959803212013-12-27T11:22:00.000+01:002013-12-27T11:27:59.789+01:00Posts copied to http://www.orientechnologies.com/blog <div dir="ltr" style="text-align: left;" trbidi="on">
London, December 27th 2013<br />
<br />
Now the new web site <a href="http://www.orientechnologies.com/">www.orientechnologies.com</a> is online, we've copied all the posts to the web site's Blog section:<br />
<br />
<a href="http://www.orientechnologies.com/blog/">http://www.orientechnologies.com/blog/</a><br />
<br />
This blogger will not be updated anymore.<br />
<br />
Luca Garulli<br />
CEO at Orient Technologies<br />
the Company behind OrientDB<br />
http://about.me/luca.garulli<br />
<div>
<br /></div>
</div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-8515190030622039242013-09-21T16:19:00.001+02:002013-09-21T16:19:34.962+02:00Orient Technologies closes the NuvolaBase Division<div dir="ltr" style="text-align: left;" trbidi="on">
London, September 21th 2013<br />
<br />
NuvolaBase, the <a href="http://www.orientechnologies.com/">Orient Technologies</a> division that offered <a href="http://www.orientdb.org/">OrientDB</a> as "Database As A Service" (DaaS), announces to stop its activity. In this way <a href="http://www.orientechnologies.com/">Orient Technologies</a> company will be more focused against <a href="http://www.orientdb.org/">OrientDB</a> on development, support, consultancy and training.<br />
<br />
All the paying clients will be hold for FREE for +6 months after the expiration of their contracts to give them the time to switch to another solution.<br />
<br />
What about the alternatives?<br />
<br />
We suggest to install <a href="http://www.orientdb.org/">OrientDB</a> Open Source Graph Database on top of a Virtual Machine hosted at any Cloud Provider like <a href="http://aws.amazon.com/">AWS</a>.<br />
<br />
Regards,<br />
NuvolaBase Team<br />
<br /></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-11269594968733092892013-06-21T16:19:00.002+02:002013-06-21T16:19:22.732+02:00Welcome to Orient Technologies LTD company<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="background-color: white; color: #0d0d0d; font-family: 'Trebuchet MS', Trebuchet, sans-serif; font-size: 15px; line-height: 21px;">It's official: </span><a href="http://www.orientechnologies.com/" style="background-color: white; color: #878787; font-family: 'Trebuchet MS', Trebuchet, sans-serif; font-size: 15px; line-height: 21px; text-decoration: none;">Orient Technologies</a><span style="background-color: white; color: #0d0d0d; font-family: 'Trebuchet MS', Trebuchet, sans-serif; font-size: 15px; line-height: 21px;"> LTD is the new company that will manage OrientDB software and services. </span><a href="http://www.nuvolabase.com/" style="background-color: white; color: #878787; font-family: 'Trebuchet MS', Trebuchet, sans-serif; font-size: 15px; line-height: 21px; text-decoration: none;">NuvolaBase</a><span style="background-color: white; color: #0d0d0d; font-family: 'Trebuchet MS', Trebuchet, sans-serif; font-size: 15px; line-height: 21px;"> company has been incorporated as division to manage the DAAS (Database As A Service) on the Cloud.</span></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-68172782303802356842013-06-19T16:41:00.003+02:002013-06-19T16:42:19.234+02:00Released OrientDB 1.4.1 with hot fixes<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="background-color: white; color: #222222; font-family: arial; font-size: x-small;">London, June 19th 2013</span><br />
<span style="background-color: white; color: #222222; font-family: arial; font-size: x-small;"><br /></span>
<br />
<div style="color: #222222; font-family: arial; font-size: small;">
OrientDB 1.4.1 has been released. It contains fixes to 1.4 and it's 100% binary compatible with 1.4, so NuvolaBase suggests you to replace 1.4 with this one.</div>
<div style="color: #222222; font-family: arial; font-size: small;">
<br /></div>
<div style="color: #222222; font-family: arial; font-size: small;">
NuvolaBase Team</div>
<div style="color: #222222; font-family: arial; font-size: small;">
<br /></div>
</div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-40993171191615956912013-06-07T17:37:00.000+02:002013-06-07T17:51:04.314+02:00Released OrientDB v1.4: new TinkerPop Blueprints API and many other features<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="background-color: white; font-size: small; text-align: left;">
<div style="color: #222222;">
<span style="font-family: trebuchet ms, sans-serif;">London, June, 7th 2013</span></div>
<div style="color: #222222;">
<span style="font-family: trebuchet ms, sans-serif;"><br /></span></div>
<div>
<div style="text-align: left;">
<span style="font-family: trebuchet ms, sans-serif;"><a href="http://www.nuvolabase.com/" style="background-color: transparent; color: #1155cc;" target="_blank">NuvolaBase</a><span style="color: #222222;"> is glad to announce the new release <b>1.4</b> of OrientDB: </span><a href="http://www.orientdb.org/download.htm">http://www.orientdb.org/download.htm</a><span style="color: #222222;">!</span></span></div>
</div>
<div style="color: #222222;">
<span style="font-family: trebuchet ms, sans-serif;"><br /></span></div>
<div style="color: #222222;">
<b><span style="font-family: trebuchet ms, sans-serif;">What's new with 1.4?</span></b></div>
<div style="color: #222222;">
<br />
<br />
<ul>
<li><span style="font-family: trebuchet ms, sans-serif;"><span style="color: #222222;"><b>Graph</b>: total rewrite of <b>TinkerPop Blueprints API</b> that now are the default Java interface, support for </span>light-weight edges (no document), labeled relationships using separate classes and vertex fields</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;"><b>Storage</b>: new Paged-Local compressed "<b>plocal</b>" engine (not yet transactional)</span></li>
<li><span style="color: #222222; font-family: 'trebuchet ms', sans-serif;"><b>SQL</b>: INSERT and UPDATE supports JSON syntax, improved usage of indexes upon ORDER BY, supported </span><span style="font-family: 'trebuchet ms', sans-serif;">timeout in query and global, new create function command, flatten() now is expand(), new OSQLMethod classes to handle methods even in chain, new encode() and decode() functions, support for new dictionary:<key> as target in SELECT and TRAVERSE</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;">new <b>SCHEDULER</b> component using CRON syntax</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;">new <b>OTriggered</b> class to use JS as hook</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;"><b>MMap</b>: auto flush of pages on regular basis</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;"><b>Fetch-plan</b>: support for skip field using "-2"</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;"><b>Index</b>: auto rebuild in background, usage of different data-segment</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;"><b>Export</b>: supported partial export like schema, few clusters, etc.</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;"><b>Console</b>: improved formatting of resultsets</span></li>
<li><span style="color: #222222; font-family: 'trebuchet ms', sans-serif;"><b>HTTP</b>: new /<b>batch</b> command supporting transaction too, faster connection through /<b>connect</b> command, </span><span style="font-family: 'trebuchet ms', sans-serif;">/<b>document</b> returns a JSON</span></li>
<li><span style="font-family: 'trebuchet ms', sans-serif;"><b>Studio</b>: <b>UML</b> display of class</span></li>
</ul>
<span style="font-family: trebuchet ms, sans-serif;">Full list: https://github.com/nuvolabase/orientdb/issues?milestone=2&state=closed</span></div>
<div style="color: #222222;">
<div style="border-collapse: collapse;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse; font-family: trebuchet ms, sans-serif;"><b><br /></b></span></span></span>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse; font-family: trebuchet ms, sans-serif;"><b>Issues</b></span></span></span></div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse; font-family: trebuchet ms, sans-serif;"></span></span><br />
<div style="border-collapse: collapse;">
<div style="border-collapse: collapse;">
<span style="font-family: trebuchet ms, sans-serif;">To report an issue please follow the suggestions posted <a href="https://groups.google.com/d/topic/orient-database/uDqnWjQ0uJE/discussion" style="color: #1155cc;" target="_blank">in the group</a>, in particular attach the following information:</span></div>
<div>
<ul>
<li style="margin-left: 15px;"><span style="font-family: trebuchet ms, sans-serif;"><b><span style="background-color: #fff2e6;"><span style="background-color: #ffffcc;"><span class="">OrientDB</span></span></span> version</b>. Please don't forget this! If it's a SNAPSHOT please tell if it's from SVN (revision number) or from MAVEN</span></li>
<li style="margin-left: 15px;"><span style="font-family: trebuchet ms, sans-serif;">Operative System</span></li>
<li style="margin-left: 15px;"><span style="font-family: trebuchet ms, sans-serif;">32-bit or 64-bit</span></li>
<li style="margin-left: 15px;"><span style="font-family: trebuchet ms, sans-serif;">JVM version</span></li>
<li style="margin-left: 15px;"><span style="font-family: trebuchet ms, sans-serif;">RAM</span></li>
<li style="margin-left: 15px;"><span style="font-family: trebuchet ms, sans-serif;">Dump of configuration and profiler</span></li>
</ul>
</div>
<div style="border-collapse: collapse;">
<span style="font-family: trebuchet ms, sans-serif;">To open a new issue: <a href="https://github.com/nuvolabase/orientdb/issues/new" style="color: #1155cc;" target="_blank">https://github.com/<wbr></wbr>nuvolabase/<span class="" style="background-color: #ffffcc; color: #222222;">orientdb</span>/issues/new</a></span></div>
<div style="border-collapse: collapse;">
<span style="font-family: trebuchet ms, sans-serif;"><br /></span></div>
</div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"></span></span></span><br />
<div style="border-collapse: collapse;">
<div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><b><span style="font-family: trebuchet ms, sans-serif;">Professional Services</span></b></span></span></span></div>
<div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;">All the professional services are provided by <a href="http://www.nuvolabase.com/" style="color: #1155cc;" target="_blank">NuvolaBase.com</a> Ltd, London UK.</span></span></span></span><br />
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;"><br /></span></span></span></span></div>
<div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><b><span style="font-family: trebuchet ms, sans-serif;">Partnership</span></b></span></span></span></div>
<div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;">If your company is skilled on using OrientDB and want to be a partner as "reseller" or better a "services partner" please contact <a href="mailto:info@nuvolabase.com" style="color: #1155cc;" target="_blank">info@nuvolabase.com</a> to have more information.</span></span></span></span></div>
<div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;"><br /></span></span></span></span></div>
<div>
<div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="color: #222222; font-family: trebuchet ms, sans-serif;"><b>Roadmap</b></span></span></span></span></div>
<div>
<div style="font-family: arial;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;">Release 2.0 can wait. We planned an intermediate version 1.5 to release in about one month (mid July 2013) with many things we have postponed.</span></span></span></span></div>
<div style="font-family: arial;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;"><br /></span></span></span></span></div>
<div style="font-family: arial;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;"><br /></span></span></span></span></div>
<div style="font-family: arial;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;">Thanks to all the committers, the contributors and final users!</span></span></span></span></div>
<div style="font-family: arial;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;"><br /></span></span></span></span></div>
<div style="font-family: arial;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;">Enjoy with Graphs,</span></span></span></span></div>
<div style="font-family: arial;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;">Orient Technologies & NuvolaBase Teams</span></span></span></span></div>
</div>
</div>
<div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="font-family: trebuchet ms, sans-serif;"><br /></span></span></span></span></div>
</div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;">
</span></span></span></div>
</div>
</div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com1tag:blogger.com,1999:blog-5851842843035047708.post-4137864202747417822013-04-30T13:48:00.000+02:002013-04-30T13:48:57.549+02:00XDGBench: 3rd party benchmark results against graph databases<div dir="ltr" style="text-align: left;" trbidi="on">
London, April 30th 2013<br />
<br />
<div class="p1">
<a href="https://sites.google.com/site/tokyotechsuzumuralabeng/publications">Toyotaro Suzumura</a> and <a href="http://www.informatik.uni-trier.de/~ley/pers/hd/d/Dayarathna:Miyuru.html">Miyuru Dayarathna</a> from the <a href="http://www.cs.titech.ac.jp/cs-home-e.html">Department of Computer Science of the</a></div>
<div class="p1">
<a href="http://www.cs.titech.ac.jp/cs-home-e.html">Tokyo Institute of Technology</a> and <a href="http://www.research.ibm.com/labs/tokyo/">IBM Research</a> published an interesting research about a benchmark between Graph Databases in the Clouds called:</div>
<br />
<div style="text-align: center;">
<i><span style="font-size: large;">"<b>XGDBench</b>: A Benchmarking Platform for Graph Stores in Exascale Clouds"</span></i></div>
<br />
<div class="p1">
This research conducts a performance evaluation of four famous graph data stores <a href="http://www.franz.com/agraph/allegrograph/">AllegroGraph</a>, <a href="http://jena.apache.org/documentation/serving_data/">Fuseki</a>, <a href="http://www.neo4j.org/">Neo4j</a>, an <a href="http://www.orientdb.org/">OrientDB</a> using XGDBench on Tsubame 2.0 HPC cloud environment. XGDBench is an extension of famous Yahoo! Cloud Serving Benchmark (YCSB).</div>
<div class="p1">
<br /></div>
<div class="p1">
<a href="http://www.orientdb.org/"><b>OrientDB</b></a> is the faster Graph Database among the 4 products tested. In particular <a href="http://www.orientdb.org/"><b>OrientDB</b></a> is about <b>10x</b> faster (!) than <a href="http://www.neo4j.org/">Neo4j</a> in all the tests.</div>
<br />
Look at the <a href="https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnx0b2t5b3RlY2hzdXp1bXVyYWxhYmVuZ3xneDo1NjRlMzQ2MDE1ZjczOWQz" style="text-align: center;">Presentation (25 slides)</a><span style="text-align: center;"> and </span><a href="https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnx0b2t5b3RlY2hzdXp1bXVyYWxhYmVuZ3xneDoyMGRiOGFlM2Y2OGY5Mzhj" style="text-align: center;">Research PDF</a>.<br />
<br /></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com4Londra, Regno Unito51.511213899999987 -0.1198243999999704151.195107899999989 -0.7652713999999704 51.827319899999985 0.52562260000002958tag:blogger.com,1999:blog-5851842843035047708.post-36661467361706941352013-04-29T23:03:00.003+02:002013-04-30T01:35:43.056+02:00New "Orient Technologies" Division<div dir="ltr" style="text-align: left;" trbidi="on">
London, April 29th 2013<br />
<br />
<a href="http://www.nuvolabase.com/">NuvolaBase</a> ltd moved all the activities related to OrientDB product to the new "<b>Orient Technologies</b>" division: <a href="http://www.orientechnologies.com/">www.orientechnologies.com</a>. In this way NuvolaBase company will be focused on the Cloud Database only (powered by <a href="http://www.orientdb.org/">OrientDB</a>) while Orient Technologies will offer training, support, consulting and commercial products.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="margin-left: auto; margin-right: auto;"><a href="http://www.orientechnologies.com/"><img border="0" height="409" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjirLoyZbzSsOTZHAqF9YNgeNkOS7F0aEPBtIoNmhGUiHk0ir7aHpWEQx2YjsfYSKJofP3g3Gu-4BEs88-1OBw8D2tCZRknjNhUVlrOY3mu1KG14c8q8hv8DegEGdSitLRrpcBENrQzJg/s640/Schermata+2013-04-29+alle+23.01.48.png" width="640" /></a></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://www.orientechnologies.com/">Orient Technologies web site</a></td></tr>
</tbody></table>
<br />
<br />
NuvolaBase Team<br />
<br /></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-10736041243284414512013-04-04T10:43:00.001+02:002013-04-04T17:08:28.847+02:00OrientDB: new GraphDB Engine in beta<span style="font-family: inherit;">London, April 4th 2013</span><br />
<br />
After about one month spent on development and test the NuvolaBase team has released the new GraphDB Engine!<br />
<br />
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:<br />
<br />
<ol>
<li><b>avoid creation of edges as document</b> 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</li>
<li>Vertex "in" and "out" fields aren't defined in the schema anymore because can be of different types and <b>change at run-time adapting to the content</b>:</li>
<ol>
<li>no connection = null (no space taken)</li>
<li>1 connection = store as LINK (few bytes)</li>
<li>>1 connections = use the Set of LINKS (using the MVRBTreeRIDSet class)</li>
</ol>
<li><b>binding of Blueprints "label" concept to OrientDB sub-classes</b>. If you create an edge with label "friend", then the edge sub-type "friend" will be used (created by the engine transparently). This means:</li>
<ol>
<li>1 field less in document (the field "label") and therefore less space and the ability to use the technique 1 (see above)</li>
<li>edges are stored on different files at file system level because are used different clusters</li>
<li>better partitioning against multiple disks (and in the future more parallelism)</li>
<li>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</li>
</ol>
<li><b>multiple properties for edges of different labels</b>. 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</li>
<li>with such dynamic Graph in future we could support also <b>HyperGraph</b> in a flash</li>
</ol>
<div>
<br /></div>
<div>
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 <a href="https://github.com/tinkerpop/blueprints/wiki">Blueprints</a> Graph layer as new GraphDB Engine. So the new GraphDB Engine IS the OrientDB's <a href="https://github.com/tinkerpop/blueprints/wiki">Blueprints</a> implementation.</div>
<div>
<br /></div>
<div>
Why? Mainly because:</div>
<div>
<ol>
<li><a href="https://github.com/tinkerpop/blueprints/wiki">Blueprints</a> is the de facto standard for Graph Databases made by <a href="http://www.tinkerpop.com/">TinkerPop</a> team</li>
<li><a href="http://www.tinkerpop.com/">TinkerPop</a> team is amazing with a lot of technologies built on top of <a href="https://github.com/tinkerpop/blueprints/wiki">Blueprints</a> layer</li>
<li>Latest release of <a href="https://github.com/tinkerpop/blueprints/wiki">Blueprints</a> added some new features to allow the implementations to use the underlying engine in more powerful way</li>
<li><a href="https://github.com/tinkerpop/blueprints/wiki">Blueprints</a> API and all the <a href="http://www.tinkerpop.com/">TinkerPop</a> stack is very well documented with a lot of examples and a new Book that is coming</li>
</ol>
</div>
<div>
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.</div>
<div>
<br /></div>
<div>
<div>
<b>Starting from OrientDB 1.4 the GraphDB API to use are the Blueprints</b>. 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).</div>
</div>
<div>
<br /></div>
<div>
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: <a href="https://github.com/nuvolabase/blueprints">https://github.com/nuvolabase/blueprints</a>. It passes all the Blueprints Test Cases.</div>
<div>
<br /></div>
<div>
To open databases created with previous releases uses:</div>
<div>
<br /></div>
<div>
<div class="p1">
<span class="s2">OrientGraph graph</span> = <span class="s1">new</span> OrientGraph(<span class="s3">"local:/temp/mydb"</span>);</div>
<div class="p1">
<span class="s2">graph</span>.setUseLightweightEdges(<span class="s1">false</span>);</div>
<div class="p1">
g<span class="s2">raph</span>.setUseVertexFieldsForEdgeLabels(<span class="s1">false</span>);</div>
<div class="p1">
</div>
<div class="p1">
<span class="s2">graph</span>.setUseCustomClassesForEdges(<span class="s1">false</span>);</div>
</div>
<div>
<br /></div>
<div>
In the next days will be released a new tool to convert the databases to the new format.</div>
<div>
<br /></div>
<br />
Luca Garulli<br />
CEO at NuvolaBase.com<br />
the Company behind OrientDB<br />
Follow me on http://twitter.com/lgarulli<br />
<div>
<br /></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com3tag:blogger.com,1999:blog-5851842843035047708.post-83410967904188884992013-01-04T14:33:00.000+01:002013-01-05T01:08:36.401+01:00NuvolaBase Cloud - Support platformToday the NuvolaBase Team released the Issue Tracker to manage support requestes as issues, bugs and feedbacks.<br />
<br />
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.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7zB9O182q0JpXjo3NtZAjykzBZHgz7ttA3k2kn-XiBiVlBePxzKEp3IfogdrzcgS8BvS3LsfKgrmNrHTv2KATwWU9C0ZtA-sxlVfh0x8UB6eRI4TlZTyQDjlDBcenhIbq7ofD152YWkQ/s1600/Schermata+2013-01-04+alle+14.31.14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7zB9O182q0JpXjo3NtZAjykzBZHgz7ttA3k2kn-XiBiVlBePxzKEp3IfogdrzcgS8BvS3LsfKgrmNrHTv2KATwWU9C0ZtA-sxlVfh0x8UB6eRI4TlZTyQDjlDBcenhIbq7ofD152YWkQ/s400/Schermata+2013-01-04+alle+14.31.14.png" width="400" /></a></div>
<br />
<br />
Your opinion is important, so let us know any ideas.<br />
<br />
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-71984531342427117112013-01-02T13:29:00.001+01:002013-01-02T13:30:08.540+01:00What's next in 2013?<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">London, January 2nd 2013.</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;"><br /></span>
<br />
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Together in 2012 we did great things like:</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<ul>
<li style="margin-left: 15px;"><b>7 (seven!) official releases</b>: 1.0rc8, 1.0rc9, 1.0, 1.0.1, 1.1, 1.2 and latest 1.3!</li>
<li style="margin-left: 15px;">so many bugs fixed</li>
<li style="margin-left: 15px;">a lot of new features</li>
<li style="margin-left: 15px;">the switch from Google Code -> GitHub</li>
<li style="margin-left: 15px;">received much more contributions than 2011</li>
<li style="margin-left: 15px;">we've more contributors that help us</li>
</ul>
<div>
<b><u>So what's next?</u></b></div>
<div>
<br /></div>
<div>
OrientDB is an Open Source project licensed with Apache 2 license. This means that is <b>FREE</b> 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.</div>
<div>
<br /></div>
<div>
Furthermore <b>companies</b> 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.</div>
<div>
<br /></div>
<div>
This is the main reason why we created <b>NuvolaBase</b> company: to offer a professional support against OrientDB. If you've a company or you're a consultant why don't join us as <b>certified</b> OrientDB developer/DBA? Or why don't join us as a <b>Partner</b>? This will help us to support better users and customers offering a wider range of countries where to find OrientDB experts.</div>
<div>
<br /></div>
<div>
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 <b>OrientDB Enterprise Edition</b> 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").</div>
<div>
<br /></div>
<div>
Since the release of the first OrientDB Enterprise Edition the <b>Professional Support</b> 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.</div>
<div>
<br /></div>
<div>
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.</div>
<div>
<br /></div>
<div>
Are you worried about OrientDB will be a Commercial product?</div>
<div>
<br /></div>
<div>
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) <b>will always be FREE</b> licensed with Apache license.</div>
<div>
<br /></div>
<div>
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.</div>
<div>
<br /></div>
<div>
Happy new year,</div>
<div>
NuvolaBase staff</div>
<div>
<br /></div>
</div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-10029489080983515782012-12-22T20:42:00.002+01:002012-12-22T20:43:10.192+01:00Released OrientDB 1.3 with new SQL functions and better performance<br />
<div style="background-color: white; color: #222222; font-family: arial; font-size: small;">
London, November, 21st 2012</div>
<div style="background-color: white; color: #222222; font-family: arial; font-size: small;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial; font-size: small;">
<a href="http://www.nuvolabase.com/" style="background-color: transparent; color: #1155cc; font-family: arial, sans-serif; font-size: 12.727272033691406px;" target="_blank">NuvolaBase</a><span style="color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;"> is glad to announce this new release <b>1.3</b> and the new Web Site of OrientDB: </span><span style="font-family: arial, sans-serif;"><a href="http://www.orientdb.org/">http://www.orientdb.org</a>!</span></div>
<div style="background-color: white; color: #222222; font-family: arial; font-size: small;">
<span style="font-family: arial, sans-serif;"><br /></span></div>
<div style="background-color: white; color: #222222; font-family: arial; font-size: small;">
<span style="font-family: arial, sans-serif;">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.</span></div>
<span style="background-color: white; color: #222222; font-family: arial; font-size: x-small;"></span><br />
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial; font-size: small;">
<div>
<div>
<b style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">What's new with 1.3?</b><br />
<ul>
<li><span style="font-family: arial, sans-serif;">SQL: new eval() function to execute expressions</span></li>
<li><span style="font-family: arial, sans-serif;">SQL: new if() and ifnull() functions</span></li>
<li><span style="font-family: arial, sans-serif;">SQL: supported server-side configuration for functions</span></li>
<li><span style="font-family: arial, sans-serif;">SQL: new DELETE VERTEX and DELETE EDGE commands</span></li>
<li><span style="font-family: arial, sans-serif;">SQL: execution of database functions from SQL commands</span></li>
<li><span style="font-family: arial, sans-serif;">SQL: new create cluster command</span></li>
<li><span style="font-family: arial, sans-serif;">Graph: bundled 2 algorithms: Dijkstra and ShortestPath between vertices</span></li>
<li><span style="font-family: arial, sans-serif;">Performance: improved opening time when a connections is reused from pool</span></li>
<li><span style="font-family: arial, sans-serif;">Performance: better management of indexes in ORDER BY</span></li>
<li><span style="font-family: arial, sans-serif;">Schema: new API to handle custom fields</span></li>
<li><span style="font-family: arial, sans-serif;">HTTP/REST: new support for fetch-plan and limit in "command"</span></li>
<li><span style="font-family: arial, sans-serif;">Moved from Google Code to GitHub: </span><a href="https://github.com/nuvolabase/orientdb" style="color: #1155cc; font-family: arial, sans-serif;" target="_blank">https://github.com/nuvolabase/<wbr></wbr>orientdb</a></li>
<li>Many bugs fixed</li>
</ul>
</div>
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Full list: Full list: <a href="https://github.com/nuvolabase/orientdb/issues?milestone=1&page=1&state=closed" style="color: #1155cc;" target="_blank">https://github.com/nuvolabase/<wbr></wbr>orientdb/issues?milestone=1&<wbr></wbr>page=1&state=closed</a> </div>
</div>
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
</div>
<div style="background-color: white; color: #222222; font-family: arial; font-size: small;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"></span></span></span><br />
<div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><b>Issues</b></span></span></span></div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;">
<div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
To report an issue please follow the suggestions posted <a href="https://groups.google.com/d/topic/orient-database/uDqnWjQ0uJE/discussion" style="color: #1155cc;" target="_blank">in the group</a>, in particular attach the following information:</div>
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<ul>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;"><b><span style="background-color: #fff2e6;"><span style="background-color: #ffffcc;">OrientDB</span></span> version</b>. Please don't forget this! If it's a SNAPSHOT please tell if it's from SVN (revision number) or from MAVEN</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">Operative System</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">32-bit or 64-bit</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">JVM version</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">RAM</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">Dump of configuration and profiler</span></span></li>
</ul>
</div>
<div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
To open a new issue: <a href="https://github.com/nuvolabase/orientdb/issues/new" style="color: #1155cc;" target="_blank">https://github.com/<wbr></wbr>nuvolabase/orientdb/issues/new</a></div>
<div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="border-collapse: collapse;">
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<b>Professional Services</b></div>
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
All the professional services are provided by <a href="http://www.nuvolabase.com/" style="color: #1155cc;" target="_blank">NuvolaBase.com</a> Ltd.</div>
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<b>Partnership</b></div>
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
We built a new <b>Partnership Agreement</b> for companies interested to sell NuvolaBase or OrientDB services as "reseller" or "services partner". Please contact <a href="mailto:info@nuvolabase.com" style="color: #1155cc;" target="_blank">info@nuvolabase.com</a> to have more information about it.</div>
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div>
<div>
<span style="color: #222222; font-family: arial, sans-serif;"><b>Roadmap</b></span></div>
<div>
<span style="color: #222222; font-family: arial, sans-serif;">The roadmap has been updated -> </span><span style="font-family: arial, sans-serif;">https://github.com/nuvolabase/orientdb/issues/milestones</span>. 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.</div>
<div>
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 12.727272033691406px;">
Thanks to all the committers, the contributors and final users.</div>
</div>
</div>
</span></span></span></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-92112377872992141432012-12-22T20:42:00.001+01:002012-12-22T20:45:11.361+01:00NuvolaBase Dashboard - How to change DB passwordNuvolaBase hosted OrientDB personal databases come with 3 default users called "admin", "reader" and "writer".<br />
The default password when you create a new database is "admin".<br />
<br />
With the new dashboard it's now possible, and it's recommended, to change your personal database account's password.<br />
It's very easy, let me see you how to do that.<br />
<br />
Once logged into the dashboard:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXFx3nZjxEiiaI08C-wxcF3bXCRlGjY4XMwKxh3gGTQwEchSu3YcaHXVryr_NccAhrqt4Qd5ksvRIBPYdoma_smLdfrtHy6-HpYFmWQfMVzCWJ2N1YTigwH03_txZuTTJrmxvuCs_MhWw/s1600/db_info.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="375" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXFx3nZjxEiiaI08C-wxcF3bXCRlGjY4XMwKxh3gGTQwEchSu3YcaHXVryr_NccAhrqt4Qd5ksvRIBPYdoma_smLdfrtHy6-HpYFmWQfMVzCWJ2N1YTigwH03_txZuTTJrmxvuCs_MhWw/s640/db_info.png" width="640" /></a></div>
<br />
click on the button named "<b>Database info</b>" on the database name you want to modify.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYTrX_d6j2PpqWyVKaES5heXKD5S64Oq2iJl6iSxJs5aHOexs16xQos-CnmaxR4a2e37BPXrjJs5xEHK9Yv268pXCr7f_AjUfFF3kJVIMWe_pYsHQqrDViUnaheu67bEwx4o7lVWlinpI/s1600/db_info2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYTrX_d6j2PpqWyVKaES5heXKD5S64Oq2iJl6iSxJs5aHOexs16xQos-CnmaxR4a2e37BPXrjJs5xEHK9Yv268pXCr7f_AjUfFF3kJVIMWe_pYsHQqrDViUnaheu67bEwx4o7lVWlinpI/s640/db_info2.png" width="640" /></a>Then fill the text field named "<b>Set DB password</b>" with a secure passphrase and click on the "<b>save</b>" button.<br />
<br />
<b>The password will be strongly hashed</b> 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).<br />
<br />
Click on the "<b>Studio</b>" button to access your personal database with your new account password. Chose "admin" as username.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhndx4StJxybfzRneMiEZhyphenhyphenGUrjFpo4WQV7l3mzHNERGv1zpCqhBwXu8Y_aFGJdoW0s6GnrGNctrnN6Q-sOacmzsIl-7rK2LXJdpBfai9HevXEdrDBAwxaniTTsloyOgkk9DG0KYhhX6EQ/s1600/dbstudio.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhndx4StJxybfzRneMiEZhyphenhyphenGUrjFpo4WQV7l3mzHNERGv1zpCqhBwXu8Y_aFGJdoW0s6GnrGNctrnN6Q-sOacmzsIl-7rK2LXJdpBfai9HevXEdrDBAwxaniTTsloyOgkk9DG0KYhhX6EQ/s640/dbstudio.png" width="640" /></a>You can now access your private OrientDB instance in the cloud.<br />
Enjoy!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-50416412707248624502012-12-01T16:16:00.000+01:002012-12-16T23:52:28.823+01:00NuvolaBase Dashboard Upgrade<b>Dear user, the NuvolaBase Dashboard rework has begun!!</b><br /><br />
Many clouds are awaiting you on the horizon, in a good way.<br />
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.<br />
<br />
Please note that We are saying "begun" and not "finished".<br />
The new Dashboard has been completely refactored to support new great features in the near future, and some cool feature is ready just now.<br />
<br />
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.<br />
Several backend facilities have been designed and built by ground up.<br />
The site usability is simpler and the overall security and reliability have been GREATLY improved.<br />
<br />
<br />
<b>IMPORTANT: The NuvolaBase Dashboard upgrade time window is scheduled for 2nd December<br />
from 00:00 to 02:00 GMT.</b><br />
<br />
<br />
Everything should be executed transparently, and we apologise in advance for any small outages that the upgrade procedure would cause into the time window.<br />
<br />
<b>What to expect in the near future?</b><br />
We are working to integrate a request tracker system to support you more quickly.<br />
A new OAuth2 provider is almost ready.<br />
We are quite ready to expose a cool REST API to let you manage your database cloud infrastructure.<br />
<br />
We need your feedback, so please drop up a note if you like.<br />
Follow us on Twitter: <a href="https://twitter.com/nuvolabase" target="_blank">https://twitter.com/nuvolabase</a><br />
<br />
The NuvolaBase Team.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-17538507914010701502012-11-23T21:12:00.002+01:002012-11-23T21:59:58.824+01:00NuvolaBase in Oxford, not teaching English but the Graph TheoryOn 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).<br />
<br />
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 <a href="http://studio.nuvolabase.com/db/free/demo/GratefulDeadConcerts/studio/?user=reader&passthrough=false&database=/db/free/demo/GratefulDeadConcerts&password=reader">NuvolaBase Cloud Service</a> containing the Grateful Dead's concerts.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Hu8qbKUSpJrbzqQ-dLDKO764-Xoaetx3s2-nynWBuO4SOWv28_meJbl2Np1ptqZuchFheQyXd9tD9iLlrZ0rEpTMSrtG251XQTWx477yIGKaSHcLG1mNXcFM43xP82vUVZeGfAIfew/s1600/A8YTWLgCIAEvOkH.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Hu8qbKUSpJrbzqQ-dLDKO764-Xoaetx3s2-nynWBuO4SOWv28_meJbl2Np1ptqZuchFheQyXd9tD9iLlrZ0rEpTMSrtG251XQTWx477yIGKaSHcLG1mNXcFM43xP82vUVZeGfAIfew/s400/A8YTWLgCIAEvOkH.jpg" width="400" /></a></div>
<div style="text-align: center;">
(Picture by <a href="https://twitter.com/mark_star">Mark Starling</a>)</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6Txc4mB6Qwbd2mqbu_64ACpPwnHz4ZwFtFcspkPbBsw9A8znorbxMrVEB8skgf51RyEZNBFXq-alNFX6pqZkUiy_t6iGIqGmP76E4hwKCS1Cz5LKRd8VSn6buwGZMORFTbc9ditSCVw/s1600/A8YPqkZCAAAimZK.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6Txc4mB6Qwbd2mqbu_64ACpPwnHz4ZwFtFcspkPbBsw9A8znorbxMrVEB8skgf51RyEZNBFXq-alNFX6pqZkUiy_t6iGIqGmP76E4hwKCS1Cz5LKRd8VSn6buwGZMORFTbc9ditSCVw/s400/A8YPqkZCAAAimZK.jpg" width="400" /></a></div>
<div style="text-align: center;">
(Picture by <a href="https://twitter.com/lizconlan">Liz Conlan</a>)</div>
<br />
Below the presentation:<br />
<br />
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="486" marginheight="0" marginwidth="0" mozallowfullscreen="mozallowfullscreen" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/15319014" style="border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px;" webkitallowfullscreen="webkitallowfullscreen" width="597"> </iframe> <br />
<div style="margin-bottom: 5px;">
<strong> <a href="http://www.slideshare.net/lvca/switching-from-relational-to-the-graph-model" target="_blank" title="Switching from relational to the graph model">Switching from relational to the graph model</a> </strong> from <strong><a href="http://www.slideshare.net/lvca" target="_blank">Luca Garulli</a></strong> </div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-52938026308210191492012-11-23T20:53:00.002+01:002012-11-23T21:12:40.588+01:00Presented "OrientDB: A New, Collaborative Way to Develop Internet Applications Based on JavaScript and NoSQL" in parisOn Saturday, November 17th 2012 Luca Garulli presented "<a href="http://www.jseverywhere.eu/presentations/#garulli">OrientDB: A New, Collaborative Way to Develop Internet Applications Based on JavaScript and NoSQL</a>" in Paris at the <a href="http://jseverywhere.eu/presentations/#garulli">JS Everywhere conference</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWqWD1-IZ0IFPz-VxEcZyHgeh7UTN7m9wNMOIUwvNVYqbaN0YJdCX9GnDkCaJP_Viw3GfpvYox4tmuw6KVaXEgvF25K3HypCcysh3HnGCspHBMH_NAiLBhBjfSE_SFdAKKYh70-z8CTA/s1600/picture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWqWD1-IZ0IFPz-VxEcZyHgeh7UTN7m9wNMOIUwvNVYqbaN0YJdCX9GnDkCaJP_Viw3GfpvYox4tmuw6KVaXEgvF25K3HypCcysh3HnGCspHBMH_NAiLBhBjfSE_SFdAKKYh70-z8CTA/s320/picture.png" width="320" /></a></div>
<br />
This is a brand new presentation about using OrientDB Javascript capabilities to create fast and scalable Web Application in breeze using Javascript for the client and server sides.<br />
<br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="486" marginheight="0" marginwidth="0" mozallowfullscreen="mozallowfullscreen" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/15221299" style="border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px;" webkitallowfullscreen="webkitallowfullscreen" width="597"> </iframe> </div>
<div style="margin-bottom: 5px;">
<strong> <a href="http://www.slideshare.net/lvca/a-new-collaborative-way-to-develop-internet-apps-powered-by-nosql-and-javascript" target="_blank" title="Internet Apps powered by NoSQL and JavaScript">Internet Apps powered by NoSQL and JavaScript</a> </strong> from <strong><a href="http://www.slideshare.net/lvca" target="_blank">Luca Garulli</a></strong> </div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-26363209583149583532012-10-11T00:52:00.001+02:002012-12-20T00:35:52.404+01:00Released OrientDB v 1.2: Server-Side functions, Record Level Security, new Query Profiler, 65 bugs fixed!<br />
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
London, October 11th 2012 - <a href="http://www.nuvolabase.com/" style="background-color: transparent; color: #1155cc; font-size: 12.727272033691406px;" target="_blank">NuvolaBase</a><span style="color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;"> is glad to announce big news for this release </span><b style="font-size: 12.727272033691406px;">1.2</b><span style="color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">! Two of the most long awaited features are finally part of OrientDB. I'm talking about <a href="http://nuvolabase.blogspot.it/2012/09/orientdb-supports-functions.html" style="color: #1155cc;" target="_blank">Server Side Functions</a>, <a href="http://nuvolabase.blogspot.it/2012/10/orientdb-supports-new-record-level.html" style="color: #1155cc;" target="_blank">Record Level Security</a> and <a href="http://nuvolabase.blogspot.it/2012/10/orientdb-and-partitioned-graphs.html" style="color: #1155cc;" target="_blank">Partitioned Graphs</a>. This software is always <b>FREE </b>for any usage and Open Sourced with Apache 2 license. If you need <b>professional support</b> contact the <a href="http://www.nuvolabase.com/site/professional.html" style="color: #1155cc;" target="_blank">NuvolaBase professional support</a>.</span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span style="color: #222222; font-family: arial, sans-serif;"><br /></span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span style="color: #222222; font-family: arial, sans-serif;">If you are interested on getting the OrientDB <b>certification </b>contact </span><span style="font-size: 12.727272033691406px;"> </span><a href="mailto:info@nuvolabase.com" style="color: #1155cc; font-size: 12.727272033691406px;" target="_blank">info@nuvolabase.com</a> <wbr></wbr>for more information.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<b>Release 1.2</b></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span style="background-color: transparent; font-size: 12.727272033691406px;">Download as usual: </span><a href="http://code.google.com/p/orient/wiki/Download" style="background-color: transparent; color: #1155cc; font-size: 12.727272033691406px;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/wiki/Download</a><span style="color: #222222; font-family: arial, sans-serif;"> or click on the direct links:</span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<ul>
<li style="margin-left: 15px;">OrientDB Embedded and Server: <a href="http://code.google.com/p/orient/downloads/detail?name=orientdb-1.2.0.zip" style="color: #1155cc;" target="_blank">http://code.google.<wbr></wbr>com/p/orient/downloads/detail?<wbr></wbr>name=orientdb-1.2.0.zip</a></li>
<li style="margin-left: 15px;">OrientDB Graph(ed): <a href="http://code.google.com/p/orient/downloads/detail?name=orientdb-graphed-1.2.0.zip" style="color: #1155cc;" target="_blank">http://<wbr></wbr>code.google.com/p/orient/<wbr></wbr>downloads/detail?name=<wbr></wbr>orientdb-graphed-1.2.0.zip</a></li>
</ul>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<div>
<div>
<b>What's new?</b><br />
<ul>
<li style="margin-left: 15px;"><a href="http://nuvolabase.blogspot.it/2012/09/orientdb-supports-functions.html" style="color: #1155cc;" target="_blank"><b>Server Side Functions</b></a>: these are like Stored Procedures for RDBMS but in Javascript</li>
<li style="margin-left: 15px;"><span style="color: #222222; font-family: arial, sans-serif;"><a href="http://nuvolabase.blogspot.it/2012/10/orientdb-supports-new-record-level.html" style="color: #1155cc;" target="_blank"><b>Record Level Security</b></a>, just overriding the </span>ORestricted abstract class. <a href="http://nuvolabase.blogspot.it/2012/10/orientdb-and-partitioned-graphs.html" style="color: #1155cc;" target="_blank"><b>Partitioned Graphs</b></a> is never been so easy!</li>
<li style="margin-left: 15px;"><b>Profiler</b>: generation of snapshots</li>
<li style="margin-left: 15px;">JMX now is a plugin (not more installed by default)</li>
<li style="margin-left: 15px;">Automatic rebuild of schema index on restart after a crash/hard shutdown</li>
<li style="margin-left: 15px;"><span style="color: #222222; font-family: arial, sans-serif;">SQL: new <b>EXPLAIN </b>command to profile any commands, new SQL <b>LET </b>keyword to set </span>context variables, support for Sub-Queries in CREATE EDGE</li>
<li style="margin-left: 15px;">Object Database JPA interface: support for configurable naming policy</li>
<li style="margin-left: 15px;">Supported <b>abstract classes</b> (without record cluster)</li>
<li style="margin-left: 15px;">Partial unmarshalling of fields to speed up queries</li>
<li style="margin-left: 15px;">Automatic backup can start at concrete time</li>
<li style="margin-left: 15px;">Console: prompt password if not provided</li>
<li style="margin-left: 15px;">Renamed traverse's WHERE in <b>WHILE</b></li>
<li style="margin-left: 15px;"><b>65 bugs</b> fixed!</li>
</ul>
</div>
<div>
Full list: <a href="http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.2.0%2Cv1.2" style="color: #1155cc;" target="_blank">http://code.google.com/p/<wbr></wbr>orient/issues/list?can=1&q=<wbr></wbr>label%3Av1.2.0%2Cv1.2</a></div>
</div>
<div style="font-size: 12.727272033691406px;">
<br /></div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.727272033691406px;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"></span></span></span><br />
<div style="border-collapse: collapse;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><b>Issues</b></span></span></span></div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;">
<div style="border-collapse: collapse;">
To report an issue please follow the suggestions posted <a href="https://groups.google.com/d/topic/orient-database/uDqnWjQ0uJE/discussion" style="color: #1155cc;" target="_blank">in the group</a>, in particular attach the following information:</div>
<div>
<ul>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;"><b><span style="background-color: #fff2e6;"><span style="background-color: #ffffcc;">OrientDB</span></span> version</b>. Please don't forget this! If it's a SNAPSHOT please tell if it's from SVN (revision number) or from MAVEN</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">Operative System</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">32-bit or 64-bit</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">JVM version</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">RAM</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">Dump of configuration and profiler</span></span></li>
</ul>
</div>
<div style="border-collapse: collapse;">
To open a new issue: <a href="http://code.google.com/p/orient/issues/entry" style="color: #1155cc;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/issues/entry</a></div>
<div style="border-collapse: collapse;">
<br /></div>
<div style="border-collapse: collapse;">
<div>
<b>Professional Services</b></div>
<div>
All the professional services are provided by <a href="http://www.nuvolabase.com/" style="color: #1155cc;" target="_blank">NuvolaBase.com</a> Ltd.</div>
<div>
<b>Partnership</b></div>
<div>
We built a new <b>Partnership Agreement</b> for companies interested to sell NuvolaBase or OrientDB services as "reseller" or "services partner". Please contact <a href="mailto:info@nuvolabase.com" style="color: #1155cc;" target="_blank">info@nuvolabase.com</a> to have more information about it.</div>
<div>
<br /></div>
<div>
<div style="color: black; font-family: arial; font-size: small;">
<span style="color: #222222; font-family: arial, sans-serif;"><b>Roadmap</b></span></div>
<div style="color: black; font-family: arial; font-size: small;">
<span style="color: #222222; font-family: arial, sans-serif;">The roadmap has been updated -> </span><a href="http://code.google.com/p/orient/wiki/Roadmap" style="color: #1155cc;" target="_blank">http://code.google.com/p/<wbr></wbr>orient/wiki/Roadmap</a>. At high level our plans are to release a v1.3 in about one month as mainly bug fixing and the introduction of small improvements. The <span style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em;">release 2.0, instead, will be a milestone in the OrientDB life because the focus on:</span></div>
<div style="color: black; font-family: arial; font-size: small;">
<ul style="font-family: arial, sans-serif; font-size: 13px; max-width: 62em; padding-left: 25px;">
<li style="margin-bottom: 0.3em; margin-left: 15px;">the new index engine (based on hashing)</li>
<li style="margin-bottom: 0.3em; margin-left: 15px;">new sharding in clustering</li>
<li style="margin-bottom: 0.3em; margin-left: 15px;">the availability of Enterprise Edition (released as commercial optional product)</li>
<li style="margin-bottom: 0.3em; margin-left: 15px;">the availability of the Business Intelligence suite</li>
</ul>
</div>
<div>
<b>Events</b></div>
<div>
Don't miss the next events: <a href="http://code.google.com/p/orient/wiki/Events" style="color: #1155cc;" target="_blank">http://code.google.<wbr></wbr>com/p/orient/wiki/Events</a>. Next one is in Moscow on October 17th 2012!</div>
<div>
<br /></div>
<div>
Thanks to all the committers, the contributors and final users,</div>
</div>
<div>
<br /></div>
</div>
<div style="border-collapse: collapse;">
<div style="border-collapse: collapse;">
NuvolaBase Ltd</div>
<div style="border-collapse: collapse;">
<span style="border-collapse: separate; font-family: arial; font-size: x-small;"><span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;">The OrientDB company</span></span></div>
<div style="border-collapse: collapse;">
<span style="border-collapse: separate; font-family: arial; font-size: x-small;"><span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><br /></span></span></div>
</div>
</span></span></span></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-47801320812125508782012-10-02T01:16:00.000+02:002012-10-02T02:21:37.537+02:00OrientDB multitenancy with partitioned graphs<div class="separator" style="clear: both; text-align: center;">
<a href="http://s3.amazonaws.com/hypertextopia/public/uploads/5974/SkyScraper.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="http://s3.amazonaws.com/hypertextopia/public/uploads/5974/SkyScraper.jpg" width="240" /></a></div>
<br />
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
Introduction</h1>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
<div style="font-size: 13px;">
This tutorial explains step-by-step how to create partitioned graphs using the <a href="http://code.google.com/p/orient/wiki/Security#Record_level_security" style="color: #0000cc;">Record Level Security</a> feature introduced in OrientDB 1.2.0. This feature is so powerful we can totally separate database's records as sand-boxes where each "Restricted" records can't be accessed by non authorized users. This tutorial demonstrates this sand-boxes works well also with the GraphDB API and the <a href="http://code.google.com/p/orient/wiki/GraphDatabaseTinkerpop" style="color: #0000cc; line-height: 16.25px;">TinkerPop stack</a>. <span style="background-color: white; line-height: 16.383333206176758px;">Partitioning graphs allows to build real </span><a href="http://en.wikipedia.org/wiki/Multitenancy" rel="nofollow" style="background-color: white; color: #0000cc; line-height: 16.383333206176758px;">Multi-tenant</a><span style="background-color: white; line-height: 16.383333206176758px;"> applications in a breeze.</span></div>
<div style="font-size: 13px;">
<span style="line-height: 1.25em;"><br /></span></div>
<div style="font-size: 13px;">
<span style="line-height: 1.25em;">Requirements:</span></div>
<br />
<ul style="font-size: 13px; line-height: normal; max-width: 62em; padding-left: 25px;">
<li style="margin-bottom: 0.3em;">OrientDB 1.2.0-SNAPSHOT or major</li>
<li style="margin-bottom: 0.3em;">TinkerPop Blueprints 2.2.0 or major.</li>
</ul>
<div style="font-size: 13px; line-height: 1.25em; max-width: 64em;">
</div>
<div style="line-height: 1.25em; max-width: 64em;">
<strong><span style="font-size: large;"><br /></span></strong></div>
<div style="line-height: 1.25em; max-width: 64em;">
<strong><span style="font-size: large;">Index of contents</span></strong></div>
</div>
<ul style="max-width: 62em; padding-left: 25px;">
<li style="font-family: arial, sans-serif; font-size: 13px; margin-bottom: 0.3em;"><a href="http://code.google.com/p/orient/wiki/PartitionedGraphs#Introduction" style="color: #0000cc;">Introduction</a></li>
<li style="font-family: arial, sans-serif; font-size: 13px; margin-bottom: 0.3em;"><a href="http://code.google.com/p/orient/wiki/PartitionedGraphs#Create_a_new_empty_graph_database" style="color: #0000cc;">Create a new empty graph database</a></li>
<li style="font-family: arial, sans-serif; font-size: 13px; margin-bottom: 0.3em;"><a href="http://code.google.com/p/orient/wiki/PartitionedGraphs#Enable_graph_partitioning" style="color: #0000cc;">Enable graph partitioning</a></li>
<li style="font-family: arial, sans-serif; font-size: 13px; margin-bottom: 0.3em;"><a href="http://code.google.com/p/orient/wiki/PartitionedGraphs#Create_2_users" style="color: #0000cc;">Create 2 users</a></li>
<li style="font-family: arial, sans-serif; font-size: 13px; margin-bottom: 0.3em;"><a href="http://code.google.com/p/orient/wiki/PartitionedGraphs#Create_a_simple_graph_as_user_'Luca'" style="color: #0000cc;">Create a simple graph as user 'Luca'</a></li>
<li style="font-family: arial, sans-serif; font-size: 13px; margin-bottom: 0.3em;"><a href="http://code.google.com/p/orient/wiki/PartitionedGraphs#Create_a_simple_graph_as_user_'Steve'" style="color: #0000cc;">Create a simple graph as user 'Steve'</a></li>
<li style="font-family: arial, sans-serif; font-size: 13px; margin-bottom: 0.3em;"><a href="http://code.google.com/p/orient/wiki/PartitionedGraphs#TinkerPop_Stack" style="color: #0000cc;">TinkerPop Stack</a></li>
</ul>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
</div>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
<a href="http://www.blogger.com/blogger.g?blogID=5851842843035047708" name="Create_a_new_empty_graph_database"></a>Create a new empty graph database</h1>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
First open the console of the GraphDB Edition and create the new database "blog" of type "graph" against the local file-system:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">$ cd $ORIENTDB_HOME</span><span class="pun" style="color: #666600;">/</span><span class="pln">bin
$ console</span><span class="pun" style="color: #666600;">.</span><span class="pln">sh</span><span class="typ" style="color: #660066;">OrientDB</span><span class="pln"> console v</span><span class="pun" style="color: #666600;">.</span><span class="lit" style="color: #006666;">1.2</span><span class="pun" style="color: #666600;">.</span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">-</span><span class="pln">SNAPSHOT www</span><span class="pun" style="color: #666600;">.</span><span class="pln">orientechnologies</span><span class="pun" style="color: #666600;">.</span><span class="pln">com</span><span class="typ" style="color: #660066;">Type</span><span class="pln"> </span><span class="str" style="color: #008800;">'help'</span><span class="pln"> to display all the commands supported</span><span class="pun" style="color: #666600;">.</span><span class="pln">
</span><span class="typ" style="color: #660066;">Installing</span><span class="pln"> extensions </span><span class="kwd" style="color: #000088;">for</span><span class="pln"> GREMLIN language v</span><span class="pun" style="color: #666600;">.</span><span class="lit" style="color: #006666;">2.2</span><span class="pun" style="color: #666600;">.</span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">-</span><span class="pln">SNAPSHOT
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> create database </span><span class="kwd" style="color: #000088;">local</span><span class="pun" style="color: #666600;">:../</span><span class="pln">databases</span><span class="pun" style="color: #666600;">/</span><span class="pln">blog admin admin </span><span class="kwd" style="color: #000088;">local</span><span class="pln"> graph</span><span class="typ" style="color: #660066;">Creating</span><span class="pln"> database </span><span class="pun" style="color: #666600;">[</span><span class="kwd" style="color: #000088;">local</span><span class="pun" style="color: #666600;">:../</span><span class="pln">databases</span><span class="pun" style="color: #666600;">/</span><span class="pln">blog</span><span class="pun" style="color: #666600;">]</span><span class="pln"> </span><span class="kwd" style="color: #000088;">using</span><span class="pln"> the storage type </span><span class="pun" style="color: #666600;">[</span><span class="kwd" style="color: #000088;">local</span><span class="pun" style="color: #666600;">]...</span><span class="pln">
</span><span class="typ" style="color: #660066;">Database</span><span class="pln"> created successfully</span><span class="pun" style="color: #666600;">.</span><span class="pln">
</span><span class="typ" style="color: #660066;">Current</span><span class="pln"> database </span><span class="kwd" style="color: #000088;">is</span><span class="pun" style="color: #666600;">:</span><span class="pln"> </span><span class="kwd" style="color: #000088;">local</span><span class="pun" style="color: #666600;">:../</span><span class="pln">databases</span><span class="pun" style="color: #666600;">/</span><span class="pln">blog</span></pre>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
</h1>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
Enable graph partitioning</h1>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Now turn on partitioning against graph by letting classes V (Vertex) and E (Edge) to extend the <b>ORestricted</b> class. In this way any access to Vertex and Edge instances can be restricted:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> alter </span><span class="kwd" style="color: #000088;">class</span><span class="pln"> V superclass ORestricted</span><span class="typ" style="color: #660066;">Class</span><span class="pln"> updated successfully
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> alter </span><span class="kwd" style="color: #000088;">class</span><span class="pln"> E superclass ORestricted
</span><span class="typ" style="color: #660066;">Class</span><span class="pln"> updated successfully</span></pre>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
</h1>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
<a href="http://www.blogger.com/blogger.g?blogID=5851842843035047708" name="Create_2_users"></a>Create 2 users</h1>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Now let's go creating 2 users: "luca" and "steve". First ask the current roles in database to know the "writer" role's rid:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> </span><span class="kwd" style="color: #000088;">select</span><span class="pln"> </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> orole
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="com" style="color: #880000;">#| RID |name |mode |rules |inheritedRole</span><span class="pln">
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">|</span><span class="pln"> </span><span class="com" style="color: #880000;">#4:0|admin |1 |{} |null</span><span class="pln">
</span><span class="lit" style="color: #006666;">1</span><span class="pun" style="color: #666600;">|</span><span class="pln"> </span><span class="com" style="color: #880000;">#4:1|reader |0 |{database=2, database.schema=2, database.cluster.internal=2, database.cluster.orole=2, database.cluster.ouser=2, database.class.*=2, database.cluster.*=2, database.command=2, database.hook.record=2}|null</span><span class="pln">
</span><span class="lit" style="color: #006666;">2</span><span class="pun" style="color: #666600;">|</span><span class="pln"> </span><span class="com" style="color: #880000;"><b>#4:2</b>|writer |0 |{database=2, database.schema=7, database.cluster.internal=2, database.cluster.orole=2, database.cluster.ouser=2, database.class.*=15, database.cluster.*=15, database.command=15, database.hook.record=15}|null</span><span class="pln">
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="lit" style="color: #006666;">3</span><span class="pln"> item</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">)</span><span class="pln"> found</span><span class="pun" style="color: #666600;">.</span><span class="pln"> </span><span class="typ" style="color: #660066;">Query</span><span class="pln"> executed </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0.045</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Found it, it's the #4:2. Not create 2 users with as first role #4:2 (writer):</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> insert </span><span class="kwd" style="color: #000088;">into</span><span class="pln"> ouser </span><span class="kwd" style="color: #000088;">set</span><span class="pln"> name </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'luca'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> status </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'ACTIVE'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> password </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'luca'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> roles </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="pun" style="color: #666600;">[</span><span class="com" style="color: #880000;">#4:2]</span><span class="pln">
</span><span class="typ" style="color: #660066;">Inserted</span><span class="pln"> record </span><span class="str" style="color: #008800;">'OUser#5:4{name:luca,password:{SHA-256}D70F47790F689414789EEFF231703429C7F88A10210775906460EDBF38589D90,roles:[1]} v1'</span><span class="pln"> </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">001000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span><span class="pln">
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> insert </span><span class="kwd" style="color: #000088;">into</span><span class="pln"> ouser </span><span class="kwd" style="color: #000088;">set</span><span class="pln"> name </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'steve'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> status </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'ACTIVE'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> password </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'steve'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> roles </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="pun" style="color: #666600;">[</span><span class="com" style="color: #880000;">#4:2]</span><span class="pln">
</span><span class="typ" style="color: #660066;">Inserted</span><span class="pln"> record </span><span class="str" style="color: #008800;">'OUser#5:3{name:steve,password:{SHA-256}F148389D080CFE85952998A8A367E2F7EAF35F2D72D2599A5B0412FE4094D65C,roles:[1]} v1'</span><span class="pln"> </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">001000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span></pre>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
<br /></h1>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
<a href="http://www.blogger.com/blogger.g?blogID=5851842843035047708" name="Create_a_simple_graph_as_user_'Luca'"></a>Create a simple graph as user 'Luca'</h1>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Now it's time to disconnect and reconnect to the blog database using the new "luca" user:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> disconnect
</span><span class="typ" style="color: #660066;">Disconnecting</span><span class="pln"> </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> the database </span><span class="pun" style="color: #666600;">[</span><span class="pln">blog</span><span class="pun" style="color: #666600;">]...</span><span class="pln">OK
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> connect </span><span class="kwd" style="color: #000088;">local</span><span class="pun" style="color: #666600;">:../</span><span class="pln">databases</span><span class="pun" style="color: #666600;">/</span><span class="pln">blog luca luca</span><span class="typ" style="color: #660066;">Connecting</span><span class="pln"> to database </span><span class="pun" style="color: #666600;">[</span><span class="kwd" style="color: #000088;">local</span><span class="pun" style="color: #666600;">:../</span><span class="pln">databases</span><span class="pun" style="color: #666600;">/</span><span class="pln">blog</span><span class="pun" style="color: #666600;">]</span><span class="pln"> </span><span class="kwd" style="color: #000088;">with</span><span class="pln"> user </span><span class="str" style="color: #008800;">'luca'</span><span class="pun" style="color: #666600;">...</span><span class="pln">OK</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Now create 2 vertices: a Restaurant and a Pizza:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> create vertex </span><span class="kwd" style="color: #000088;">set</span><span class="pln"> label </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'food'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> name </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'Pizza'</span><span class="pln">
</span><span class="typ" style="color: #660066;">Created</span><span class="pln"> vertex </span><span class="str" style="color: #008800;">'V#9:0{label:food,name:Pizza,_allow:[1]} v0'</span><span class="pln"> </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">001000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span><span class="pln">
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> create vertex </span><span class="kwd" style="color: #000088;">set</span><span class="pln"> label </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'restaurant'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> name </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">"Dante's Pizza"</span><span class="pln">
</span><span class="typ" style="color: #660066;">Created</span><span class="pln"> vertex </span><span class="str" style="color: #008800;">'V#9:1{label:restaurant,name:Dante'</span><span class="pln">s </span><span class="typ" style="color: #660066;">Pizza</span><span class="pun" style="color: #666600;">,</span><span class="pln">_allow</span><span class="pun" style="color: #666600;">:[</span><span class="lit" style="color: #006666;">1</span><span class="pun" style="color: #666600;">]}</span><span class="pln"> v0</span><span class="str" style="color: #008800;">' in 0,000000 sec(s).</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Now connect these 2 vertices with an edge labelled "menu":</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> create edge </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> </span><span class="com" style="color: #880000;">#9:0 to #9:1 set label = 'menu'</span><span class="pln">
</span><span class="typ" style="color: #660066;">Created</span><span class="pln"> edge </span><span class="str" style="color: #008800;">'[E#10:0{out:#9:0,in:#9:1,label:menu,_allow:[1]} v1]'</span><span class="pln"> </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">003000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
To check if everything is ok execute a select against vertices:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> </span><span class="kwd" style="color: #000088;">select</span><span class="pln"> </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> v
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="com" style="color: #880000;">#| RID |label |name |_allow |out</span><span class="pln">
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">|</span><span class="pln"> </span><span class="com" style="color: #880000;">#9:0|food |Pizza |[1] |[1]</span><span class="pln">
</span><span class="lit" style="color: #006666;">1</span><span class="pun" style="color: #666600;">|</span><span class="pln"> </span><span class="com" style="color: #880000;">#9:1|restaurant |Dante's Pizza |[1] |null |[1]</span><span class="pln">
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="lit" style="color: #006666;">2</span><span class="pln"> item</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">)</span><span class="pln"> found</span><span class="pun" style="color: #666600;">.</span><span class="pln"> </span><span class="typ" style="color: #660066;">Query</span><span class="pln"> executed </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0.034</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span></pre>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
</h1>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
<a href="http://www.blogger.com/blogger.g?blogID=5851842843035047708" name="Create_a_simple_graph_as_user_'Steve'"></a>Create a simple graph as user 'Steve'</h1>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Now let's connect to the database using the 'Steve' user and check if there are vertices:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> disconnect
</span><span class="typ" style="color: #660066;">Disconnecting</span><span class="pln"> </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> the database </span><span class="pun" style="color: #666600;">[</span><span class="pln">blog</span><span class="pun" style="color: #666600;">]...</span><span class="pln">OK
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> connect </span><span class="kwd" style="color: #000088;">local</span><span class="pun" style="color: #666600;">:../</span><span class="pln">databases</span><span class="pun" style="color: #666600;">/</span><span class="pln">blog steve steve</span><span class="typ" style="color: #660066;">Connecting</span><span class="pln"> to database </span><span class="pun" style="color: #666600;">[</span><span class="kwd" style="color: #000088;">local</span><span class="pun" style="color: #666600;">:../</span><span class="pln">databases</span><span class="pun" style="color: #666600;">/</span><span class="pln">blog</span><span class="pun" style="color: #666600;">]</span><span class="pln"> </span><span class="kwd" style="color: #000088;">with</span><span class="pln"> user </span><span class="str" style="color: #008800;">'steve'</span><span class="pun" style="color: #666600;">...</span><span class="pln">OK
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> </span><span class="kwd" style="color: #000088;">select</span><span class="pln"> </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> v
</span><span class="lit" style="color: #006666;">0</span><span class="pln"> item</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">)</span><span class="pln"> found</span><span class="pun" style="color: #666600;">.</span><span class="pln"> </span><span class="typ" style="color: #660066;">Query</span><span class="pln"> executed </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0.0</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Ok, no vertices found. Try to create something:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> create vertex </span><span class="kwd" style="color: #000088;">set</span><span class="pln"> label </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'car'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> name </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'Ferrari Modena'</span><span class="pln">
</span><span class="typ" style="color: #660066;">Created</span><span class="pln"> vertex </span><span class="str" style="color: #008800;">'V#9:2{label:car,name:Ferrari Modena,_allow:[1]} v0'</span><span class="pln"> </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">000000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span><span class="pln">
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> create vertex </span><span class="kwd" style="color: #000088;">set</span><span class="pln"> label </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'driver'</span><span class="pun" style="color: #666600;">,</span><span class="pln"> name </span><span class="pun" style="color: #666600;">=</span><span class="pln"> </span><span class="str" style="color: #008800;">'steve'</span><span class="pln">
</span><span class="typ" style="color: #660066;">Created</span><span class="pln"> vertex </span><span class="str" style="color: #008800;">'V#9:3{label:driver,name:steve,_allow:[1]} v0'</span><span class="pln"> </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">000000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span><span class="pln">
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> create edge </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> </span><span class="com" style="color: #880000;">#9:2 to #9:3 set label = 'drive'</span><span class="pln">
</span><span class="typ" style="color: #660066;">Created</span><span class="pln"> edge </span><span class="str" style="color: #008800;">'[E#10:1{out:#9:2,in:#9:3,label:drive,_allow:[1]} v1]'</span><span class="pln"> </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">002000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Now check the graph just created:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> </span><span class="kwd" style="color: #000088;">select</span><span class="pln"> </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> v
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="com" style="color: #880000;">#| RID |label |name |_allow |out</span><span class="pln">
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">|</span><span class="pln"> </span><span class="com" style="color: #880000;">#9:2|car |Ferrari Modena |[1] |[1]</span><span class="pln">
</span><span class="lit" style="color: #006666;">1</span><span class="pun" style="color: #666600;">|</span><span class="pln"> </span><span class="com" style="color: #880000;">#9:3|driver |steve |[1] |null |[1]</span><span class="pln">
</span><span class="pun" style="color: #666600;">---+---------+--------------------+--------------------+--------------------+--------------------+--------------------</span><span class="pln">
</span><span class="lit" style="color: #006666;">2</span><span class="pln"> item</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">)</span><span class="pln"> found</span><span class="pun" style="color: #666600;">.</span><span class="pln"> </span><span class="typ" style="color: #660066;">Query</span><span class="pln"> executed </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0.034</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
The "Steve" user doesn't see the vertices and edges creates by other users!</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
What happen if we try to connect 2 vertices of different users?</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> create edge </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> </span><span class="com" style="color: #880000;">#9:2 to <b>#9:0</b> set label = 'security-test'</span></pre>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">
</span><span class="typ" style="color: #660066;">Error</span><span class="pun" style="color: #666600;">:</span><span class="pln"> com</span><span class="pun" style="color: #666600;">.</span><span class="pln">orientechnologies</span><span class="pun" style="color: #666600;">.</span><span class="pln">orient</span><span class="pun" style="color: #666600;">.</span><span class="pln">core</span><span class="pun" style="color: #666600;">.</span><span class="pln">exception</span><span class="pun" style="color: #666600;">.</span><span class="typ" style="color: #660066;">OCommandExecutionException</span><span class="pun" style="color: #666600;">:</span><span class="pln"> </span><span class="typ" style="color: #660066;">Error</span><span class="pln"> on execution of command</span><span class="pun" style="color: #666600;">:</span><span class="pln"> </span><span class="typ" style="color: #660066;">OCommandSQL</span><span class="pln"> </span><span class="pun" style="color: #666600;">[</span><span class="pln">text</span><span class="pun" style="color: #666600;">=</span><span class="pln">create edge </span><span class="kwd" style="color: #000088;">from</span><span class="pln"> </span><span class="com" style="color: #880000;">#9:2 to #9:0 set label = 'security-test']</span><span class="pln">
</span><span class="typ" style="color: #660066;">Error</span><span class="pun" style="color: #666600;">:</span><span class="pln"> java</span><span class="pun" style="color: #666600;">.</span><span class="pln">lang</span><span class="pun" style="color: #666600;">.</span><span class="typ" style="color: #660066;">IllegalArgumentException</span><span class="pun" style="color: #666600;">:</span><span class="pln"> </span><span class="typ" style="color: #660066;">Source</span><span class="pln"> vertex </span><span class="str" style="color: #008800;">'#9:0'</span><span class="pln"> does </span><span class="kwd" style="color: #000088;">not</span><span class="pln"> exist</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
The partition is totally isolated and OrientDB thinks the vertex doesn't exist while it's present, but invisible to the current user.</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<h1 style="background-image: none; border: 0px; font-family: arial, sans-serif; font-size: x-large; margin-top: 0px; max-width: 700px; padding-left: 0px;">
<a href="http://www.blogger.com/blogger.g?blogID=5851842843035047708" name="TinkerPop_Stack"></a>TinkerPop Stack</h1>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<a href="http://code.google.com/p/orient/wiki/Security#Record_level_security" style="color: #0000cc;">Record Level Security</a> feature is very powerful because acts at low level inside the OrientDB engine. This is why everything works like a charm, even the <a href="http://code.google.com/p/orient/wiki/GraphDatabaseTinkerpop" style="color: #0000cc;">TinkerPop stack</a>.<br />
<br /></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
Now try to display all the vertices and edges using <a href="http://code.google.com/p/orient/wiki/Gremlin" style="color: #0000cc;">Gremlin</a>:</div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre class="prettyprint" style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span class="pln">orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> gremlin g</span><span class="pun" style="color: #666600;">.</span><span class="pln">V
</span><span class="pun" style="color: #666600;">[</span><span class="pln">v</span><span class="pun" style="color: #666600;">[</span><span class="com" style="color: #880000;">#9:2], v[#9:3]]</span><span class="pln">
</span><span class="typ" style="color: #660066;">Script</span><span class="pln"> executed </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">448000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span><span class="pln">
orientdb</span><span class="pun" style="color: #666600;">></span><span class="pln"> gremlin g</span><span class="pun" style="color: #666600;">.</span><span class="pln">E
e</span><span class="pun" style="color: #666600;">[</span><span class="com" style="color: #880000;">#10:1][#9:2-drive->#9:3]</span><span class="pln">
</span><span class="typ" style="color: #660066;">Script</span><span class="pln"> executed </span><span class="kwd" style="color: #000088;">in</span><span class="pln"> </span><span class="lit" style="color: #006666;">0</span><span class="pun" style="color: #666600;">,</span><span class="lit" style="color: #006666;">123000</span><span class="pln"> sec</span><span class="pun" style="color: #666600;">(</span><span class="pln">s</span><span class="pun" style="color: #666600;">).</span></pre>
<div>
<br /></div>
<span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">The same is using other technologies that use the TinkerPop Blueprints: </span><a href="https://github.com/tinkerpop/rexster/wiki" rel="nofollow" style="background-color: white; color: #0000cc; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">TinkerPop Rexter</a><span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">, </span><a href="https://github.com/tinkerpop/pipes/wiki" rel="nofollow" style="background-color: white; color: #0000cc; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">TinkerPop Pipes</a><span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">, </span><a href="https://github.com/tinkerpop/furnace/wiki" rel="nofollow" style="background-color: white; color: #0000cc; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">TinkerPop Furnace</a><span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">, </span><a href="https://github.com/tinkerpop/frames/wiki" rel="nofollow" style="background-color: white; color: #0000cc; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">TinkerPop Frames</a><span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;"> and </span><a href="http://thinkaurelius.github.com/faunus/" rel="nofollow" style="background-color: white; color: #0000cc; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">ThinkAurelius Faunus</a><span style="background-color: white; font-family: arial, sans-serif; font-size: 13px; line-height: 16.383333206176758px;">.</span><br />
<div>
<span style="font-family: arial, sans-serif; font-size: x-small;"><span style="line-height: 16.366666793823242px;"><br /></span></span><span style="font-family: Arial, Helvetica, sans-serif;">This tutorial has been published in <a href="http://code.google.com/p/orient/wiki/PartitionedGraphs">http://code.google.com/p/orient/wiki/PartitionedGraphs</a>.</span><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><br /></span></div>
</div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com3tag:blogger.com,1999:blog-5851842843035047708.post-47138916481006454672012-10-01T00:31:00.001+02:002012-10-01T02:31:22.796+02:00OrientDB supports the new "Record Level Security"<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.enumbered.com/themes/enumbered_public/assets/imgs/security-guard.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://www.enumbered.com/themes/enumbered_public/assets/imgs/security-guard.png" width="279" /></a></div>
<span style="font-family: arial; font-size: x-small;"><br /></span>
<span style="font-family: arial;">OrientDB continues to grow up adding amazing features you can't find in other NoSQL products. This is the time of "Record Level Security". Now creating multi-tenant apps is a breeze!</span><br />
<span style="font-family: arial;"><br /></span>
<br />
<div>
<h2 style="background-image: none; border: 0px; font-family: arial, sans-serif; max-width: 700px; padding-left: 0px;">
<span style="font-size: large;">
Record level security</span></h2>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
This is also called "horizontal security" because doesn't act to the schema (vertically) but per single record.</div>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
To activate this kind of advanced security let the <a href="http://code.google.com/p/orient/wiki/Concepts#Class" style="color: #0000cc;" target="_blank">classes</a> you want to have such kind of security system to extends the <strong>ORestricted</strong> super class. <span style="line-height: 1.25em;">Every time a class extends the </span><strong style="line-height: 1.25em;">ORestricted</strong><span style="line-height: 1.25em;"> class, OrientDB, by a hook, injects a check before each CRUD operation:</span></div>
<ul style="font-family: arial, sans-serif; max-width: 62em; padding-left: 25px;">
<li style="margin-bottom: 0.3em;"><b>CREATE </b>new document: set the current database's user in the <strong>_allow</strong> field</li>
<li style="margin-bottom: 0.3em;"><strong>READ</strong> a document: check if the current user or its roles are enlisted in the <strong><strong>_</strong>allow</strong> field. If not the record is skipped. This let each queries to work per user basis</li>
<li style="margin-bottom: 0.3em;"><b>UPDATE </b>a document: check if the current user or its roles are enlisted in the <strong><strong>_</strong>allow</strong> field. If not a OSecurityException is thrown</li>
<li style="margin-bottom: 0.3em;"><b>DELETE </b>a document: check if the current user or its roles are enlisted in the <strong><strong>_</strong>allow</strong> field. If not a OSecurityException is thrown</li>
</ul>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="background-color: white; line-height: 16.383333206176758px;">The </span><strong style="background-color: white; line-height: 16.383333206176758px;"><tt style="max-width: 66em;">_allow</tt></strong><span style="background-color: white; line-height: 16.383333206176758px;"> field can contain instances of </span><strong style="background-color: white; line-height: 16.383333206176758px;">OUser</strong><span style="background-color: white; line-height: 16.383333206176758px;"> and </span><strong style="background-color: white; line-height: 16.383333206176758px;">ORole</strong><span style="background-color: white; line-height: 16.383333206176758px;"> records. Use </span><strong style="background-color: white; line-height: 16.383333206176758px;">OUser</strong><span style="background-color: white; line-height: 16.383333206176758px;"> to allow single </span><a href="http://code.google.com/p/orient/wiki/Security?ts=1349050878&updated=Security#User" style="background-color: white; color: #0000cc; line-height: 16.383333206176758px;">users</a><span style="background-color: white; line-height: 16.383333206176758px;"> and </span><strong style="background-color: white; line-height: 16.383333206176758px;">ORole</strong><span style="background-color: white; line-height: 16.383333206176758px;"> to allow all the users that are part of these </span><a href="http://code.google.com/p/orient/wiki/Security?ts=1349050878&updated=Security#Role" style="background-color: white; color: #0000cc; line-height: 16.383333206176758px;">roles</a><span style="background-color: white; line-height: 16.383333206176758px;">.</span></span></div>
<div>
<br />
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
</div>
<h3 style="background-image: none; border: 0px; font-family: arial, sans-serif; margin: 0px; max-width: 700px; padding: 0.5ex 0.5em 0.5ex 0px;">
<span style="font-size: large;"><a href="http://www.blogger.com/blogger.g?blogID=5851842843035047708" name="13a188833c6505bb_Use_case"></a>Use case</span></h3>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
You want to enable this security in a BLOG like application. First create the document class, like "Post" that extends "ORestricted". Then if the user "Luke" creates a new post and the user "Steve" make the same each user can't access the Post instances created by each other.<br />
<br />
<br />
<pre style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; line-height: normal; max-width: 70em; overflow: auto; padding: 0.5em;"><span style="color: #666600;">></span> connect remote<span style="color: #666600;">:</span>localhost<span style="color: #666600;">/</span>blog admin admin</pre>
<pre style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; line-height: normal; max-width: 70em; overflow: auto; padding: 0.5em;">> create class Post extends ORestricted</pre>
<pre style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; line-height: normal; max-width: 70em; overflow: auto; padding: 0.5em;">Class 'Post' created successfully</pre>
</div>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
<br />
The user "Luke", registered as OUser "luke" having RID #5:5, logs in and create a new Post:</div>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span style="color: #666600;">></span> connect remote<span style="color: #666600;">:</span>localhost<span style="color: #666600;">/</span>blog luke luke
<span style="color: #666600;">></span> insert <span style="color: #000088;">into</span> <span style="color: #660066;">Post</span> <span style="color: #000088;">set</span> title <span style="color: #666600;">=</span> <span style="color: #008800;">"Yesterday in Italy"</span>
<span style="color: #660066;">Created</span> document <span style="color: #880000;">#18:0</span>
<span style="color: #666600;">></span> <span style="color: #000088;">select</span> <span style="color: #000088;">from</span> <span style="color: #660066;">Post</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span>
<span style="color: #666600;">|</span> RID <span style="color: #666600;">|</span> <span style="color: #006666;">_allow</span> <span style="color: #666600;">|</span> title <span style="color: #666600;">|</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span>
<span style="color: #666600;">|</span><span style="color: #880000;">#18:0| [#5:5] | Yesterday in Italy |</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
Then the user Steve, registered as OUser "steve" having RID #5:6, logs in too and create a new Post</div>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span style="color: #666600;">></span> connect remote<span style="color: #666600;">:</span>localhost<span style="color: #666600;">/</span>blog steve steve
<span style="color: #666600;">></span> insert <span style="color: #000088;">into</span> <span style="color: #660066;">Post</span> <span style="color: #000088;">set</span> title <span style="color: #666600;">=</span> <span style="color: #008800;">"My Nutella cake"</span>
<span style="color: #660066;">Created</span> document <span style="color: #880000;">#18:1</span>
<span style="color: #666600;">></span> <span style="color: #000088;">select</span> <span style="color: #000088;">from</span> <span style="color: #660066;">Post</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span>
<span style="color: #666600;">|</span> RID <span style="color: #666600;">|</span> <span style="color: #006666;">_allow</span> <span style="color: #666600;">|</span> title <span style="color: #666600;">|</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span>
<span style="color: #666600;">|</span><span style="color: #880000;">#18:1| [#5:6] | My Nutella cake |</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span></pre>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
Each user can see only the record where they have access. Now try to allow the user Steve (rid #5:6) to access to the first Luke's post <span style="background-color: white; line-height: 16.383333206176758px;">adding the Steve's RID in the </span><strong style="background-color: white; line-height: 16.383333206176758px;"><tt style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; max-width: 66em;">_allow</tt></strong><span style="background-color: white; line-height: 16.383333206176758px;"> field:</span></div>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span style="color: #666600;">></span> connect remote<span style="color: #666600;">:</span>localhost<span style="color: #666600;">/</span>blog luke luke
<span style="color: #666600;">></span> update <span style="color: #880000;">#18:0 add _allow = #5:6</span></pre>
<div style="font-family: arial, sans-serif; font-size: 13px; line-height: 1.25em; max-width: 64em;">
<br /></div>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
Now if Steve executes the same query as before, the result changes:</div>
<div style="font-family: arial, sans-serif; line-height: 1.25em; max-width: 64em;">
<br /></div>
<pre style="background-color: #eeeeee; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; max-width: 70em; overflow: auto; padding: 0.5em;"><span style="color: #666600;">></span> connect remote<span style="color: #666600;">:</span>localhost<span style="color: #666600;">/</span>blog steve steve
<span style="color: #666600;">></span> <span style="color: #000088;">select</span> <span style="color: #000088;">from</span> <span style="color: #660066;">Post</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span>
<span style="color: #666600;">|</span> RID <span style="color: #666600;">|</span> <span style="color: #006666;">_allow</span> <span style="color: #666600;">|</span> title <span style="color: #666600;">|</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span>
<span style="color: #666600;">|</span><span style="color: #880000;">#18:0| [#5:5] | Yesterday in Italy |</span>
<span style="color: #666600;">|</span><span style="color: #880000;">#18:1| [#5:6] | My Nutella cake |</span>
<span style="color: #666600;">+-----+--------------+--------<wbr></wbr>---------------+</span></pre>
<div style="font-family: arial; font-size: small;">
<span style="color: #666600;"><br /></span></div>
<div style="font-family: arial;">
This is available since now in v. 1.2.0-SNAPSHOT. For more information: <a href="http://code.google.com/p/orient/wiki/Security#Record_level_security" target="_blank">http://code.google.com/p/<wbr></wbr>orient/wiki/Security#Record_<wbr></wbr>level_security</a></div>
<div style="font-family: arial;">
<br /></div>
<div style="font-family: arial;">
<br /></div>
<div style="font-family: arial;">
Enjoy,</div>
<div style="font-family: arial;">
NuvolaBase - <i>The Company behind OrientDB</i></div>
<div style="font-family: arial;">
<br /></div>
</div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-27868594738592771582012-09-25T19:47:00.003+02:002012-09-25T20:10:59.270+02:00OrientDB supports Functions<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 1.25em;">Since 1.2.0 OrientDB supports</span><span style="line-height: 1.25em;"> </span><strong style="line-height: 1.25em;">Functions</strong><span style="line-height: 1.25em;">. A</span><span style="line-height: 1.25em;"> </span><strong style="line-height: 1.25em;">Function</strong><span style="line-height: 1.25em;"> </span><span style="line-height: 1.25em;">is an executable unit of code that can takes parameters and returns a result. Using the Functions you can do</span><span style="line-height: 1.25em;"> </span><a href="http://en.wikipedia.org/wiki/Functional_programming" rel="nofollow" style="color: #0000cc; line-height: 1.25em;">Functional programming</a><span style="line-height: 1.25em;"> </span><span style="line-height: 1.25em;">where logic and data are all together in a central place. Functions are similar to the</span><span style="line-height: 1.25em;"> </span><a href="http://en.wikipedia.org/wiki/Stored_procedure" rel="nofollow" style="color: #0000cc; line-height: 1.25em;">Stored Procedures</a><span style="line-height: 1.25em;"> </span><span style="line-height: 1.25em;">of RDBMS.</span></span><br />
<br />
<div style="line-height: 1.25em; max-width: 64em;">
<span style="font-family: Arial, Helvetica, sans-serif;">These the features of OrientDB Functions:</span></div>
<ul style="max-width: 62em; padding-left: 25px;">
<li style="margin-bottom: 0.3em;"><span style="font-family: Arial, Helvetica, sans-serif;">are persistent</span></li>
<li style="margin-bottom: 0.3em;"><span style="font-family: Arial, Helvetica, sans-serif;">can be written in Javascript, but Ruby, Scala, Java and other languages are coming</span></li>
<li style="margin-bottom: 0.3em;"><span style="font-family: Arial, Helvetica, sans-serif;">can be executed via<span style="background-color: white;"> </span><a href="http://code.google.com/p/orient/wiki/Functions#Usage_via_Java_API" style="background-color: white; color: #0000cc;">Java</a></span></li>
<li style="margin-bottom: 0.3em;"><span style="font-family: Arial, Helvetica, sans-serif;">can be executed via <a href="http://code.google.com/p/orient/wiki/Functions#Usage_via_HTTP_REST" style="color: #0000cc;">REST</a> since each function is exported as a URI</span></li>
<li style="margin-bottom: 0.3em;"><span style="font-family: Arial, Helvetica, sans-serif;">can call each other</span></li>
<li style="margin-bottom: 0.3em;"><span style="font-family: Arial, Helvetica, sans-serif;">supports recursion</span></li>
<li style="margin-bottom: 0.3em;"><span style="font-family: Arial, Helvetica, sans-serif;">have automatic mapping of parameters by position and name</span></li>
<li style="margin-bottom: 0.3em;"><span style="font-family: Arial, Helvetica, sans-serif;">plugins can inject new objects to being used by functions</span></li>
</ul>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://code.google.com/p/orient/wiki/Functions"><img border="0" height="179" src="http://www.orientdb.org/images/orientdb-studio-function-repository.png" width="320" /></a></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">For more information: <a href="http://code.google.com/p/orient/wiki/Functions"><b>http://code.google.com/p/orient/wiki/Functions</b></a>.</span></div>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">NuvolaBase Team</span><br />
<br />Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-43296528276631737752012-07-24T18:25:00.002+02:002012-10-01T02:33:16.803+02:00Released OrientDB v1.1.0: new distributed architecture, improved Object DB API, new MMAP for 64bit OS<span style="color: #222222; font-family: arial, sans-serif;">Hi all,</span><br />
<div style="color: #222222; font-family: arial, sans-serif;">
it's all been done: release <b>1.1.0</b> is ready to be downloaded and used before you go on holidays! Thank you to the 3 committers and the always growing contributors for this fruit of the keyboard.</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<br /></div>
<div style="color: #222222; font-family: arial, sans-serif;">
Before to go in deep with this release an announcement: <a href="http://www.nuvolabase.com/" style="color: #1155cc;" target="_blank">NuvolaBase</a>, the company behind OrientDB, is working to the new "<b>OrientDB Enterprise</b>" product planned for September 2012. OrientDB is and will always remain <b>Open Source</b>, but companies asked us some "enterprise" features we want to provide as commercial product based on top of OrientDB server. So starting from the next release (1.2) we will have 2 lines of products:</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<ul>
<li style="margin-left: 15px;">OrientDB community and </li>
<li style="margin-left: 15px;">OrientDB enterprise</li>
</ul>
</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<b><span style="background-color: #ffffcc;">Release</span> 1.1.0</b></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="background-color: transparent;">Download as usual: </span><a href="http://code.google.com/p/orient/wiki/Download" style="background-color: transparent; color: #1155cc;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/wiki/Download</a> or click on the direct links:</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<ul>
<li style="margin-left: 15px;">OrientDB Embedded and Server: <a href="http://code.google.com/p/orient/downloads/detail?name=orientdb-1.1.0.zip" style="color: #1155cc;" target="_blank">http://code.google.<wbr></wbr>com/p/orient/downloads/detail?<wbr></wbr>name=orientdb-1.1.0.zip</a></li>
<li style="margin-left: 15px;">OrientDB Graph(ed): <a href="http://code.google.com/p/orient/downloads/detail?name=orientdb-graphed-1.1.0.zip" style="color: #1155cc;" target="_blank">http://<wbr></wbr>code.google.com/p/orient/<wbr></wbr>downloads/detail?name=<wbr></wbr>orientdb-graphed-1.1.0.zip</a></li>
</ul>
</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<div>
<b>What's new?</b></div>
<div>
<ul>
<li style="margin-left: 15px;">New <b>distributed server architecture</b> with balance of workload, full replication and management of failures</li>
<li style="margin-left: 15px;">New <b>MMAP </b>manager optimized for<b> 64bit</b> OS</li>
<li style="margin-left: 15px;"><b>Index</b>: new support for binary keys and collections in composite keys</li>
<li style="margin-left: 15px;">Support for in-memory database replication</li>
<li style="margin-left: 15px;"><b>Object Database</b> added support for cascade deletion, attach/detach, ENUM and binary data (ORecordBytes)</li>
<li style="margin-left: 15px;"><span style="color: #222222; font-family: arial, sans-serif;"><b>SQL</b>: new DROP CLUSTER command, INSERT now supports clusters,</span> new CREATE VERTEX and CREATE EDGE commands</li>
<li style="margin-left: 15px;">Support for <b>Gephi </b>visual tool</li>
<li style="margin-left: 15px;">50 bugs fixed</li>
</ul>
</div>
<div>
<span style="font-family: arial, sans-serif;">Full list: </span><span style="color: #222222; font-family: arial, sans-serif;"><a href="http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.1.0" style="color: #1155cc;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/issues/list?can=1&q=<wbr></wbr>label%3Av1.1.0</a></span></div>
<div>
<span style="color: #222222; font-family: arial, sans-serif;"><br /></span></div>
<div>
<b>Distributed architecture</b></div>
<div>
This is the most important feature of this release and allow to use OrientDB with multiple server nodes. To reach this goal OrientDB uses the <a href="http://www.hazelcast.com/" style="color: #1155cc;" target="_blank">Hazelcast</a> library that is licensed with the same OrientDB license: Apache 2.</div>
<div>
<br /></div>
<div>
Since the "old" replication commands are not more working the only way to get working a replication among multiple servers is to run OrientDB in distributed mode with all the servers having the same databases before to start.</div>
<div>
<br /></div>
<div>
<span style="color: #222222; font-family: arial, sans-serif;">To start it use </span><b>dserver.sh</b> (or dserver.bat under MS Windows systems) instead of the classic <a href="http://server.sh/bat" style="color: #1155cc;" target="_blank">server.sh/bat</a>. "<b>dserver</b>" script takes <b>config/</b><span style="color: #222222; font-family: arial, sans-serif;"><b>orientdb-dserver-<wbr></wbr>config.xml</b> as configuration instead of </span>config/<span style="color: #222222; font-family: arial, sans-serif;">orientdb-server-<wbr></wbr>config.xml<b>.</b></span></div>
<div>
<span style="color: #222222; font-family: arial, sans-serif;"><b><br /></b></span></div>
<div>
<b>Contribute to the OrientDB project (sorry but I can't stop to remember this)</b></div>
</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;">Please help <span style="background-color: #ffffcc;">OrientDB</span> to be more famous by writing a <b>short review</b> in your Blog, Magazines and Mailing Lists. The magic formula is: <b>More users</b> = <b>More test</b> = <b>More stable</b> = <b>More support</b> (drivers, plugins, etc).</span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;"><br /></span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><b>New MMAP</b></span></span></span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
In order to use the HW/SW resource at the maximum, starting from this release OrientDB brings in the distribution 3 new libraries to uses some low-level feature provided by the OS:</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<ul>
<li style="margin-left: 15px;"><span style="color: #222222; font-family: arial, sans-serif;">orientdb-nativeos-1.1.0.jar</span></li>
<li style="margin-left: 15px;"><span style="color: #222222; font-family: arial, sans-serif;">jna-3.4.0.jar</span></li>
<li style="margin-left: 15px;"><span style="color: #222222; font-family: arial, sans-serif;">platform.jar</span></li>
</ul>
</div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;"><span style="font-family: arial, sans-serif;">If these libraries are not available in the classpath, OrientDB will continue to use the standard Java runtime. This releases has a new MMAP manager optimized for 64bit systems. The older one remains available. To activate it set the system variable: </span><span style="font-family: 'courier new', monospace;">file.mmap.useOldManager=true</span><span style="font-family: arial, sans-serif;"> <wbr></wbr>at startup.</span></span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;"><br /></span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;"><span style="font-family: arial, sans-serif;"><b>Object Database</b></span></span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;">Far to provide a 100% compliant JPA interface, this release adds the support for cascade deletion, detach/attach of POJO, ENUM and the management of binary data by using the ORecordBytes objects directly by the POJO.</span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;"><br /></span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;">If you're a <b>Hibernate/JPA</b> user please don't try OrientDB Object Database interface, otherwise you will never go back to a OR-Mapping tool! :-) Some users is experiencing the usage of OrientDB through the Object Database interface + JRebel in Web Applications: this is the maximum of productivity because they can change the POJO classes at run-time without stop the JVM and OrientDB gets all the new POJO classes in a flash. Cool!</span></div>
<div style="color: #222222; font-family: arial, sans-serif;">
<span style="border-collapse: collapse;"><br /></span><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"></span></span></span>
<div style="border-collapse: collapse;">
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><b>Issues</b></span></span></span></div>
<span style="border-collapse: collapse;"><span style="border-collapse: collapse;"><span style="border-collapse: collapse;">
<div style="border-collapse: collapse;">
To report an issue please follow the suggestions posted <a href="https://groups.google.com/d/topic/orient-database/uDqnWjQ0uJE/discussion" style="color: #1155cc;" target="_blank">some days ago</a>, in particular attach the following information:</div>
<div>
<ul>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;"><b><span style="background-color: #fff2e6;"><span style="background-color: #ffffcc;">OrientDB</span></span> version</b>. Please don't forget this! If it's a SNAPSHOT please tell if it's from SVN (revision number) or from MAVEN</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">Operative System</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">32-bit or 64-bit</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">JVM version</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">RAM</span></span></li>
<li style="margin-left: 15px;"><span style="font-family: arial, sans-serif;"><span style="border-collapse: collapse;">Dump of configuration and profiler</span></span></li>
</ul>
</div>
<div style="border-collapse: collapse;">
To open a new issue: <a href="http://code.google.com/p/orient/issues/entry" style="color: #1155cc;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/issues/entry</a></div>
<div style="border-collapse: collapse;">
<br /></div>
<div style="border-collapse: collapse;">
<div>
<b>Professional Services</b></div>
<div>
All the professional services are provided by <a href="http://www.nuvolabase.com/" style="color: #1155cc;" target="_blank">NuvolaBase.com</a> Ltd.</div>
<div>
<b>Partnership</b></div>
<div>
We've built a new <b>Partnership Agreement</b> for companies interested to sell NuvolaBase or OrientDB services as "reseller" or "services partner". Please contact <a href="mailto:info@nuvolabase.com" style="color: #1155cc;" target="_blank">info@nuvolabase.com</a> to have more information about it.</div>
<div>
<br /></div>
<div>
<div style="color: black; font-family: arial;">
<span style="color: #222222; font-family: arial, sans-serif;"><b>Roadmap</b></span></div>
<div style="color: black; font-family: arial;">
<span style="color: #222222; font-family: arial, sans-serif;">The roadmap has been updated -> </span><a href="http://code.google.com/p/orient/wiki/Roadmap" style="color: #1155cc;" target="_blank">http://code.google.com/p/<wbr></wbr>orient/wiki/Roadmap</a>. Below the main features of the next release planned for September 2012:</div>
<div style="color: black; font-family: arial;">
<ul style="font-family: arial, sans-serif; max-width: 62em; padding-left: 25px;">
<li style="margin-bottom: 0.3em; margin-left: 15px;"><a href="http://code.google.com/p/orient/issues/detail?id=4&q=label%3Av1.2" rel="nofollow" style="color: #0000cc;" target="_blank">Stored procedure</a></li>
<li style="margin-bottom: 0.3em; margin-left: 15px;"><a href="http://code.google.com/p/orient/issues/detail?id=7&q=label%3Av1.2" rel="nofollow" style="color: #0000cc;" target="_blank">Inverse relationships</a></li>
<li style="margin-bottom: 0.3em; margin-left: 15px;"><a href="http://code.google.com/p/orient/issues/detail?id=161&q=label%3Av1.2" rel="nofollow" style="color: #0000cc;" target="_blank">Permission at record level</a></li>
<li style="margin-bottom: 0.3em; margin-left: 15px;"><a href="http://code.google.com/p/orient/issues/detail?id=657&q=label%3Av1.2" rel="nofollow" style="color: #0000cc;" target="_blank">Query Profiler</a></li>
<li style="margin-bottom: 0.3em; margin-left: 15px;"><a href="http://code.google.com/p/orient/issues/detail?id=907&q=label%3Av1.2" rel="nofollow" style="color: #0000cc;" target="_blank">Improved concurrency at storage layer</a></li>
</ul>
</div>
<div>
<br /></div>
Enjoy the summer,</div>
</div>
<div style="border-collapse: collapse;">
<div style="border-collapse: collapse;">
<span style="border-collapse: separate; font-family: arial;"><span style="border-collapse: collapse; font-family: arial, sans-serif;">Lvc@</span></span></div>
</div>
</span></span><div style="font-size: 12.727272033691406px;">
</div>
</span></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-69092092592208114282012-05-22T19:55:00.004+02:002012-05-22T20:03:11.138+02:00Released OrientDB 1.0.1 with the support of TinkerPop 2.0 technology stack<span style="font-family: Arial, Helvetica, sans-serif;">After the warn welcome to the release 1.0 of OrientDB with about 3,000 downloads in only one week, the </span><a href="http://www.nuvolabase.com/" style="font-family: Arial, Helvetica, sans-serif;">NuvolaBase</a><span style="font-family: Arial, Helvetica, sans-serif;"> Ltd and the Open Source </span><a href="http://www.orientdb.org/" style="font-family: Arial, Helvetica, sans-serif;">OrientDB</a><span style="font-family: Arial, Helvetica, sans-serif;"> community are proud to announce the release of the minor version 1.0.1. Since we started using the "Semantic Version" approach this number means that it's 100% compatible with 1.0. We fixed 8 issues: </span><a href="http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0.1" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">http://code.google.<wbr></wbr>com/p/orient/issues/list?can=<wbr></wbr>1&q=label%3Av1.0.1</a><span style="font-family: Arial, Helvetica, sans-serif;">.</span><br />
<div style="font-family: arial;">
<br /></div>
<div style="font-family: arial;">
The most important news is the support for the upcoming <a href="http://www.tinkerpop.com/">TinkerPop</a> 2.0 technology stack made possible thanks to the contribution of <a href="http://markorodriguez.com/">Marko Rodriguez</a>.</div>
<div style="font-family: arial;">
<br /></div>
<div style="font-family: arial;">
Thanks so much to all the <a href="http://thinkaurelius.com/team/">TinkerPop staff</a> to improve the GraphDB technologies every month!</div>
<div style="font-family: arial;">
<br /></div>
<div style="font-family: arial;">
OrientDB 1.0.1: <a href="http://code.google.com/p/orient/downloads/detail?name=orientdb-1.0.1.zip">http://code.google.com/p/orient/downloads/detail?name=orientdb-1.0.1.zip</a></div>
<div style="font-family: arial;">
OrientDB Graph Edition 1.0.1: <a href="http://code.google.com/p/orient/downloads/detail?name=orientdb-graphed-1.0.1.zip">http://code.google.com/p/orient/downloads/detail?name=orientdb-graphed-1.0.1.zip</a></div>
<div style="font-family: arial;">
<br /></div>
<div style="font-family: arial;">
Enjoy this new free release.</div>
<div style="font-family: arial;">
<br /></div>Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-13953307868168069362012-05-15T10:29:00.001+02:002012-10-01T02:34:01.766+02:00OrientDB release 1.0: the GraphDB market will never be the same<br />
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
Yes we did it: the long waited release 1.0 of OrientDB is finally out!</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
By looking back to the download history it was on May 2011, exactly 1 year ago, when we started to mark the releases with the "Release Candidate2 suffix (1.0rc1 was the first) because we thought the 1.0 was quite close. Well, to have a stable 1.0 we spent 1 year of work more made of fix, patches and a lot of new developments to reach this so waited release.</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
If you're following the list since a while you noticed that this is not only the fruit of my hands and my mind, but the entire effort of a community made today of 17 members and led by 4 committers: Andrey Lomakin, Artem Orobets, Luca Molino and me. Thank you so much!</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
Before to go in deep with the news remember that professional services are available through <a href="http://www.nuvolabase.com/site/professional.html" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">NuvolaBase</a> and partners. See below for more details.</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<b><span style="background-color: #ffffcc; background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Release</span> 1.0</b></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="background-color: transparent; background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Download as usual: </span><a href="http://code.google.com/p/orient/wiki/Download" style="background-color: transparent; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/wiki/Download</a>. Maven artifacts are uploading right now.</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
Or click on the direct links:</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<ul>
<li style="line-height: 17px; margin-left: 15px;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">OrientDB</span> Embedded and Server: <a href="http://code.google.com/p/orient/downloads/detail?name=orientdb-1.0.zip" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">http://code.google.<wbr></wbr>com/p/orient/downloads/detail?<wbr></wbr>name=orientdb-1.0.zip</a></li>
<li style="line-height: 17px; margin-left: 15px;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">OrientDB</span> Graph(ed): <a href="http://code.google.com/p/orient/downloads/detail?name=orientdb-graphed-1.0.zip" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">http://<wbr></wbr>code.google.com/p/orient/<wbr></wbr>downloads/detail?name=<wbr></wbr>orientdb-graphed-1.0.zip</a></li>
</ul>
</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<b>+ Changes</b></div>
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"></span><br />
<ul><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<li style="line-height: 17px;">new <b>Multi-Master Replication</b> architecture</li>
<li style="line-height: 17px;">new <b>Object Database</b> interface that use run-time enhancement. Now handles lazy loading, it's lighter and faster than before</li>
<li style="line-height: 17px;">new <b>OTraverse </b>class to traverse graphs via Java API using a stack-free approach</li>
<li style="line-height: 17px;"><b>Data segments</b>: added support for multiple ones and create/drop commands</li>
<li style="line-height: 17px;">new <b>ODocument.undo() </b>to revert local changes</li>
<li style="line-height: 17px;">new <b>Server Side Scripting</b> support</li>
<li style="line-height: 17px;">Query: new <b>context variables</b></li>
<li style="line-height: 17px;">Console: new <b>check database</b> command</li>
<li style="line-height: 17px;">Studio: improved <b>Graph </b>management</li>
<li style="line-height: 17px;">Improved <b>OSGi </b>support</li>
<li style="line-height: 17px;">Fixed more than 40 bugs</li>
</span></ul>
<span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span></div>
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"></span><br />
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Full list: <a href="http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/issues/list?can=1&q=<wbr></wbr>label%3Av1.0</a> </span></div>
<span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
</span></div>
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<br /></div>
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<b>Multi Master replication</b></div>
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
Some months ago we throw away old Mater-Slave replication because it didn't scale with high volumes of changes in favor of a brand new <a href="http://en.wikipedia.org/wiki/Multi-master_replication" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">Multi-Master</a>replication. In this release the replication is not yet rock solid, but this is our job for the next months. To know more look at the new WiKi page: <a href="http://code.google.com/p/orient/wiki/Replication" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/wiki/Replication</a>. The old command "share database" has been removed for a bunches of new commands to manage the cluster and replication:</div>
<ul>
<li style="line-height: 17px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">cluster status</span></li>
<li style="line-height: 17px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">copy database <database-name> <server-name>:<server-port> <database-type></span></li>
<li style="line-height: 17px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">replication start <database-name> <server-name>:<server-port></span></li>
<li style="line-height: 17px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">replication stop <database-name> <server-name>:<server-port></span></li>
<li style="line-height: 17px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">replication align <database-name> <server-name>:<server-port></span></li>
<li style="line-height: 17px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">replication get journal <database-name> <server-name>:<server-port></span></li>
<li style="line-height: 17px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">replication reset journal <database-name> <server-name>:<server-port></span></li>
<li style="line-height: 17px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">replication get conflicts <database-name></span></li>
</ul>
</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<b>Check database command</b></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
We've implemented the new "check database" command to execute a full scan of the database in search of errors and warnings. Example (-v stands for verbose)</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">> connect local:/temp/db/test admin admin</span></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: 'courier new', monospace; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">> check database -v</span></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<b>New Object Database interface</b></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
Since 1.0 you can use OrientDB like Hibernate and any RDBMS. Some JPA annotations are supported, but in the future it could be a full JPA compliant implementation. Current implementation uses <a href="http://www.jboss.org/javassist" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">JBoss Javassist</a> to instrument user classes at run-time and in transparent way. Lazy loading works well and performance in general are better than the previous Reflection based implementation. To know more look at <a href="http://code.google.com/p/orient/wiki/ObjectDatabase" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">Object Database</a>.</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<b>Server Side Scripting</b></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
OrientDB supports server side scripting. This is an example to execute a snippet of Javascript in the OrientDB server:</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<pre style="background-color: #eeeeee; border-width: 0px; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; max-width: 70em; padding: 0.5em; vertical-align: baseline; white-space: pre-wrap;">db.command( new OCommandScript("Javascript", "print('hello world')") ).execute();</pre>
</div>
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<br />
And this is to insert 1,000 records using the console and the new "<b>js</b>" command:<br />
<br /></div>
<div style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">
<pre style="background-color: #eeeeee; border-width: 0px; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; max-width: 70em; padding: 0.5em; vertical-align: baseline; white-space: pre-wrap;">orientdb> js for( i = 0; i < 1000; i++ ){ db.query( 'insert into jstest (label) values ("test'+i+'")' ); }</pre>
</div>
</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br />
The command "<b>jss</b>" is the same but executes the script into the OrientDB server and get back the result.</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<b>Release management</b></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
As proposed Daniel Kersten in this Group we're going to use the Semantic Version to enumerate release. For more information: <a href="http://semver.org/" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">http://semver.<wbr></wbr>org/</a>.</div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><b>Contribute to the <span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">OrientDB</span></span></span> project (sorry but I can't stop to remember this)</b></span><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Please help <span style="background-color: #ffffcc; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">OrientDB</span></span></span></span> to be more famous by writing a <b>short review</b> in your Blog, Magazines and Mailing Lists. The magic formula is: <b>More users = More test = More stable = More support</b> (drivers, plugins, etc).</span></span></span></div>
<div style="background-color: white; border-width: 0px; color: #222222; font-family: Arial, Helvetica, sans-serif; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><br /></span><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"></span></span></span>
<div style="border-collapse: collapse; border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><b>Issues</b></span></span></span></div>
<span style="border-collapse: collapse; border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border-collapse: collapse; border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border-collapse: collapse; border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<div style="border-collapse: collapse; border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
To report an issue please follow the suggestions posted <a href="https://groups.google.com/d/topic/orient-database/uDqnWjQ0uJE/discussion" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">some days ago</a>, in particular attach the following information:</div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<ul>
<li style="line-height: 17px; margin-left: 15px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><b><span style="background-color: #fff2e6; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-color: #ffffcc; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="background-image: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">OrientDB</span></span></span></span></span> version</b>. Please don't forget this! If it's a SNAPSHOT please tell if it's from SVN (revision number) or from MAVEN</span></span></li>
<li style="line-height: 17px; margin-left: 15px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Operative System</span></span></li>
<li style="line-height: 17px; margin-left: 15px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">32-bit or 64-bit</span></span></li>
<li style="line-height: 17px; margin-left: 15px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">JVM version</span></span></li>
<li style="line-height: 17px; margin-left: 15px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span></span></li>
<li style="line-height: 17px; margin-left: 15px;"><span style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: arial, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><span style="border-bottom-width: 0px; border-collapse: collapse; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Dump of configuration and profiler</span></span></li>
</ul>
</div>
<div style="border-collapse: collapse; border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
To open a new issue: <a href="http://code.google.com/p/orient/issues/entry" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">http://code.google.com/<wbr></wbr>p/orient/issues/entry</a></div>
<div style="border-collapse: collapse; border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="border-collapse: collapse; border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<b>Professional Services</b></div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
We're moving all the Professional Services from Orient Technologies to <a href="http://www.nuvolabase.com/" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">NuvolaBase.com</a> Ltd. All live contracts will be transferred and managed by <a href="http://www.nuvolabase.com/" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">NuvolaBase</a> Ltd company.</div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<b>Partnership</b></div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
We've built a new <b>Partnership Agreement</b> for companies interested to sell NuvolaBase or OrientDB services as "reseller" or "services partner". Please contact <a href="mailto:info@nuvolabase.com" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6611cc; cursor: pointer; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">info@nuvolabase.com</a> to have more information about it.</div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<b>Certification program</b></div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
We're finishing to define the Certification Program for OrientDB. All the committers will receive the "<b>OrientDB Joda</b>" level for free (valued about €200).</div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
Luca Garulli</div>
<div style="border-width: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
CEO NuvolaBase.com</div>
</div>
</span></span><div style="font-size: 13px;">
</div>
</span></div>
Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com3tag:blogger.com,1999:blog-5851842843035047708.post-8633933217471933022012-02-08T16:45:00.000+01:002012-02-08T16:47:01.453+01:00Working with persistent graphs using OrientDB<iframe allowfullscreen="" frameborder="0" height="270" src="http://www.youtube.com/embed/EDiIS0PH2uY?fs=1" width="480"></iframe><br />
<div>
<br /></div>
<div>
Luca Molino presented OrientDB at <a href="http://fosdem.org/2012/schedule/event/graphdb_orientdb">Fosdem</a> 2012 event in Brussels, Belgium. The demo was running on NuvolaBase</div>Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0tag:blogger.com,1999:blog-5851842843035047708.post-68857231693294621982012-02-02T19:43:00.001+01:002012-02-02T19:44:07.948+01:00NuvolaBase: the new NoSQL company behind OrientDB launches the first Graph Database in the Cloud<br />
<div>
<b id="internal-source-marker_0.32062107091769576"><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">London, UK - NuvolaBase Ltd is a London-based startup that is about to revolutionize the database market. Only two years ago this market was dominated by few big players such as Oracle, IBM and Microsoft. Something, in the last 24 months, has changed thanks to the “NoSQL” movement which focused on alternative solutions to the ordinary Relational DBMS’s due to the pressing and increasing demands for better performance and higher scalability.</span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Today the largest IT companies avail themselves of NoSQL solutions to manage Mission Critical projects. Google, Amazon, Microsoft, Facebook, Twitter, Disney, MTV, Craiglist and FourSquare are amongst the most famous ones.</span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">After just a year of testing, NuvolaBase comes out of Alpha version, offering a NoSQL database of high performance as a cloud-based service. This way the database is no longer a software component that needs installing, configuring and maintaining, but it becomes a distributed service that is always available on the internet.</span><br /><span style="font-family: Arial; font-size: 15px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">NuvolaBase is based on the OrientDB technology (www.orientechnologies.com), a Graph-Document DBMS released with Open Source license (Apache 2). OrientDB has in the more interestign features of other NoSQL solutions: ACID transactions, SQL as query language, handles relationships like graph connections (Graph-DB), it’s schema-full, schema-less (Document-DB) or schema-hybrid. It talks the Internet language, namely HTTP RESt and JSON, but it has also a binary protocol for the maximum of performance.</span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In the NuvolaBase web site you can create a FREE account in few minutes. To use the online database start with the web Studio tool, through API (many the supported languages) or just via HTTP. Since February there will be available the new business plans with advanced features like SSL support, geolocalization of requests, automatic backups and private instances connected in VPN to company networks.</span><br /><span style="font-family: Arial; font-size: 15px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Web Site: </span><a href="http://www.nuvolabase.com/"><span style="color: #000099; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">http://www.nuvolabase.com</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Follow us on Twitter: </span><a href="https://twitter.com/#!/nuvolabase"><span style="color: #000099; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">https://twitter.com/#!/nuvolabase</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">LinkedIn: </span><span style="color: #000099; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><a href="http://www.linkedin.com/company/nuvolabase-ltd">http://www.linkedin.com/company/nuvolabase-ltd</a></span></b></div>
<div>
<b><br /></b></div>Luca Garullihttp://www.blogger.com/profile/04523569178463279505noreply@blogger.com0