Archive for the ‘OrientDB’ Category

Why OrientDB?

Tuesday, September 6th, 2016

Why OrientDB?

From the webpage:

Understanding the strengths, limitations and trade-offs among the leading DBMS options can be DIS-ORIENTING. Developers have grown tired of making compromises in speed and flexibility or supporting several DBMS products to satisfy their use case requirements.

Thus, OrientDB was born: the first Multi-Model Open Source NoSQL DBMS that combines the power of graphs and the flexibility of documents into one scalable, high-performance operational database.

In addition to great software, OrientDB also has a clever marketing department:

orientdb-tweet-640

That’s an image from an OrientDB tweet that sends you to the Why OrientDB? page.

What’s your great image to gain attention?

PS: I remember one from an IT zine in the 1990’s where employee’s were racing around the office on fire. Does that ring a bell with anyone? Seems like it was one of the large format, Computer Shopper size zines.

Spatial Module in OrientDB 2.2

Tuesday, August 23rd, 2016

Spatial Module in OrientDB 2.2

From the post:

In versions prior to 2.2, OrientDB had minimal support for storing and retrieving GeoSpatial data. The support was limited to a pair of coordinates (latitude, longitude) stored as double in an OrientDB class, with the possibility to create a spatial index against those 2 coordinates in order to speed up a geo spatial query. So the support was limited to Point.

In OrientDB v.2.2 we created a brand new Spatial Module with support for different types of Geometry objects stored as embedded objects in a user defined class

  • Point (OPoint)
  • Line (OLine)
  • Polygon (OPolygon)
  • MultiPoint (OMultiPoint)
  • MultiLine (OMultiline)
  • MultiPolygon (OMultiPlygon)
  • Geometry Collections

Along with those data types, the module extends OrientDB SQL with a subset of SQL-MM functions in order to support spatial data.The module only supports EPSG:4326 as Spatial Reference System. This blog post is an introduction to the OrientDB spatial Module, with some examples of its new capabilities. You can find the installation guide here.

Let’s start by loading some data into OrientDB. The dataset is about points of interest in Italy taken from here. Since the format is ShapeFile we used QGis to export the dataset in CSV format (geometry format in WKT) and import the CSV into OrientDB with the ETL in the class Points and the type geometry field is OPoint.

The enhanced spatial functions for OrientDB 2.2 reminded me of this passage in “Silences and Secrecy: The Hidden Agenda of Cartography in Early Modern Europe:”

Some of the most clear-cut cases of an increasing state concern with control and restriction of map knowledge are associated with military or strategic considerations. In Europe in the sixteenth and seventeenth centuries hardly a year passed without some war being fought. Maps were an object of military intelligence; statesmen and princes collected maps to plan, or, later, to commemorate battles; military textbooks advocated the use of maps. Strategic reasons for keeping map knowledge a secret included the need for confidentiality about the offensive and defensive operations of state armies, the wish to disguise the thrust of external colonization, and the need to stifle opposition within domestic populations when developing administrative and judicial systems as well as the more obvious need to conceal detailed knowledge about fortifications. (reprinted in: The New Nature of Maps: Essays in the History of Cartography, by J.B. Harley: Paul Laxton, John Hopkins, 2001. page 89)

I say “reminded me,” better to say increased my puzzling over the widespread access to geographic data that once upon a time had military value.

Is it the case that “ordinary maps,” maps of streets, restaurants, hotels, etc., aren’t normally imbued (merged?) with enough other information to make them “dangerous?”

If that’s true, the lack of commonly available “dangerous maps” is a disadvantage to emergency and security planners.

You can’t plan for the unknown.

Or to paraphrase Dibert: “Ignorance is not a reliable planning guide.”

How would you cure the ignorance of “ordinary” maps?

PS: While hunting for the quote, I ran across The Power of Maps by Denis Wood; with John Fels. Which has been up-dated: Rethinking the power of maps by Denis Wood; with John Fels and John Krygier. I am now re-reading the first edition and awaiting for the updated version to arrive.

