1. Home
  2. Introduction
    1. About This Manual
    2. Overview of OrientDB
      1. Editions
    3. Release 3.0
      1. What's new in OrientDB 3.0?
      2. Available Packages
      3. SQL Changes
      4. API Changes
      5. Known Issues
      6. Upgrading to OrientDB 3.0
    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. Create Database
          15. Declare Intent
          16. Dictionary Get
          17. Dictionary Keys
          18. Dictionary Put
          19. Dictionary Remove
          20. Disconnect
          21. Display Record
          22. Display Raw Record
          23. Drop Database
          24. Drop Server User
          25. Export Database
          26. Export Record
          27. Freeze DB
          28. Get
          29. Import Database
          30. Indexes
          31. Info
          32. Info Class
          33. Info Property
          34. Js
          35. Jss
          36. List Databases
          37. List Connections
          38. Load Record
          39. Load Script
          40. Profiler
          41. Properties
          42. Release DB
          43. Reload Record
          44. Repair Database
          45. Restore
          46. Set
          47. 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
      7. Backups, Imports and Exports
        1. Backup Management Panel
        2. Integration with Teleporter
        3. Integration with the Neo4j to OrientDB Importer
      8. Server Management
        1. Dashboard Panel
        2. Servers Management Panel
        3. Cluster Management Panel
          1. Data Centers
        4. Query Profiler Panel
        5. Security Panel
          1. Server Auditing
        6. Alerts Management Panel
      9. Studio Backup Management
      10. Teleporter
      11. Neo4j to OrientDB Importer
    2. 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
    3. 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)
    4. 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 Sequence
      6. Create Class
      7. Create Cluster
      8. Create Edge
      9. Create Function
      10. Create Index
      11. Create Link
      12. Create Property
      13. Create Sequence
      14. Create User
      15. Create Vertex
      16. Delete
      17. Delete Edge
      18. Delete Vertex
      19. Drop Class
      20. Drop Cluster
      21. Drop Index
      22. Drop Property
      23. Drop Sequence
      24. Drop User
      25. Explain
      26. Find References
      27. Grant
      28. HA Remove Server
      29. HA Status
      30. HA Sync Cluster
      31. HA Sync Database
      32. HA Set
      33. Insert
      34. Live Select
      35. Live Unsubscribe
      36. Match
      37. Move Vertex
      38. Optimize Database
      39. Profile
      40. Rebuild Index
      41. Revoke
      42. Select
      43. Traverse
      44. Truncate Class
      45. Truncate Cluster
      46. Truncate Record
      47. Update
      48. 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. setParameeters()
        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. Auditing
  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