1. Home
  2. Introduction
    1. About This Manual
    2. Overview of OrientDB
      1. Editions
    3. Release 3.2
      1. What's new in OrientDB 3.2?
      2. Available Packages
      3. SQL Changes
      4. API Changes
      5. Known Issues
      6. Upgrading to OrientDB 3.2
    4. How to Report Bugs or Problems
    5. How to Get in Touch with OrientDB
    6. How to Contribute to OrientDB
    7. OrientDB Roadmap
  3. OrientDB in Five Minutes
    1. Install
    2. Create a DB
    3. Create the Java Application
    4. Connect to the DB and create the Schema
    5. Create your First Graph and Run Queries
  4. Getting Started
    1. Installation
    2. Run the server
    3. Run the console
    4. Run the Studio
    5. Documents, Vertices and Edges
    6. Classes, Schema and Constraints
    7. Demo Database
      1. Introduction
      2. Data Model
      3. Queries
        1. Profiles
        2. Friendship
        3. Customers
        4. Countries
        5. Orders
        6. Attractions
        7. Services
        8. Locations
        9. Reviews
        10. Recommendations
        11. Business Opportunities
        12. Polymorphism
        13. Shortest Paths
        14. Traverses
      4. Graph Portions
    8. Basic SQL
    9. Users, Roles and Security
    10. Distributed Architecture
    11. Tutorials
      1. Working with Graphs
      2. Using Schema with Graphs
      3. Setup a Distributed Database
      4. Working with Distributed Graphs
      5. Time Series
      6. Chat
      7. Key Value
      8. Queue system
      9. Import Tutorials
        1. Importing the Open Beer Database into OrientDB
        2. Importing the northwind Database from Neo4j
        3. Importing the movie Database from Neo4j
  5. General Information
    1. Supported Types
    2. Schema
    3. Inheritance
    4. Concurrency
    5. Indexing
      1. SB-Tree
      2. Hash
      3. Auto-Sharding
      4. Full Text
      5. Lucene Full Text
      6. Lucene Spatial Index
    6. Managing Dates
    7. Transactions
    8. Embedding the Server
    9. Available OrientDB Plugins
      1. Automatic Backup
      2. SysLog
      3. Mail
      4. JMX
      5. Rexster
      6. Gephi Graph Render
      7. spider-box
      8. 3rd Party Plugins
  6. Data Modeling
    1. Multi Tenant
    2. Basic Concepts
  7. OrientDB Programs
    1. OrientDB Server-Startup Programs
      1. server.sh
      2. dserver.sh
      3. Server Process
    2. OrientDB Client Programs
      1. Console
        1. Console Modes
        2. Console Commands
          1. Backup
          2. Browse Class
          3. Browse Cluster
          4. List Classes
          5. Cluster Status
          6. List Clusters
          7. List Servers
          8. List Server Users
          9. Check Database
          10. Config
          11. Config Get
          12. Config Set
          13. Connect
          14. Connect Env
          15. Create Database
          16. Declare Intent
          17. Dictionary Get
          18. Dictionary Keys
          19. Dictionary Put
          20. Dictionary Remove
          21. Disconnect
          22. Display Record
          23. Display Raw Record
          24. Drop Database
          25. Drop Server User
          26. Export Database
          27. Export Record
          28. Freeze DB
          29. Get
          30. Import Database
          31. Indexes
          32. Info
          33. Info Class
          34. Info Property
          35. Js
          36. Jss
          37. List Databases
          38. List Connections
          39. Load Record
          40. Load Script
          41. Open
          42. Profiler
          43. Properties
          44. Release DB
          45. Reload Record
          46. Repair Database
          47. Restore
          48. Set
          49. Set Server User
        3. Custom Console Commands
    3. OrientDB Administrative and Utility Programs
      1. backup
      2. shutdown
      3. stresstester
    4. OrientDB Data Import Programs
      1. orientdb-neo4j-importer
      2. oetl
  8. OrientDB Server Administration
    1. Installation
      1. Prerequisites
      2. Installation from Source
      3. Install as Service on Unix
      4. Install as Service on Windows
      5. Install with Docker
    2. Configuration
    3. Upgrade
      1. Backward Compatibility
      2. Upgrading a Distributed Environment
    4. Logs
    5. Event Scheduler
    6. Functions
      1. Creating Functions
      2. Using Functions
      3. Accessing the Database
      4. Server-side Functions
    7. Backup and Restore
      1. Incremental Backup and Restore
    8. Export and Import
      1. Export to & Import from JSON
        1. Export format
      2. Import From RDBMS
        1. To Document Model
        2. To Graph Model
      3. Import From Neo4j
        1. Import from Neo4j using GraphML
    9. Monitoring
      1. JMX
  9. OrientDB Tools
    1. Studio
      1. Overview of Menus and Panels
      2. Working with Databases
        1. Common Database Operations
        2. Database Management Panel
      3. Working with Data
        1. Browse Panel
          1. Querying Data
          2. Modifying Data
            1. Edit Document
            2. Edit Vertex
            3. Edit Edge
        2. Graph Editor
      4. Working with Schemas
        1. Schema Manager Panel
        2. Classes
        3. Properties
        4. Indexes
      5. Working with Functions
        1. Functions Management Panel
      6. Working with Users and Roles
        1. Security Manager Panel
        2. Users Management
        3. Roles Management
    2. Server-Level Commands
      1. CREATE DATABASE
      2. DROP DATABASE
      3. CREATE SYSTEM USER
      4. ALTER SYSTEM ROLE
      5. EXISTS SYSTEM USER
    3. Teleporter
      1. Installation and configuration
      2. Execution strategies
      3. Sequential executions and One-Way Synchronizer
      4. Import filters
      5. Inheritance
        1. Single Table Inheritance
        2. Table Per Class Inheritance
        3. Table Per Concrete Class Inheritance
      6. Import Configuration
    4. ETL
      1. Configuration
      2. Blocks
      3. Sources
      4. Extractors
      5. Transformers
      6. Loaders
      7. Import from CSV to a Graph
      8. Import a tree structure
      9. Import from JSON
      10. Import from RDBMS
      11. Import from DB-Pedia
      12. Import from Parse (Facebook)
    5. Neo4j to OrientDB Importer
  10. SQL Reference
    1. Introduction
      1. Querying Metadata
    2. SQL Syntax
      1. Projections
    3. SQL Commands
      1. Alter Class
      2. Alter Cluster
      3. Alter Database
      4. Alter Property
      5. Alter Security Policy
      6. Alter Sequence
      7. Create Class
      8. Create Cluster
      9. Create Edge
      10. Create Function
      11. Create Index
      12. Create Link
      13. Create Property
      14. Create Security Policy
      15. Create Sequence
      16. Create User
      17. Create Vertex
      18. Create View
      19. Delete
      20. Delete Edge
      21. Delete Vertex
      22. Drop Class
      23. Drop Cluster
      24. Drop Index
      25. Drop Property
      26. Drop Sequence
      27. Drop User
      28. Drop View
      29. Explain
      30. Find References
      31. Grant
      32. HA Remove Server
      33. HA Status
      34. HA Sync Cluster
      35. HA Sync Database
      36. HA Set
      37. Insert
      38. Live Select
      39. Live Unsubscribe
      40. Match
      41. Move Vertex
      42. Optimize Database
      43. Profile
      44. Rebuild Index
      45. Revoke
      46. Select
      47. Traverse
      48. Truncate Class
      49. Truncate Cluster
      50. Truncate Record
      51. Update
      52. Update Edge
    4. Filtering
    5. Functions
    6. Methods
    7. Batch
    8. Pagination
    9. Sequences and auto increment
    10. Pivoting with Query
    11. Command Cache
  11. APIs and Drivers
    1. Java API
      1. Java Multi-Model API
        1. Database creation and connection
        2. Manipulating data in Java
        3. Running SQL statements Java
        4. Defining Database Schema
          1. Classes
          2. Property
      2. Reference
        1. OClass
          1. addCluster()
          2. addClusterId()
          3. addSuperClass()
          4. count()
          5. createIndex()
          6. createProperty()
          7. dropProperty()
          8. existsProperty()
          9. getAllSubclasses()
          10. getAllSuperClasses()
          11. getAutoShardingIndex()
          12. getClassIndex()
          13. getClassIndexes()
          14. getClassInvolvedIndexes()
          15. getClusterIds()
          16. getDefaultClusterId()
          17. getIndexedProperties()
          18. getName()
          19. getProperty()
          20. getSubclasses()
          21. getSuperClassesNames()
          22. hasClusterId()
          23. hasPolymorphicClusterId()
          24. hasSuperClasses()
          25. isEdgeType()
          26. isVertexType()
          27. properties()
          28. propertiesMap()
          29. removeClusterId()
          30. removeSuperClass()
          31. setDefaultClusterId()
          32. setName()
          33. truncate()
          34. truncateCluster()
        2. OCluster
          1. close()
          2. delete()
          3. deleteRecord()
          4. exists()
          5. getFileName()
          6. getFirstPosition()
          7. getId()
          8. getLastPosition()
          9. getName()
          10. getNextPosition()
          11. getRecordSize()
          12. getTombstonesCount()
          13. hideRecord()
          14. open()
          15. truncate()
          16. updateRecord()
        3. ODatabaseDocument
          1. addCluster()
          2. begin()
          3. browseClass()
          4. browseCluster()
          5. close()
          6. command()
          7. commit()
          8. countClass()
          9. countClusterElements()
          10. createClass()
          11. createClassIfNotExists()
          12. createEdgeClass()
          13. createVertexClass()
          14. declareIntent()
          15. delete()
          16. dropCluster()
          17. execute()
          18. getActiveIntent()
          19. getClass()
          20. getClusterIdByName()
          21. getClusterNameById()
          22. getClusters()
          23. getDefaultClusterId()
          24. getMetadata()
          25. getName()
          26. getRecord()
          27. getRecordType()
          28. getTransaction()
          29. getURL()
          30. getUser()
          31. incrementalBackup()
          32. isActiveOnCurrentThread()
          33. isClosed()
          34. live()
          35. load()
          36. query()
          37. registerListener()
          38. newBlob()
          39. newEdge()
          40. newElement()
          41. newInstance()
          42. newVertex()
          43. rollback()
          44. save()
          45. truncateCluster()
          46. unregisterListener()
        4. ODatabaseSession
        5. ODatabaseListener
        6. OEdge
          1. getFrom()
          2. getTo()
          3. isLightweight()
        7. OElement
          1. asEdge()
          2. asVertex()
          3. getProperty()
          4. getPropertyNames()
          5. getSchemaType()
          6. isEdge()
          7. isVertex()
          8. removeProperty()
          9. setProperty()
        8. OFunction
          1. getCode()
          2. getId()
          3. getLanguage()
          4. getName()
          5. getParameters()
          6. isIdempotent()
          7. setCode()
          8. setIdempotent()
          9. setLanguage()
          10. setName()
          11. setParameters()
        9. OFunctionLibrary
          1. createFunction()
          2. dropFunction()
          3. getFunction()
          4. getFunctionNames()
        10. OIntent
        11. OLiveQueryMonitor
        12. OLiveQueryResultListener
          1. onCreate()
          2. onDelete()
          3. onEnd()
          4. onError()
          5. onUpdate()
        13. OMetadata
          1. getFunctionLibrary()
          2. getSchema()
        14. OProperty
          1. getDefaultValue()
          2. getLinkedClass()
          3. getLinkedType()
          4. getMax()
          5. getMin()
          6. getName()
          7. getType()
          8. isMandatory()
          9. isNotNull()
          10. isReadonly()
          11. setDefaultValue()
          12. setLinkedClass()
          13. setLinkedType()
          14. setMax()
          15. setMin()
          16. setName()
          17. setType()
        15. ORecordOperation
        16. OResult
        17. OResultSet
          1. close()
          2. edgeStream()
          3. elementStream()
          4. estimateSize()
          5. hasNext()
          6. next()
          7. remove()
          8. stream()
          9. vertexStream()
        18. ORID
        19. OrientDB
          1. create()
          2. createIfNotExists()
          3. drop()
          4. exists()
          5. list()
          6. open()
        20. ORule
        21. OSchema
          1. countClasses()
          2. createAbstractClass()
          3. createClass()
          4. dropClass()
          5. existsClass()
          6. getClass()
          7. getClassByClusterId()
          8. getClasses()
          9. getClassesRelyOnCluster()
          10. getOrCreateClass()
        22. OSecurityRole
          1. addRule()
          2. allow()
          3. getDocument()
          4. getName()
          5. getParentRole()
          6. getRuleSet()
          7. grant()
          8. hasRule()
          9. revoke()
          10. setParentRole()
        23. OSecurityUser
          1. addRole()
          2. allow()
          3. checkPassword()
          4. getAccountStatus()
          5. getDocument()
          6. getName()
          7. getPassword()
          8. getRoles()
          9. isRuleDefined()
          10. hasRole()
          11. removeRole()
          12. setAccountStatus()
          13. setName()
          14. setPassword()
        24. OServer
          1. addTemporaryUser()
          2. addUser()
          3. authenticate()
          4. dropUser()
          5. existsStoragePath()
          6. getAvailableStorageNames()
          7. getConfiguration()
          8. getDatabaseDirectory()
          9. getInstance()
          10. getInstanceByPath()
          11. getStoragePath()
          12. isActive()
          13. isAllowed()
          14. openDatabase()
          15. restart()
          16. saveConfiguration()
          17. shutdown()
          18. startup()
        25. OTransaction
          1. amountOfNestedTxs()
          2. begin()
          3. close()
          4. commit()
          5. getDatabase()
          6. getEntryCount()
          7. getInvolvedIndexes()
          8. getIsolationLevel()
          9. getNewRecordEntriesByClass()
          10. getNewRecordEntriesByCluster()
          11. getRecordEntry()
          12. getRecordOperations()
          13. getStatus()
          14. hasRecordCreation()
          15. rollback()
          16. setIsolationLevel()
        26. OType
        27. OVertex
          1. addEdge()
          2. getEdges()
          3. getVertices()
      3. TinkerPop 2.6 Graph API
        1. Tutorial
        2. Vertices and Edges
        3. Blueprints Extension
        4. Factory
        5. Schema
          1. Class
          2. Property
        6. Partitioned
        7. Lightweight Edges
        8. Graph Batch Insert
      4. Apache TinkerPop 3
      5. Document API
        1. Documents
      6. Live Query
        1. Live Query Intro
        2. Live Query vs Traditional Query
        3. Live Query in Java
      7. Object API
        1. Database
        2. POJO
        3. Attach
        4. Schema
        5. Binding
      8. Traverse
      9. Multi-Threading
        1. Usage
        2. Concurrency Control
      10. Transactions
      11. Fetching Strategies
      12. Graph Consistency
      13. Binary Data
      14. JPA
    2. JDBC Driver
    3. Scala API
    4. OrientJS Legacy - Node.js Driver
      1. Server API
      2. Database API
      3. Record API
      4. Class API
        1. Class
        2. Property
        3. Records
      5. Index API
      6. Function API
      7. Queries
        1. create()
        2. delete()
        3. fetch()
        4. insert()
        5. liveQuery()
        6. select()
        7. transform()
        8. traverse()
        9. update()
      8. Transactions
      9. Events
    5. OrientJS - Node.js Driver
      1. Reference
        1. Client API
        2. Session API
    6. PyOrient - Python Driver
      1. Client
        1. command()
        2. batch()
        3. data_cluster_add()
        4. data_cluster_count()
        5. data_cluster_data_range()
        6. data_cluster_drop()
        7. db_count_records()
        8. db_create()
        9. db_drop()
        10. db_exists()
        11. db_list()
        12. db_open()
        13. db_reload()
        14. db_size()
        15. get_session_token()
        16. query()
        17. query_async()
        18. record_create()
        19. record_delete()
        20. record_load()
        21. record_update()
        22. set_session_token()
        23. tx_commit()
          1. attach()
          2. begin()
          3. commit()
          4. rollback()
      2. OGM
        1. Connection
        2. Schemas
        3. Brokers
        4. Batch
        5. Scripts
    7. OrientDB-NET - C#/.NET Driver
      1. Server
        1. ConfigGet()
        2. ConfigList()
        3. ConfigSet()
        4. CreateDatabase()
        5. DatabaseExists()
        6. Databases()
        7. DropDatabase()
      2. Database
        1. Clusters()
        2. Command()
        3. GetClusterIdFor()
        4. GetClusterNameFor()
        5. GetClusters()
        6. Gremlin()
        7. Insert()
        8. JavaScript()
        9. Query()
        10. Select()
        11. SqlBatch()
        12. Update()
      3. Query
        1. Conditionals
        2. Limiters
        3. Sort
      4. Transaction
        1. Add()
        2. AddEdge()
        3. AddOrUpdate()
        4. Delete()
        5. GetPendingObject()
        6. Update()
    8. PhpOrient - PHP Driver
      1. Client
      2. Server
        1. dbCreate()
        2. dbDrop()
        3. dbExists()
        4. dbList()
      3. Database
        1. command()
        2. dataClusterAdd()
        3. dataClusterCount()
        4. dataClusterDrop()
        5. dataClusterDataRange()
        6. dbCountRecords()
        7. dbReload()
        8. dbSize()
        9. query()
        10. queryAsync()
        11. recordCreate()
        12. recordLoad()
        13. recordUpdate()
        14. sqlBatch()
      4. ClusterMap
        1. dropClusterID()
        2. getClusterID()
        3. getIdList()
      5. Record
        1. getOClass()
        2. getOData()
        3. getRid()
        4. jsonSerialize()
        5. recordSerialize()
        6. setOClass()
        7. setOData()
        8. setRid()
      6. ID
      7. Transaction
        1. attach()
        2. begin()
        3. commit()
        4. rollback()
    9. MarcoPolo - Elixir Driver
      1. Server
        1. create_db()
        2. db_exists?()
        3. distrib-config()
        4. drop_db()
      2. Database
        1. command()
        2. create_record()
        3. db_countrecords()
        4. db_reload()
        5. db_size()
        6. delete_record()
        7. live_query()
        8. live_query_unsubscribe()
        9. load_record()
        10. script()
        11. update_record()
      3. Types
      4. Structs
        1. BinaryRecord
        2. Date
        3. DateTime
        4. Document
        5. FetchPlan
        6. RID
    10. Javascript (legacy)
      1. Javascript API
    11. Rest API
    12. Gremlin API
  12. Security
    1. OrientDB Security Guide
    2. OrientDB Data Protection and Privacy
    3. Database security
    4. Server security
    5. Database encryption
    6. Secure SSL connections
    7. Security Configuration
    8. Kerberos Example
    9. Security v2.2 Code Changes
    10. Security v2.2 New Features
    11. Symmetric Key Authentication
  13. Distributed Architecture
    1. Lifecycle
    2. Configuration
      1. Server Manager
      2. Runtime Configuration
    3. Replication
    4. Sharding
    5. Data Centers
  14. Troubleshooting
    1. Java
    2. Memory Leak Detector
    3. Direct Memory Tracing
  15. Performance Tuning
    1. Tuning the Graph API
    2. Tuning the Document API
    3. Tuning the Object API
    4. Profiler
    5. Distributed Configuration Tuning
    6. OrientDB Stress Test Tool
  16. Enterprise Edition
    1. Dashboard
    2. Server Management
    3. Cluster Management
    4. Backup Management
    5. Server Profiler
    6. Security
    7. Teleporter
    8. Neo4j Importer
    9. Metrics
    10. Auditing
    11. Settings
  17. Internals
    1. System database
    2. Storages
      1. Memory storage
      2. PLocal storage
        1. Engine
        2. Disk-Cache
        3. WAL (Journal)
      3. Local storage (deprecated)
    3. Clusters
    4. Limits
    5. RidBag
    6. Custom Index Engine
    7. Caching
    8. Hooks - Triggers
      1. Dynamic Hooks
      2. Java (Native) Hooks
    9. Server
      1. Server Status
    10. Web Server
    11. Binary Protocol
      1. CSV Serialization
      2. Schemaless Serialization
      3. Commands
  18. Release Notes