Neither book is a guide to making “dangerous” maps but may awaken in you a sense of the power of maps and map making.

OrientDB 2.2 Beta – But Is It FBI Upgrade Secure?

Monday, February 22nd, 2016

OrientDB 2.2 Beta

From the post:

Our engineers have been working hard to make OrientDB even better and we’re now ready to share it with you! We’re pleased to announce OrientDB 2.2 Beta. We’re really proud of this release as it includes multiple enhancements in both the Community Edition and the the Enterprise Edition. Please note that this is still a beta release, so the software and documentation still have some rough edges to iron out.

We’ve focused on five main themes for this release: Security, Operations, Performance, APIs and Teleporter.

Security for us is paramount as customers are storing their valuable, critical and confidential data in OrientDB. With improved auditing and authentication, password salt and data-at-rest encryption, OrientDB is now one of the most secure DBMSs ever.

Operations

Our users have been asking for incremental backup, so we delivered. Now it’s ready to be tested! That’s not the only addition to version 2.2, as the new OrientDB Studio now replaces the workbench, adding a new architecture and new modules.

Performance

We’ve done multiple optimizations to the core engine and, in many cases, performance increased tenfold. Our distributed capabilities are also constantly improving and we’ve introduced fast-resync of nodes. This release supports the new configurable Graph Consistency to speed-up change operations against graphs.

APIs

“SQL is the English of databases” and we’re constantly improving our SQL access layer to simplify graph operations. New additions include Pattern Matching, Command Cache, Automated Parallel Queries and Live Query graduating from experimental to stable. OrientJS, the official Node driver, now supports native unmarshalling.

Teleporter

You may have heard rumors about a new, easy way to convert your relational databases to OrientDB. It’s time to formally release Teleporter: a new tool to sync with other databases and simplify migrations to OrientDB.

With the FBI attempting to enslave Apple to breach the security of all iPhones, I have to ask if the security features of OrientDB are FBI upgrade secure?

Same question applies to other software as well. OrientDB happens to be the first software release I have seen since the FBI decided it can press gang software vendors to subvert their own software security.

Thoughts on how to protect systems from upgrade removal of security measures?

Unlike the fictional terrorists being pursued by the FBI (ask the TSA, not one terrorist has been seen at a USA airport in the 5277 days since 9/11), the FBI poses a clear and present danger to the American public.

Tim Cook (Apple) and others should stop conceding the terrorist issue to the FBI. It just encourages their delusion to the detriment of us all.

You Can Backup OrientDB Databases on Ubuntu 14.04

Wednesday, February 17th, 2016

How To Back Up Your OrientDB Databases on Ubuntu 14.04

From the post:

OrientDB is a multi-model, NoSQL database with support for graph and document databases. It is a Java application and can run on any operating system; it’s also fully ACID-complaint with support for multi-master replication.

An OrientDB database can be backed up using a backup script and also via the command line interface, with built-in support for compression of backup files using the ZIP algorithm.

By default, backing up an OrientDB database is a blocking operation — writes to be database are locked until the end of the backup operation, but if the operating system was installed on an LVM partitioning scheme, the backup script can perform a non-blocking backup. LVM is the Linux Logical Volume Manager.

In this article, you’ll learn how to backup your OrientDB database on an Ubuntu 14.04 server.

I don’t know if it is still true, given the rate of data breaches, but failure to maintain useful backups was the #1 cause for sysadmins being fired.

If that is still true today (and it should be), pay attention to proper backup processes! Yes, its unimaginative, tedious, routine, etc. but a life saver when the system crashes.

Don’t buy into the replicas, RAID5, etc., rant. Yes, do all those things plus have physical backups that are store off-site on a regular rotation schedule.

The job you save may well be your own.

OrientDB Manual – version 1.7.8

Tuesday, August 26th, 2014

