首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OrientDB 系列(1) —— 初识 OrientDB

的使用 数据库管理 用户管理 Classes 操作 Cluster 操作 通用 CRUD 操作 插入数据 查询数据 修改数据 删除数据 图操作 创建顶点 删除顶点 创建边 删除边 遍历语句 OrientDB.../console.sh # 在控制台中使用连接命令连接 (本地连接可以直接将 ip 换为 localhost) connect remote:192.168.159.139 root root_password...OrientDB 所安装的服务器的 ip OrientDB 的使用 Class: OrientDB 中的 Class 的概念类似于面向对象编程中的类,用户可以按照需求定义自己需要的属性。...record: 记录一般在 Cluster 中,每一条记录都有一个唯一的 rid。...database.cluster.为数据库中某个集群授予权限,使用 * 代表所有的集群database.query授予执行查询的能力database.command.授予执行语句的权限,database.config

1K30

了解Multi-Model API

应用内要实现的功能包括: 创建上述模型中的CLASS(可以理解为sql中的建表) 新增账号 修改昵称 关注 查询我的关注 取关 > 以上所有设计都只是作为掌握Multi-model API的辅助,不推荐直接应用在实际开发过程...createIndex()用来创建索引,OrientDB中包含SB-Tree,Hash,Lucene等多种索引。...代码中为phoneNum创建了默认的唯一索引(SB-Tree),因为考虑到手机号码可能需要范围查询(如like 186%),而为Account ID(本文采用UUID)添加UNIQUE_HASH_INDEX...尽量使用参数化的查询语句,不要每次通过字符串连接而生成语句。...在OrientDB中大部分场景下,图的完整性是由数据库实例维护的。上述代码仅仅删除了边的记录,但是数据库引擎会同时把边两端的顶点中相关的link记录清除掉(即删除边的同时,顶点也会被更新)。

