Orientdb is an open source graph/document database. It supports various language bindings and plug-ins.

On top of that, it supports TinkerPop Blueprints and Java Data Objects(JDO). The TinkerPop Blueprints are particularly interesting as they provide a graph database Domain Specific Language (DSL) to operate directly on the graph structure.

This all looks like a solid foundation for a Configuration Management Data Base (CMDB), starting with capturing infrastructure information (server connections, service dependencies) in a graph, using a standardized information model structure, and storing configuration item (CI) details as documents.

Goal for the week is to have all the classes of the current CIM model reflected in the database.

Looking for hackers with the skills:

graphdb cmdb ruby java

This project is part of:

Hack Week 10

Activity

  • almost 9 years ago: yac disliked this project.
  • over 10 years ago: yac liked this project.
  • over 10 years ago: kwk added keyword "graphdb" to this project.
  • over 10 years ago: kwk added keyword "cmdb" to this project.
  • over 10 years ago: kwk added keyword "ruby" to this project.
  • over 10 years ago: kwk added keyword "java" to this project.
  • over 10 years ago: bmaryniuk joined this project.
  • over 10 years ago: bmaryniuk liked this project.
  • over 10 years ago: kwk started this project.
  • over 10 years ago: kwk originated this project.

  • Comments

    • kwk
      over 10 years ago by kwk | Reply

      This plugin connects OrientDB with Pacer for easy graph manipulation and traversal in Ruby

    • kwk
      over 10 years ago by kwk | Reply

      OrientDB supports a graph and a database model. When setting up the database, one has to choose one model. This presentation recommends to use the graph model for our purpose.

    • kwk
      over 10 years ago by kwk | Reply

      Install OrientDB from here. Then (as root) edit /usr/share/orientdb/config/orientdb-server-config.xml and insert <user name="MyUser" password="MyPassword" resources="*"/> between the <users> tags. Then (as root) systemctl start orientdb.service

      Run the console with orientdb

      Connect to database with connect remote:localhost MyUser MyPassword

    • kwk
      over 10 years ago by kwk | Reply

      Install OrientDB from here. Then (as root) edit <tt>/usr/share/orientdb/config/orientdb-server-config.xml</tt> and insert <pre> <user name="MyUser" password="MyPassword" resources="*"/> </pre> between the <tt><users></tt> tags.

      Then (as root) <pre> systemctl start orientdb.service </pre>

      Run the console with <pre> orientdb </pre>

      Connect to database with <pre> connect remote:localhost MyUser MyPassword </pre>

    • kwk
      over 10 years ago by kwk | Reply

      More about user creation and privileges here

    • kwk
      over 10 years ago by kwk | Reply

      Success !! CIM class schema graph view

    • kwk
      over 10 years ago by kwk | Reply

      I consider this project done. The importer code is not perfect but creates classes and parent relationships.

      Next step: Class properties, then instances, then instance associations

    • kwk
      over 10 years ago by kwk | Reply

      Oh, you also need the graph branch of my fork of orientdb4r

    • bmaryniuk
      over 10 years ago by bmaryniuk | Reply

      Most of the time I was looking how to store the actual instances into the Graph database and recursively traverse a CIM instance. The current SrMF project (https://github.com/isbm/srmf) already can clone the system with KIWI as well as it can describe the whole service, as long all XML definitions and XSL transformations are there to the basic CIM providers.

      The extension from the Hackweek now also allows to store the data into Object Database (Orient DB in this case) and manipulate it there. The next step for SrMF would be to distribute the database into a grid, where each local node describes only itself but the client tool queries the entire grid. There are plans to support Titan distributed graph database for really big scales (http://thinkaurelius.github.io/titan/) which is running on top of Hadoop. However, the primary focus is to support CMDB in smaller cases within the Orient DB cluster, which is already capable to hold billions of vertexes anyway. :)

      Please note, that an alternative attempt to re-implement SrMF (https://github.com/isbm/srmf) once again is "Project Alfred".

    Similar Projects

    Dawnscanner: parsing a simple sinatra application by pperego

    [comment]: # (Please use the project descriptio...


    Modernize SCC Customer Management and/or Patchfinder by digitaltomm

    [comment]: # (Please use the project descriptio...


    Reduce the amount of TODOs for RuboCop in OBS by enavarro_suse

    Project Description

    The OBS project has a...


    Catalog/Online Store for a bakery in Rails 7 by gfilippetti

    [comment]: # (Please use the project descriptio...