OrientDB Manual – version 1.7.8

From the post:

Welcome to OrientDB – the first Multi-Model Open Source NoSQL DBMS that brings together the power of graphs and the flexibility of documents into one scalable, high-performance operational database. OrientDB is sponsored by Orient Technologies, LTD.

OrientDB has features of both Document and Graph DBMSs. Written in Java and designed to be exceptionally fast: it can store up to 150,000 records per second on common hardware. Not only can it embed documents like any other Document database, but it manages relationships like Graph Databases with direct connections among records. You can traverse parts of or entire trees and graphs of records in a few milliseconds.

OrientDB supports schema-less, schema-full and schema-mixed modes and it has a strong security profiling system based on users and roles. Thanks to the SQL layer, OrientDB query language is straightforward and easy to use, especially for those skilled in the relational DBMS world.

Take a look at some OrientDB Presentations.

A new version of the documentation for OrientDB. I saw this last week but forgot to mention it.

Comments?

OrientDB 1.7 is out!

Sunday, June 1st, 2014

OrientDB 1.7 is out!

From the post:

Breaking news: OrientDB 1.7 is out! We made OrientDB faster than before and with new exciting features like Distributed Sharding, the support for Lucene indexes (Full-Text and GEO-Spatial), SSL connections, Parallel queries and more.

To download OrientDB 1.7 go to: http://www.orientechnologies.com/download/

What’s new?

Core

  • New “minimumclusters” to auto-create X clusters per class
  • New cluster strategy to pick the cluster. Available round-robin, default and balanced
  • Added record locking via API
  • Removed rw/locks on schema and index manager
  • Cached most used users and roles in RAM (configurable)

See the full listing of new features at the announcement or better yet, download OrientDB 1.7 and try the new features out!

Getting Started with OrientDB

Friday, January 10th, 2014

Getting Started with OrientDB by Petter Graff.

From the post:

In my previous blog post I praised the open-source database Orient DB. I’ve received many email from people since asking me questions about Orient DB or telling me that they’d love to try Orient DB out but don’t know where to start.

I though it is time for me to contribute to the Orient DB community and write a short tutorial for exactly this audience. Ideally, I’d like to ensure that if you sit through the videos below, you’d at least have an informed view of whether Orient DB is of interest to you, your project and your organization.

Think of this blog post as the first installment. I may come back with some more advanced tutorials later. This tutorial shows you how to:

  • Download and install Orient DB
  • Play with the Orient DB studio and perform queries on the Grateful Dead database provided with the community edition
  • Create your own database (again using Orient DB studio, perhaps later I’ll provide a tutorial to show how to do this from Node or Java)
  • Create server-side functions
  • Perform graph- and document-based queries over Orient DB

I hope this tutorial gives you a good idea of how Orient DB works and some of its power. I also hope it will help illustrate the reasons for my enthusiasm in the previous post where I argued the case for Orient DB. In this post I’ll focus on how you get started.

My only quibble with this post is:

I would assume only a percentage of the readers are familiar with Grateful Dead, so let me give you a few sentences about them.

Really? I guess it depends on what you mean by “percentage.” 1%? 2% ;-)

Excellent introduction! Forward and watch for future installments.

OrientDB. Thanks!!!

Thursday, December 19th, 2013

OrientDB. Thanks!!! by Peter Graff.

From the post:

Every now and then you come across open source projects that just amazes you. OrientDB is one of these projects.

I’ve always assumed that I’d have to use a polyglot persistence model in complex applications. I’d use a graph database if I want to traverse the information, I’d use a document database when I want schema less complex structures, and the list goes on.

OrientDB seems to have it all though. It is kind of the Swiss army knife of databases, but unlike a Swiss army knife, each of the tools is best of bread.

I’ve had a few experiences with applications built on OrientDB and also been spending some time testing and evaluating the database. I keep thinking back to projects that I’ve implemented in the past and wishing I had OrientDB to my disposal. Asking questions such as:

Among several interesting observations about OrientDB Peter writes:

Now, imagine each document in the document database as a vertex? Is that possible? OrientDB has done exactly that. Instead of each node being a flat set of properties, it can be a complete document (with nested properties).

Sound tempting?

Read Peter’s post first and then grab a copy of OrientDB.

Why Relationships are cool…

Sunday, December 8th, 2013

Why Relationships are cool but the “JOIN” sucks by Luca Garulli.

I have been trying to avoid graph “intro” slides and presentations.

There are only so many times you can stand to hear “…all the world is a graph…” as though that’s news. To anyone.

This presentation by Luca is different from the usual introduction to graphs presentation.

Most of my readers won’t learn anything new but it may bump them into thinking of new ways to advocate the use of graphs.

By the way, Luca is responsible for OrientDB.

OrientDB version 1.6.1 was released on November 20, 2013, so if you haven’t looked at OrientDB in a while, now might be the time.

OrientDB becomes distributed…

Friday, November 8th, 2013

OrientDB becomes distributed using Hazelcast, leading open source in-memory data grid

From the post:

Hazelcast and Orient Technologies today announced that OrientDB has gained a multi-master replication feature powered by Hazelcast.

Clustering multiple server nodes is the most significant feature of OrientDB 1.6. Databases can be replicated across heterogeneous server nodes in multi-master mode achieving the best of scalability and performance.

“I think one of the added value of OrientDB against all the NoSQL products is the usage of Hazelcast while most of the others use Yahoo ZooKeeper to manage the cluster (discovery, split brain network, etc) and something else for the transport layer.” said Luca Garulli, CEO of Orient Technologies. “With ZooKeeper configuration is a nightmare, while Hazelcast let you to add OrientDB servers with ZERO configuration. This has been a big advantage for our clients and everything is much more ‘elastic’, specially when deployed on the Cloud. We’ve used Hazelcast not only for the auto-discovery, but also for the transport layer. Thanks to this new architecture all our clients can scale up horizontally by adding new servers without stopping or reconfigure the cluster”.

“We are amazed by the speed with which OrientDB has adopted Hazelcast and we are delighted to see such excellent technologists teaming up with Hazelcast.” said Talip Ozturk, CEO of Hazelcast. “We work hard to make the best open source in-memory data grid on the market and are happy to see it being used in this way.” (emphasis added)

It was just yesterday that I was writing about configuration issues in the Hadoop ecosystem, that includes Zookeeper. Hadoop Ecosystem Configuration Woes?

Where there is smoke, is there fire?

An empirical comparison of graph databases

Friday, September 13th, 2013

An empirical comparison of graph databases by Salim Jouili and Valentin Vansteenberghe.

Abstract:

In recent years, more and more companies provide services that can not be anymore achieved efficiently using relational databases. As such, these companies are forced to use alternative database models such as XML databases, object-oriented databases, document-oriented databases and, more recently graph databases. Graph databases only exist for a few years. Although there have been some comparison attempts, they are mostly focused on certain aspects only.

In this paper, we present a distributed graph database comparison framework and the results we obtained by comparing four important players in the graph databases market: Neo4j, OrientDB, Titan and DEX.

(Salim Jouili and Valentin Vansteenberghe, An empirical comparison of graph databases. To appear in Proceedings of the 2013 ASE/IEEE International Conference on Big Data, Washington D.C., USA, September 2013.)

For your convenience:

DEX

Neo4j

OrientDB

Titan

I won’t reproduce the comparison graphs here. The “winner” depends on your requirements.

Looking forward to seeing this graph benchmark develop!

OrientDB 1.5.1

Tuesday, September 3rd, 2013

Release OrientDB 1.5.1 containing hot-fixes for 1.5 by Luca Garulli.

From the post:

Orient Technologies has just released the version 1.5.1 of OrientDB Standard and Graph Editions.