88920
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    OrientDB图遍历SQL之MATCH

    定义一个有效的class,可以是一个点也可以是一个边。 为node定义一个别名,在整个模式中可以根据这个别名来访问这个node,类似于SQL中table的别名。...orientdb3.X新增加的特性,必须和while或者maxDepth一起使用,该值用于存储遍历的深度,在return中可以通过该值获取每次遍历深度的值。...orientdb3.X新增加的特性,必须和while或者maxDepth一起使用,该值用于存储遍历的路径,在return中可以通过该值获取每次遍历路径下的点。...05 MATCH实战 5.1.MATCH返回的结果的去重处理 创建两个点,并且在两个点之间创建三条边,创建语句如下: insert into V set name = 'v1' insert...count(*)而不是count(1) 在关系型数据库中我们建议使用count(1)统计数量,但在orientdb中我们建议使用count(*)而不是count(1)。

    4.2K30

    OrientDB图遍历SQL之TRAVERSE

    本文介绍的TRAVERSE语法是基于OrientDB3.0.x版本,所有的SQL在OrientDB3.0.4社区版本自带的数据库demodb下试验,数据模型请参考demodb。...|*|any()|all() 1.any() 和all() 在orientdb2.x支持该函数,在orientdb3.x试验下来,已不支持该函数。...上图中展示一条记录也是Id为1的根记录,在TRAVERSE的查询结果中查询目标对象总会被查询出来,而且深度为0。...MAXDEPTH N"和"WHILE $depth 查询结果。但区别是WHILE会评估到N+1度,然后舍弃N+1度的数据,所以平时在使用时建议使用MAXDEPTH。...先执行如下SQL,构造模型数据(基于深度优先搜索算法的选择分支和插入顺序有关,所以如下SQL在创建边时对顺序有所关注,方便后续验证问题): INSERT INTO V(name) VALUES(1),(

    1.8K30

    【详解】图数据库 | 灵活存储复杂关联关系

    边(edge):又被称为关系(relationships),具有名字和方向,从一个节点指向另一个节点,边是图数据库中最显著的一个特征,在RDBMS中没有对应实现。...属性(properties):类似KV数据库中的键值对,节点和边都可以有属性。 图数据库将数据以属性方式存储在节点或边中,以边来表示节点之间的关系,并用特定查询语言,进行数据检索。 ?...在路径规划场景中,存储各站点之间的关联,并实时计算出最优路径…. 图数据库还有其他诸多应用场景,当遇到大数据量的复杂实体关系存储、查询及可视化,都可以考虑使用图数据库。...所以我们建议在实际生产环境中,混合使用传统RDBMS和图数据库。...在技术选型时,有几个特性我们需要着重考虑: 授权,是否商业付费; 底层存储,有一些图数据库底层仍使用传统RDBMS存储,仅在上层封装图查询API,所以在大数据量关系查询时,也许性能不如人意; 分布式支持

    4.1K20

    知识图谱之图数据库如何选型:知识图谱存储与图数据库总结、主流图数据库对比(JanusGraph、HugeGraph、Neo4j、Dgraph、NebulaGraph、Tugrapg)

    PGQL 默认的图模式匹配查询语义是子图同构, 可使用 ALL 关键字改为子图同态. 4. SPARQL 中只有当使用 * 运算使得属性路径查询无法等价写为 CGP 时才使用集合语义. 5....缺点: (1) 需要创建的表的数目与知识图谱中不同谓语数目相等,而大规模的真实知识图谱 (如 DBpedia、YAGO、WikiData 等) 中谓语数目可能超过几千个,在关系数据库中维护如此规模的表需要花费很大开销...RDF-3X , Hexastore 优点: (1) 知识图谱查询中的每种三元组模式查询都可以直接使用相应的索引进行快速 前缀范围查找; (2) 可以通过不同索引表之间的连接操作 直接加速知识图谱上的连接查询...在查询语言方面,OrientDB 支持扩展的 SQL 和 Gremlin 用于图上的导航式查询;OrientDB 的 MATCH 语句实现了声明式的模式匹配,这类似于 Cypher 语言查询模式。...社区版与企业版的差异 整体上来说,社区版比企业版少一些可视化以及图算法 测试硬件环境 性能对比 我们使用不同量级的图从入库时间,一度好友查询,二度好友查询,共同好友查询几个方面进行了对比,结果如下: 可以看到在导入性能上

    5.2K11

    oreint db 远程代码执行漏洞

    在Linux中 将orientdb-community-2.1.9.tar.gz文件解压,可以使用以下命令提取tarred文件。...使用以下给定值创建两个环境变量ORIENTDB_HOME和PATH变量。...在OrientDB安装目录的$ORIENTDB_HOME/bin/orientdb.sh的bin目录中可以找到它。 在运行脚本文件之前,编辑orientdb.sh文件以定义两个变量。...默认情况下,OrientDB有3个角色:admin, writer and reader。它们的功能与与用户名称所扮演的角色相同。对于在服务器上创建的每个数据库,默认情况下会分配3个用户。...读者可以查询数据库中的任何记录,但不能修改或删除它,也不能访问内部信息,例如用户和角色本身的信息。 writer: 与reader相同,但它也可以创建,更新和删除记录。

    1K40

    OrientDB数据库的三种性能调整方式

    OrientDB性能调整有三种方法可以提高不同类型数据库的性能。 文档数据库性能调整 - 它使用一种技术来帮助避免为每个新文档创建文档。 对象数据库性能调整 - 它使用通用技术来提高性能。...服务器和嵌入式设置 通过直接使用plocal,这些设置对于Java应用程序在嵌入模式下使用OrientDB运行的服务器组件和JVM都有效。 调整最重要的是确保内存设置是正确的。...JVM设置 JVM设置在server.sh(和server.bat)批处理文件中编码。可以根据您的使用情况和硬件/软件设置更改它们以调整JVM。 在server.bat文件中添加以下行。...例如,如果查询返回100个元素,但是如果您从客户端跨越这些元素,则OrientDB客户端会延迟地将这些元素加载到服务器的每个丢失记录的网络调用中。...使用事务 即使更新图表,也应该始终处理事务。常见情况是只读查询,如果发生故障,可以恢复大量和非并发操作。 在分布式配置上运行时,使用事务有助于减少延迟。 这是因为分布式操作只发生在提交时。

    1.1K20

    图数据库调研

    SPARQL的查询与 RDF 是一致的,RDF 是图,SPARQL 查询是子图匹配。 Gremlin:数据以属性图的形式存在,属性仍然在表中,但是联接关系是直接以链接(比如指针)的形式存在的。...Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准。 Neo4j 分为社区版和企业版,社区版只能工作在单机上,社区版免费 ,企业版收费 。...应用程序和Janus Graph处在两个不同JVM中,应用通过给JanusGraph提交Gremlin查询给GremlinServer,来使用JanusGraph,因为JanusGraph原生是支持Gremlin...OrientDB OrientDB是在2011年发布的新一代分布式NoSQL数据库,能够处理Graph、 Document、 Key-Value、 GeoSpatial 和 Reactive 五种模型,...在OrientDB中,任何类型的数据都是可搜索的,用户域的建模支持面向对象的概念,可以很容易地扩展。每个模型不只是一个层,而是共存于一个引擎中。可选无模式、全模式或混合模式。

    6.6K30

    探索图数据库在数据资产可视化中的应用

    ,并允许在单个查询中混合使用三种模型。...在图数据上进行分析查询时,也可以直观地通过点边连接的拓扑,交互式找到想要的数据,不需要具备任何的专业知识。...所以Atlas读写数据的过程可以看作就是将图数据库对象映射成Java类的过程,基本流程如下: 在Atlas中查询某一个元数据对象时往往需要遍历图数据库中的多个顶点与边,相比关系型数据库直接查询一行数据要复杂的多...把生产者和消费者当做两个独立的并发主体,不互相依赖,也就是说生产者生产完直接把数据丢到缓存中,并不需要关系消费者是否使用,而消费者也并不需要等待生产者,可以加快处理速度。...答:个人认为,在关注于学习成本、软件成本、易用性等方面考虑的话,推荐使用收费的软件,不推荐使用开源的软件,目前企业版收费的有Neo4j,ArangoDB等,项目成熟,社区活跃,文档也很成熟。

    1.9K20

    OrientDB显示记录SELECT命令的基本语法

    在检索记录时,我们有不同的查询变体或选项以及select语句,以下语句是SELECT命令的基本语法。...LET:表示在投影,条件或子查询中使用的上下文变量。 GROUP BY:表示对记录进行分组的字段。 ORDER BY:表示要按顺序排列记录的文件。 UNWIND:指定要在其上展开记录集合的字段。...NOCACHE:定义是否要使用缓存。 例 让我们考虑在上一章中创建的以下Customer表。...方法1 - 您可以使用以下查询从Customer表中选择所有记录。 orientdb {db = demo}> SELECT FROM Customer 如果上述查询成功执行,您将得到以下输出。...orientdb {db = demo}> SELECT FROM Customer WHERE name LIKE 'k%' 或者您可以使用下面的查询上面的例子。

    1.2K30

    2018-11-23 graph图数据库概览,经过一个星期的Demo终于看懂了这篇文章20180818图数据库概览

    Neo4j在每个节点中存储了每个边的指针,因而遍历时效率相当高。 Neo4j分为社区版和企业版,社区版功能受限,另外其提供可视化的客户端感觉很不错。...【2】OrientDB OrientDB据描述性能可以达到Neo4j的数倍,但也有测试表明在遍历时磁盘空间增加,以空间换时间,遍历性能不高,但计算最短路径等性能高。...Neo4J和OrientDB在插入数据时候都会默认建立索引,索引的不同也造成了其不同操作的性能差异; Neo4J:擅长遍历图及不存在大量关系的节点的图计算 OrientDB:侧重文档数据库,主要还是...SB树索引导致,空间浪费比较大;插入节点与neo4j差不多,但是在插入节点关系即边时无优化;在图论算法上性能高,但遍历性能低。...HugeGraph的主要特点包括: 基于TinkerPop 3 API实现,支持Gremlin图查询语言; 拥有完善的周边工具链和相关功能组件,可以满足图数据库开发的基本需求,提供易用高效的使用体验

    3.6K30

    OrientDB在Linux及在Windows中安装的操作方式

    使用以下步骤下载并在系统中安装OrientDB。 步骤1 - 下载OrientDB二进制设置文件 OrientDB自带了内置的安装文件,在系统上安装数据库。...在Linux中 下载后,您将在您的下载文件夹中获得orientdb-community-2.1.9.tar.gz文件。 您可以使用以下命令提取tarred文件。...使用zip提取器解压缩zip文件。 将提取的文件夹移动到C:\目录。 使用以下给定值创建两个环境变量ORIENTDB_HOME和PATH变量。...C:\ orientdb-community-2.1.9 当您执行OrientDBGraph.exe文件(原始prunsrv)并双击它时,会安装该服务。 使用以下命令将服务安装到Windows中。...在Linux中 按照给定的步骤在Linux中验证OrientDB安装。 运行服务器:可以使用以下命令启动服务器。 $ cd $ORIENTDB_HOME/bin $ .

    1.9K30

    Nebula Graph 在众安金融的图实践

    在图数据库产品调研过程中,我们发现 OrientDB 在 DB-Engine 排名较前、功能完善。...此外,在大规模数据写入性能方面,写入点的速度尚可接受,但写入边的 QPS 只有 1-2k,用这个速度开始图数据建模的话耗时将在天级别,这是不可接受的。...基于上述特征,我们可以查询用户所在社群的规模、用户是否在疑似欺诈社群中对他进行一个初步风控判断。...这里讲述下,即便某个用户处于异常关系网络中也不代表他是个欺诈用户,处于异常社群是个判断用户是否为欺诈分子的充分不必要条件。...而这个验证过程,如果使用传统数仓通过 ODPS 做深度查询的话,无论在执行效率、耗时,还是在 SQL 代码编写方面,都是一个非常低效的过程。

    54710

    OPPO 图数据库平台建设及业务落地

    [OPPO 图数据库平台建设及业务落地] 1、什么是图数据库 图数据库(Graph database)是以图这种数据结构存储和查询的数据库。与其他数据库不同,关系在图数据库中占首要地位。...新图数据库应满足以下要求: 能够支持 10 亿节点 100 亿边 170 亿属性的大规模图谱 全量导入时间不超过 10h 二度查询平均响应时间不超过 50ms,QPS 能够达到 5000+ 开源且支持分布式的属性图数据库...查询:Nebula Graph > HugeGraph > JanusGraph > ArangoDB > OrientDB Nebula Graph不论是在导入还是在查询性能上都表现优异。...针对这种情况,我们对边进行了分类,对于数量较少的那些边类型,一条语句查询所有数据。对于数量多的边类型,使用多线程并行查询每条边的Top 10,这样就能进行一定的规避。...5.4、服务架构拓扑 [OPPO 图数据库平台建设及业务落地] 在服务资源管理中,业务资源会分为多个层级,每个层级下面有对应的服务器、服务和管理人员,如果使用关系数据库来处理,当需要展示多级资源的时候,

    88330

    如何在Ubuntu 14.04上导入和导出OrientDB数据库

    在本文中,我们将使用GratefulDeadConcerts数据库来演示如何导出和导入OrientDB数据库。该数据库随每个OrientDB的安装一起提供,因此您不必创建新的数据库。...打开腾讯CVM的另一个终端,并列出数据库目录的内容: ls -lh /opt/orientdb/databases 您应该看到原始数据库加上数据库导出的压缩文件: Outputtotal 164K drwxr-xr-x...第2步 - 导入数据库 在此步骤中,我们将导入在步骤1中导出的数据库。默认情况下,导入数据库会覆盖正在导入的数据库中的现有数据。因此,首先连接到目标数据库。...在此示例中,我们将连接到我们在步骤1中使用的默认数据库。...请注意,导入/导出功能在整个过程中不会锁定数据库,因此可以在进程发生时接收写入。有关此主题的更多信息,请参阅OrientDB官方导出/导入指南。 更多Ubuntu教程请前往腾讯云+社区学习更多知识。

    1.2K00

    图数据库OrientDB单实例及部署

    agent jar下载下来并拷贝至plugins目录下 # 创建软连接 以便后续升级使用ln -s orientdb-3.0.10 orientdb# 授权chown -R orientdb...root账号密码,如首次不采用此方式启动,则会随机生成root账号的密码。...4.6 修改orientdb-server-config.xml文件 其中NodeName参数的值是在第3.4步中配置的节点名 . . ....writeQuorum :在写入操作时,在向客户端发送回复之前需要响应多少个节点。默认值为多数 ,它使用(N / 2)+ 1计算 ,其中N是集群中可用主节点的数量。在计算大多数时,不考虑复制节点。...使用默认值,节点将自动注册在服务器列表下。 hotAlignment :指定如果节点关闭然后重新联机,会发生什么。如果启用,则当节点脱机时,同步消息将保留在分布式队列中。

    2K41
    领券