在Orient DB中创建数据库时PLOCAL和REMOTE之间的差异?

时间:2016-03-22 05:29:31

标签: orientdb database nosql

我在这里使用OrientDB数据库我正在使用命令create database PLOCAL:path/testdb admin admin PLOCAL DOCUMENT文档类型数据库创建数据库,我创建了两个类 comment post ,它们具有属性评论类中的postId和帖子类中的Id。然后我尝试在这两个类之间创建链接。使用命令create LINK Usercomments TYPE LINKSET FROM comment.postId TO post.Id。 此命令显示错误"Error on execution of command: sql.create LINK comments TYPE LINKSET FROM comment.postId TO post.Id, java.util.UnknownFormatConversionException: Conversion = '%'"。如果我使用命令create database remote:localhost/testdb admin admin memory DOCUMENT创建数据库,则相同的情况正在起作用。创建数据库时 PLOCAL REMOTE 之间有什么区别?

1 个答案:

答案 0 :(得分:1)

根据OrientDB official docsPLOCAL参数中的REMOTE<database-url> <mode>指定了您用于连接到创建的数据库的连接类型它与<storage-type>参数不同,后者指定了您要使用的存储类型:

  • PLOCAL :如果您以这种方式创建数据库,则会以PLOCAL模式自动连接到该数据库。它使用基于磁盘的存储来确保数据持久性。 E.g:

    create database plocal:/path/to/db/dbname document
    
    Creating database [plocal:/path/to/db/dbname] using the storage type [plocal]...
    Database created successfully.
    
  • REMOTE :如果使用REMOTE模式创建数据库,则必须指定可以是PLOCALMEMORY的存储类型。 E.g:

    • PLOCAL :它使用基于磁盘的存储。

      create database remote:localhost/dbname root root plocal
      
      Creating database [remote:localhost/dbname] using the storage type [plocal]...
      Connecting to database [remote:localhost/dbname] with user 'admin'...OK
      Database created successfully.
      
    • MEMORY :它使用易失性内存来创建和保存数据库。它不能确保数据持续存在,并且当您重新启动计算机时,您将丢失所有数据。 E.g:

      orientdb {db=dbname}> create database remote:localhost/dbname1 root root memory
      
      Creating database [remote:localhost/dbname1] using the storage type [memory]...
      Connecting to database [remote:localhost/dbname1] with user 'admin'...OK
      Database created successfully.
      

希望有所帮助