It pays to keep up to date.

Encounter the latest problems instead of old ones.

As they say, “use the latest version Luke!” ;-)

OrientDB Graph Database 1.5!

Thursday, August 1st, 2013

Version 1.5 of OrientDB Graph Database has just been released to the planet! by Luca Garulli.

From the post:

This release could actually be named 2.0 for all the various new features:

  • New PLOCAL (Paginated Local) storage engine.  In comparison with LOCAL, it’s more durable (no usage of MMAP) and supports better concurrency on parallel transactions.
  • New Hash Index type with better performance on lookups. It does not support ranges.
  • New “transactional” SQL command to execute commands inside a transaction. This is useful for the “create edge” SQL command, in order to avoid corruption of the graph
  • Import now migrates RIDs, allowing the ability to import database objects in a different one from the original 
  • Breadth first” strategy added on traversing (Java andSQL APIs)
  • Server can limit maximum live connections (to prevent DOS)
  • Fetch plan support in SQL statements and in binary protocol for synchronous commands too
  • Various bug fixes

For all the issues: https://github.com/orientechnologies/orientdb/issues?milestone=5&page=1&state=closed

Certainly does sound like a 2.0 release!

Released OrientDB v1.4:…

Saturday, June 8th, 2013

Released OrientDB v1.4: new TinkerPop Blueprints API and many other features

From the post:

NuvolaBase is glad to announce the new release 1.4 of OrientDB: http://www.orientdb.org/download.htm!

What’s new with 1.4?

  • Graph: total rewrite of TinkerPop Blueprints API that now are the default Java interface, support for light-weight edges (no document), labeled relationships using separate classes and vertex fields
  • Storage: new Paged-Local compressed “plocal” engine  (not yet transactional)
  • SQL: INSERT and UPDATE supports JSON syntax, improved usage of indexes upon ORDER BY, supported 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
  • new SCHEDULER component using CRON syntax
  • new OTriggered class to use JS as hook
  • MMap: auto flush of pages on regular basis
  • Fetch-plan: support for skip field using “-2″
  • Index: auto rebuild in background, usage of different data-segment
  • Export: supported partial export like schema, few clusters, etc.
  • Console: improved formatting of resultsets
  • HTTP: new /batch command supporting transaction too, faster connection through /connect command, /document returns a JSON
  • StudioUML display of class

I did not mean to get so distracted yesterday writing about useless projects that I would neglect very useful ones, like the new release of OrientDB!

The “light-weight edges” sounds particularly interesting.

With no documentation you could not reliably merge the edges but as a design decision, that could be entirely appropriate.

You are always going to be faced with decisions of what subjects are represented at all and to what extent.

Nice to have a mechanism that doesn’t make that an entirely binary decision.

XDGBench: 3rd party benchmark results against graph databases [some graph databases]

Tuesday, April 30th, 2013

XDGBench: 3rd party benchmark results against graph databases by Luca Garulli.

From the post:

Toyotaro Suzumura and Miyuru Dayarathna from the Department of Computer Science of the Tokyo Institute of Technology and IBM Research published an interesting research about a benchmark between Graph Databases in the Clouds called:

XGDBench: A Benchmarking Platform for Graph Stores in Exascale Clouds”

This research conducts a performance evaluation of four famous graph data stores AllegroGraph, Fuseki, Neo4j, an OrientDB using XGDBench on Tsubame 2.0 HPC cloud environment. XGDBench is an extension of famous Yahoo! Cloud Serving Benchmark (YCSB).

OrientDB is the faster Graph Database among the 4 products tested. In particular OrientDB is about 10x faster (!) than Neo4j in all the tests.

Look at the Presentation (25 slides) and Research PDF.

Researchers are free to pick any software packages for comparison but the selection here struck me as odd before reading a comment on the original post asking for ObjectivityDB be added to the comparison.

