小编D.M*_*ill的帖子

Titan db如何列出所有图形索引

我一直在关注管理系统,但有些事情仍然无法实现.基本上我想做的是:

  • 列出所有基于Edge的索引(包括以顶点为中心).
  • 列出所有基于顶点的索引(如果索引附加到标签,则基于每个标签).

它基本上就像映射图模式一样.

我尝试了一些东西,但我只获得了部分数据.

g.getIndexdKeys(<Vertex or Edge>); 
//basic information. Doesn't seem to return any buildEdgeIndex() based indexes

mgmt.getVertexLabels(); 
// gets labels, can't find a way of getting indexes attached to these labels.

mgmt.getGraphIndexes(Vertex.class); 
// works nicely I can retrieve Vertex indexes and get pretty much any 
// information I want out of them except for information regarding 
// indexOnly(label). So I can't tell what label these indexes are attached to.

mgmt.getGraphIndexes(Edge.class); 
// doesn't seem to return any buildEdgeIndex() indexes. …
Run Code Online (Sandbox Code Playgroud)

gremlin titan tinkerpop

11
推荐指数
1
解决办法
5774
查看次数

Mysql vs Oracle XE vs Postgresql.可扩展性和性能,选择哪个?

我知道这是非常广泛的,所以让我给你一个设置,并具体说明我的重点.

设置:

我正在使用MYSQL使用现有的PHP应用程序.几乎所有表都使用MYISAM引擎,并且大部分都包含数百万行.其中一个最大的表使用EAV设计,这是必要但对性能的影响.该应用程序是为了最好地利用MYSQL缓存而编写的.它每页加载请求相当数量的请求(部分原因是这样),并且复杂到足以在每次页面加载时通过整个数据库的大多数表.

优点:

  • 免费
  • MYISAM表支持对应用程序很重要的全文索引

缺点:

  • 通过设置方式,MYSQL仅限于一个CPU用于整个应用程序.如果运行一个非常苛刻的查询(或服务器负载很大),它将排队所有其他人使站点无响应
  • MYSQL缓存和缺少"WITH"或"INTERSECT"意味着我们必须打破查询以更好地使用缓存.因此乘以查询的数量.例如,在具有数百万行的多个表上使用子查询(即使具有良好的索引)对于当前/上调负载而言是一个大问题,并且约束在上面指出(CPU使用率)

感觉需要在上升年度扩大规模,但不一定准备立即支付许可费用,我一直在考虑重写应用程序和切换数据库.

正在考虑的三个选项是继续使用mysql但使用INNODB引擎,这样我们可以利用更多的CPU功率.当我们需要向上扩展4Gb数据库,1Gb RAM或1 CPU限制(我们还没有达到目标)时,适应Oracle XE并获得许可证.或者适应PostgreSQL

所以问题是:

  • 在这三种情况下,丢失全文索引会如何影响性能(oracle或postgreSQL是否具有等效性?)
  • oracle和postgreSQL如何在子查询,WITH和UNION/INTERSECT语句上利用缓存
  • Oracle和PostgreSQL如何利用多核/ CPU功能(如果/当我们获得oracle许可证时)

我认为这已经很多了,所以我会在这里停下来.如果有赞美的链接,我不介意简单/不完整的答案.

如果您需要更多信息,请告诉我

在此先感谢各位,感谢您的帮助.

mysql oracle postgresql database-performance

10
推荐指数
1
解决办法
5435
查看次数

如何制作仅适用于特定播放器的嵌入视频

我试图找出如何使嵌入式视频只能被特定播放器读取.这是上下文:

我有一个网站托管视频流.所有视频都是私密的.我的客户希望能够生成嵌入代码段,以便将此视频发布到他想要的任何网站.(最终这意味着视频流不再是私有的,而是现在公之于众).

现在这是棘手的部分.客户希望这些视频通过其网址进行扫描,这意味着如果视频网址为http://my.domain.com/videoToken,则点击该网址的任何机器人/用户/程序都不会看到该视频,播放器需要从同一个网址加载视频.

有谁知道我有什么安全选项来实现这个?有一些DRM解决方案,对这个用例有什么帮助吗?

提前致谢.

PS:如果由于某种原因这是不可能的,那么下一个最接近的是什么?

php security video drm video-streaming

6
推荐指数
1
解决办法
191
查看次数

泰坦Db无视指数

我有一个带有几个索引的图表.它们是两个具有标签限制的综合指数.(两者在不同的属性/标签上完全相同).一个肯定似乎工作,但另一个没有.我已完成以下配置文件()以加倍检查:

一个叫做KeyOnNode:属性uid和标签node:

gremlin> g.V().hasLabel("node").has("uid", "xxxxxxxx").profile().cap(...)
==>Traversal Metrics
Step                                                               Count  Traversers       Time (ms)    % Dur
=============================================================================================================
TitanGraphStep([~label.eq(node), uid.eq(dammit_...                     1           1           2.565    96.84
  optimization                                                                                 1.383
  backend-query                                                        1                       0.231
SideEffectCapStep([~metrics])                                          1           1           0.083     3.16
                                            >TOTAL                     -           -           2.648        -
Run Code Online (Sandbox Code Playgroud)

以上是完全可以接受的,效果很好.我假设魔术线是backend-query.

另一种叫做NameOnSuperNode:属性name和标签supernode:

gremlin> g.V().hasLabel("supernode").has("name", "xxxxxxxx").profile().cap(...)
==>Traversal Metrics
Step                                                               Count  Traversers       Time (ms)    % Dur
=============================================================================================================
TitanGraphStep([~label.eq(supernode), name.eq(n...                     1           1        5763.163   100.00
  optimization                                                                                 2.261
  scan                                                                                         0.000
SideEffectCapStep([~metrics])                                          1           1           0.073     0.00 …
Run Code Online (Sandbox Code Playgroud)

gremlin titan tinkerpop tinkerpop3

4
推荐指数
1
解决办法
1977
查看次数

Dockerfile,使用VOLUME持久化数据

当我学习有关docker的方法时,请多多包涵。我正在使用v1.11.1

我正在制作一个Dockerfile,并希望指定该容器的文件夹应该保留,这仅应针对每个用户(运行该容器的计算机)保留。我本来以为包括:

VOLUME /path/to/dir/to/persist
Run Code Online (Sandbox Code Playgroud)

足够了,但是当我使用启动容器docker run -t -i myimage:latest bash并手动添加文件时,exit我希望能够再次找到我的文件。但是,当我再次运行映像时(如上所述),添加的文件不再存在。

我读过一些书,但是关于VOLUMES的使用,答案似乎已经过时,或者建议我不想做的事情是:

  • 我不想-v在运行命令中使用
  • 我宁愿不做一个卷容器(似乎对我的一个小文件夹来说就算过分了)

我做错了什么事?任何帮助将不胜感激。

干杯们。

更新:我可以使用命名卷来持久化数据,即:docker run -v name:/path/to/persist -t -i myimage:latest bash但是,使用包含的Dockerfile进行构建VOLUME name:/path/to/persist无法正常工作。

docker dockerfile docker-volume

2
推荐指数
1
解决办法
3326
查看次数

什么时候适合使用g.query()... vertex()vs gVhas()

我对这个有点困惑.在整个文档中可以找到几个类似的例子.如 :

g.V.has('name','hercules').next()
g.query().has("name",EQUAL,"hercules").vertices()
Run Code Online (Sandbox Code Playgroud)

有人可以澄清上述两者之间的过程有何不同?

谢谢

gremlin titan

1
推荐指数
1
解决办法
394
查看次数