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 mad skills in:

graphdb cmdb ruby java

This project is part of:

Hack Week 10

Activity

  • almost 4 years ago: yac disliked Capture datacenter infrastructure information in a graph database
  • over 5 years ago: yac liked Capture datacenter infrastructure information in a graph database
  • over 5 years ago: kwk added keyword "java" to Capture datacenter infrastructure information in a graph database
  • over 5 years ago: kwk added keyword "ruby" to Capture datacenter infrastructure information in a graph database
  • over 5 years ago: kwk added keyword "cmdb" to Capture datacenter infrastructure information in a graph database
  • Show History

    Comments

    • kwk
      over 5 years ago by kwk | Reply

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

    • kwk
      over 5 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 5 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 5 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 5 years ago by kwk | Reply

      More about user creation and privileges here

    • kwk
      over 5 years ago by kwk | Reply

      Success !! CIM class schema graph view

    • kwk
      over 5 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 5 years ago by kwk | Reply

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

    • bmaryniuk
      over 5 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

    Bookworm, the educational tool by kwwii

    Create a system to allow a community to add con...


    Bean Counter - libre calorie tracker app for Android by gniebler

    To teach myself Java coding and Android develop...


    The Team Dashboard Web Application by lslezak

    Why a Dashboard?

    In the YaST team we use q...


    Access Files in Machinery's System Descriptions Using FUSE by tgoettlicher

    Machinery's system descriptions can contain fil...


    SUSE Manager/Spacewalk client debug/test shell by dmacvicar

    When developing for SUSE Manager, it gets tires...