For that matter, where are GraphChi, Infinite Graph, Dex, Titan, FlockDB? Just to call a few of the other potential candidates out.

Will be interesting when a non-winner on such a benchmark cites it for the proposition that easy of use, reliability, lower TOC outweighs brute speed in a benchmark test.

A Comparison of 7 Graph Databases

Sunday, January 20th, 2013

A Comparison of 7 Graph Databases by Alex Popescu.

Alex links to a graphic from InfiniteGraph that compares Infinite Graph, Neo4j, AllegroGraph, Titan, FlockDB, Dex and OrientDB.

The graphic is nearly unreadable so Alex embeds and points to a GoogleDoc spreadsheet by Peter Karussell that you will find easier to view.

Thanks Alex and Peter!

OrientDB 1.3 with new SQL functions and better performance

Sunday, December 23rd, 2012

OrientDB 1.3 with new SQL functions and better performance

From the post:

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

What’s new with 1.3?

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

Now that’s good tidings for Christmas!

Gephi Blueprints plugin

Wednesday, November 7th, 2012

Gephi Blueprints plugin by David Suvee.

From the homepage:

The Gephi Blueprints plugin allows a user to import graph-data from any graph database that implements the Tinkerpop Blueprints generic graph API. Out of the box, the plugin provides support for TinkerGraph, Neo4j, OrientDB, Dex and RexterGraph. Additionally, it also provides support for the FluxGraph temporal graph database.

Excellent!

Not to mention having a short list of interesting graph software to boot!

Persistent Graphs with OrientDB

Thursday, February 9th, 2012

Persistent Graphs with OrientDB by Luca Molino.

Description:

This talk will present OrientDB open source project and its capability to handle persistent graphs in different ways. OrientDB presentation Java Graph Native API SQL+graph extensions HTTP API Blueprints API Gremlin usage Console tool Studio web tool.

Having the slides would make this presentation much easier to follow.

The phrase “persistent graph” is used in this and other presentations with no readily apparent definition.

Wikipedia was up today so I checked the term Persistent Data Structure, but nothing in that article had anything in common (other than data, data structure) with the presentation.

I suspect that “persistent graph” is being used to indicate that data is being stored and different queries can be run against the data (without changing the data). I am not sure that merits an undefined term.

OrientDB: http://www.orientechnologies.com

Released OrientDB v1.0rc7

Monday, December 5th, 2011

Released OrientDB v1.0rc7: Improved transactions and first Multi-Master replication (alpha)

From the post:

Hi all, after about 2 months a new release is available for all: OrientDB 1.0rc7.

OrientDB embedded and server: http://code.google.com/p/orient/downloads/detail?name=orientdb-1.0rc7.zip
OrientDB Graph(ed): http://code.google.com/p/orient/downloads/detail?name=orientdb-graphed-1.0rc7.zip

According to the community answer this release should contains the new management of links using the OMVRB-Tree, but it’s in alpha stage yet and will be available in this week as 1.0rc8-SNAPSHOT. I preferred to release something really stable with all the 34 issues fixed (more below) till now. Furthermore tomorrow the TinkerPop team will release the new version of its amazing technology stack (Blueprints, Gremlin, etc.) and we couldn’t miss the chance to include latest release of OrientDB with it, don’t you?

Thanks to all the contributors every weeks more!

Changes

  • Transactions: Improved speed, up to 500x! (issue 538)
  • New Multi-Master replication (issue 589). Will be final in the next v1.0
  • SQL insert supports MAP syntax (issue 582), new date() function
  • HTTP interface: JSONP support (issue 587), new create database (issue 566), new import/export database (issue 567, 568)
  • Many bugs fixed, 34 issues in total

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc7

Thanks Luca!

NuvolaBase.com

Wednesday, November 16th, 2011

NuvolaBase.com

I was surprised to see this at the end of the OrientDB slides on the multi-master architecture, “the first graph database on the Cloud,” but I am used to odd things in slide decks. ;-)

From the FAQ:

What is the technology behind NuvolaBase?

NuvolaBase is a cloud of several OrientDB servers deployed in multiple data centers around the globe.

What is the architecture of your cloud?

The cloud is based on multiple servers in different server farms around the globe. This guarantee low latency and high availability. Today we have three server farms, two in Europe and one in USA. We’ve future plans to expand the cloud in China and South America.

Oh, did I mention that during the beta test is it free?

OrientDB – Distributed Architecture…

Wednesday, November 16th, 2011

OrientDB – Distributed Architecture with a Multi-Master Approach (available version 1.0, due December 2011) by Luca Garulli.

Tossing old master/slave approach in favor of a multi-master approach.

Great set of slides! One more reason to be looking forward to December!

Pilot

Sunday, October 23rd, 2011

Pilot

From the readme file:

Pilot is a graph database operator that allows you to perform common application-level operations on graph databases without delving into the details of their implementation or requiring knowledge of the component technologies.

Pilot aims to support graph databases conforming to the property graph model. Pilot employs technologies from the Tinkerpop stack — specifically Blueprints and Gremlin — for general access and manipulation of the underlying graph database, but also uses native graph database APIs to further optimize performance for certain operations. In addition, Pilot also handles multithreading and transaction management, while keeping all of these abstracted away from the calling application. As such, Pilot is ideally suited for use in concurrent web applications.

  • Supported graph database providers:
    • OrientDB
    • Neo4j
    • Tinkergraph (the Blueprints in-memory reference implementation)
    • (others may be added in future if there is demand)
  • Some of the functionality currently supported by Pilot include:
    • Get edges between given vertices
    • Get neighbors of a given vertex
    • Retrieving vertices corresponding to some properties (see Property Graph Model)
    • Transaction management
    • Thread synchronization for multithreaded access
    • Large commit optimization
    • Application profiling
  • Planned additions:

Graph databases aren’t a new idea. I don’t have the reference at hand but once ran across a relational database that was implemented as a hypergraph. It may be that computing power has finally gotten to the point that graph databases, or at least their capabilities, will be the common expectation.

OrientDB version 1.0rc6

Friday, October 14th, 2011

OrientDB version 1.0rc6

From the post:

Hi all,
after some delays the new release is between us: OrientDB 1.0rc6. This is supposed to be the latest SNAPSHOT before official the 1.0.

Before to go in deep with this release I’d like to report you the chance to hack all together against OrientDB & Graph stuff at the next Berlin GraphDB Dojo event: http://www.graph-database.org/2011/09/28/call-for-participations-berlin-dojo/.

Direct download links

OrientDB embedded and server: http://code.google.com/p/orient/downloads/detail?name=orientdb-1.0rc6.zip
OrientDB Graph(ed): http://code.google.com/p/orient/downloads/detail?name=orientdb-graphed-1.0rc6.zip

List of changes

  • SQL engine: improved link navigation (issue 230)
  • Console: new “list databases” command (issue 389)
  • Index: supported composite indexes (issue 405), indexing of collections (issue 554)
  • JPA: supported @Embedded (issue 436) and @Transient annotations
  • Object Database: Disable/Enable lazy loading (issue 563)
  • Server: new Automatic backup task (issue 556), now installable as Windows Service (issue 61)
  • Client: Load balancing in clustered configuration (issue 557)
  • 34 issues closed

This looks great!

I want to call your attention to the composite indexes issue (issue 405). An index built across multiple fields. Hmmm, composite identifiers anyone?

OrientDB JDBC Driver

Monday, October 10th, 2011

OrientDB JDBC Driver

From the project page:

OrientDB (http://code.google.com/p/orient/) is a NoSql DBMS that support a subset of SQL ad query languge.

This project is an effort to develop a JDBC driver for OrientDB

Perhaps the familiar may temp DB programmers into unfamiliar territory?

OrientDB v1.0rc5 New

Monday, August 22nd, 2011

OrientDB v1.0rc5: improved index and transactions, better crossing of trees and graphs

Just quickly:

  • SQL engine: new [] operator to extract items from lists, sets, maps and arrays
  • SQL engine: ORDER BY works with projection alias
  • SQL engine: Cross trees and graphs in projections
  • SQL engine: IN operator uses Index when available
  • Fixed all known bugs on transaction recovery
  • Rewritten the memory management of MVRB-Tree: now it’s faster and uses much less RAM
  • Java 5 compatibility of common and core subprojects
  • 16 issues fixed in total

Full list: http://code.google.com/p/orient/issues/list?can=1&q=label%3Av1.0rc5

Index With Performance Close to Linear (was: Index With Linear Performance Close to Constant)

Monday, August 15th, 2011

I don’t have a link (yet) but @lgarulli reports that OrientDB’s new index has a measured growth factor of 0,000006 per entry stored.

Will update when more information becomes available.

See OrientDB.

Although for the new index you will need the sources I suspect: OrientDB sources.


Lars suggested the correction when this post appeared but I never quite got around to changing it. Preserved the original as I dislike content that changes under foot.

OrientDB v1.0rc4

Monday, August 1st, 2011

OrientDB v1.0rc4

In case you haven’t read about OrientDB before:

OrientDB is a new Open Source NoSQL DBMS born with the best features of all the others. It’s written in Java and it’s amazing fast: can store up to 150,000 records per second on common hardware. Even if it’s Document based database the relationships are managed as in Graph Databases with direct connections among records. You can travere entire or part of trees and graphs of records in few milliseconds. Supports schema-less, schema-full and schema-mixed modes. Has a strong security profiling system based on user and roles and support the SQL between the query languages. Thank to the SQL layer it’s straightforward to use it for people skilled in Relational world.

The list of latest changes.

From the latest announcement:

Please help OrientDB to be more famous by writing a short review in your Blog, Magazines and Mailing Lists. The magic formula is: More users = More test = More stable = More support (drivers, plugins, etc).

That’s clear enough! ;-)

bulbflow

Saturday, July 16th, 2011

bulbflow: a Python framework for the graph era

From the Overview:

Bulbs is an open-source Python persistence framework for graph databases and the first piece of a larger Web-development toolkit that will be released in the upcoming weeks.

It’s like an ORM for graphs, but instead of SQL, you use the graph-traveral language Gremlin to query the database.

You can use it to connect to any Blueprints-enabled
database, including TinkeGraph, Neo4j, OrientDB, Dex, and OpenRDF (and there is an InfiniteGraph implementation in development).

This means your code is portable because you can to plug into different graph database backends without worrying about vendor lock in.

Bulbs was developed in the process of building Whybase, a startup that will open for preview this fall. Whybase needed a persistence layer to model its complex relationships, and Bulbs is an open-source version of that framework.

You can use Bulbs from within any Python Web-development framework, including Flask, Pyramid, and Django.

Will be watching for future developments!

OrientDB 1.0rc3 – Graph(Ed)

Friday, July 15th, 2011

OrientDB 1.0rc3 – Graph(Ed)

From the webpage:

This is a special edition of OrientDB with these TinkerPop technologies in bundle:

  • Blueprints provides a collection of interfaces and implementations to common, complex data structures. In short, Blueprints provides a one stop shop for implemented interfaces to help developers create software without being tied to particular underlying data management systems.
  • Gremlin is a Turing-complete, graph-based programming language designed for key/value-pair multi-relational graphs. Gremlin makes use of an XPath-like syntax to support complex graph traversals. This language has application in the areas of graph query, analysis, and manipulation.
  • Pipes is a graph-based data flow framework for Java 1.6+. A process graph is composed of a set of process vertices connected to one another by a set of communication edges. Pipes supports the splitting, merging, and transformation of data from input to output.

The graph community just keeps getting stronger.