图数据库上的非阻塞I / O.(Non-blocking I/O on graph database)

我正在寻找一种非阻塞/事件驱动的方式来与图形数据库交谈。 Tinkerpop正在阻止 - 有没有办法克服这个问题? 我想知道是否构建一个异步rexter / rexpro客户端是实现这一目标的方式,或者我是否已经忽略了一些东西。 是否有针对tinkerpop的事件驱动解决方案? 如果没有,rexpro客户端是否适合构建。


I'm looking for a non-blocking/event-driven way to talk to a graph database. Tinkerpop is blocking - are there any ways to overcome this? I'm wondering if building an async rexter/rexpro client would be the way to get there or if I've overlooked something along the way. Are there any event-driven solutions for tinkerpop? And if there is not, would a rexpro client be a suitable item to build.


原文:https://stackoverflow.com/questions/23990292
2020-11-13 08:11

满意答案

我不知道任何语言的任何非阻塞客户端Rexster(不确定Go的那个)。 我假设您可以通过RexPro构建这样的客户端。

请注意,当“Gremlin Server”取代Rexster时,TinkerPop3将拥有这样的客户端。 您可以在这里阅读更多关于它以及它如何影响控制台的内容。


I'm not aware of any non-blocking clients to Rexster in any language (wasn't sure about the one for Go). I would assume that you could build such a client over RexPro.

Note that TinkerPop3 will have such a client when "Gremlin Server" replaces Rexster. You can read a bit more about here and how it affects the console here.

相关问答

更多

内置的http服务器是否实现了非阻塞I / O?(Does the built-in http server implement non-blocking I/O?)

是的,Perfect中的内部网络都是非阻塞的。 如果您使用内置HTTP服务器或FastCGI服务器进行原始TCP通信,则会出现这种情况。 查看NetTCP和NetNamedPipe类。 它们在您连接,接受,读取或写入数据时进行回调。 所有相关函数也采用超时参数。 您可以选择在阻塞循环中接受自定义服务器连接。 各个Web处理程序也是非阻塞的,因为您调用回调来告诉系统您已完成请求。 系统将完成当前请求并等待其他人使用keep-alive。 Yes, the internal networking in...

每个请求模型的线程能否比非阻塞I / O更快?(Can the thread per request model be faster than non-blocking I/O?)

不是在我看来。 如果两种模式都得到很好的实施(这是一个大的要求),我认为NIO的概念应该占上风。 计算机的核心是核心。 不管你做什么,你都不能使你的应用程序并行化,而不是你的核心。 即如果你有一个4核心机器,你一次只能做4件事(我在这里详述了一些细节,但这足以说明这个论点)。 扩展这个想法,如果你有比线程更多的线程,你就会浪费。 这种浪费有两种形式。 首先是额外的线程本身的开销。 其次是在线程之间切换的时间。 两者可能都很小,但他们在那里。 理想情况下,每个核心都有一个线程,每个线程在核心上的运行...

是否可以通过Java NIO非阻塞套接字异步访问数据库?(Is it possible to access a database asynchronously through Java NIO non-blocking sockets?)

这是可能的,但不适用于JDBC。 除非你想使用原始SocketChannel接口并自己解析结果,否则JVM上唯一的异步数据库驱动程序是https://github.com/mauricio/postgresql-async (尽管名称也支持MySQL )。 它们是用Scala编写的,但应该可以从Java调用它们(因为它是JVM语言),但我不能说API对Java的友好程度如何。 It's possible, but not with JDBC. Unless you want to use the ...

Node.js中的非阻塞或异步I / O是什么?(What is non-blocking or asynchronous I/O in Node.js?)

同步与异步 同步执行通常是指按顺序执行的代码。 异步执行是指不按照代码中出现的顺序运行的执行。 在以下示例中,同步操作会使警报依次触发。 在异步操作中,当alert(2)似乎执行第二个时,它不会。 同步:1,2,3 alert(1); alert(2); alert(3); 异步:1,3,2 alert(1); setTimeout(() => alert(2), 0); alert(3); 阻止vs非阻塞 阻塞是指阻止进一步执行的操作,直到该操作完成。 非阻塞是指不阻止执行的代码。 在给...

NodeJs中单线程和非阻塞I / O操作有什么区别?(What is the difference between single thread and non-blocking I/O operation in NodeJs?)

我会尽力解释。 单线程意味着Node.js Javascript运行时 - 在特定的时间点 - 只执行其加载的所有代码中的一段代码。 实际上,它从某个地方开始,并通过所有指令(调用堆栈)完成,直到完成。 在执行代码时,没有什么可以中断这个过程,所有的I / O都必须等待。 值得庆幸的是,大多数调用堆栈都比较短,我们在Node.js中做的很多事情比“CPU”更重要的是“簿记”类型。 尽管是单线程的,但任何需要很长时间的指令都会成为系统响应的一个巨大问题。 运行时一次只能做一件事,所以一切都必须等到该...

什么python库用于OSX上的非阻塞音频I / O?(What python library to use for non-blocking audio I/O on OSX?)

几天前,我向pyAudio提交了一个补丁,可以在那里启用非阻塞音频I / O. 从版本0.2.7开始,补丁就在。现在PyAudio正式支持非阻塞I / O. A few days ago, I submitted a patch to pyAudio that enables non blocking audio I/O there. As of Version 0.2.7, the patch is in. Now non-blocking I/O is officially supported...

非阻塞I / O是否比多线程阻塞I / O更快?(Is non-blocking I/O really faster than multi-threaded blocking I/O? How?)

非阻塞或异步I / O的最大优点是您的线程可以继续并行工作。 当然你也可以使用额外的线程实现这一点。 正如你所说的最好的整体(系统)性能我猜最好使用异步I / O而不是多线程(因此减少线程切换)。 我们来看看网络服务器程序的可能实现,它将处理并行连接的1000个客户端: 每个连接一个线程(可以阻塞I / O,但也可以是非阻塞I / O)。 每个线程需要内存资源(也是内核内存!),这是一个缺点。 并且每个额外的线程意味着更多的调度器的工作。 所有连接的一个线程。 这需要系统的负载,因为我们有更少的线...

图数据库上的非阻塞I / O.(Non-blocking I/O on graph database)

我不知道任何语言的任何非阻塞客户端Rexster(不确定Go的那个)。 我假设您可以通过RexPro构建这样的客户端。 请注意,当“Gremlin Server”取代Rexster时,TinkerPop3将拥有这样的客户端。 您可以在这里阅读更多关于它以及它如何影响控制台的内容。 I'm not aware of any non-blocking clients to Rexster in any language (wasn't sure about the one for Go). I wou...

非阻塞I / O问题(Non-blocking I/O issue)

问题是:这个解决方案在CPU使用方面有多好? 使用select / poll / epoll会更有效吗? 这非常低效。 这可能是处理多个连接的最糟糕方式。 考虑每个recv是一个系统调用:它需要一个上下文切换。 上下文切换并不昂贵,但在高频环路中计算上下文切换可能会占用CPU。 此外,如果你在一个电话和另一个电话之间睡觉,为了“软化循环”,你最终会在数据接收和处理之间付出延迟; 你拥有的联系越多,感觉就越高。 select基本上告诉内核:“我希望你监视这些fds集合,并在发生某些事情时立即发出信号...

尝试优化MongoDB的I / O.(Trying to optimize I/O for MongoDB)

以下是我的想法: 1)正确解释您的性能问题。 到目前为止,我无法弄清楚问题是什么,或者你是否有一个问题。 据我所知,你正在做大约GB的更新,并正在向磁盘写一个GB的数据...没什么大不了的。 哦,做一些该死的测试 - Not sure if this is a lot worse in performance than doing $set or not. - 你为什么不知道? 你的测试说什么? 2)检查是否存在硬件不匹配。 你的磁盘速度慢吗? 你的工作集大于RAM吗? 3)询问mongo-use...

相关文章

更多

Hadoop的I/O

1. 数据完整性:任何语言对IO的操作都要保持其数据的完整性。Hadoop当然希望数据在存储和处理中不 ...

Hadoop I/O系统介绍

看过很多Hadoop介绍或者是学习的帖子和文章,发现介绍Hadoop I/O系统的很少。很多文章都会介 ...

Hadoop1.0.4 HDFS I/O性能测试

分布式RDF查询引擎的项目需要在节点之间传输中间结果,考虑HDFS可以作为一个备选的传输媒介,于是对H ...

Java中如何用I/O流读取一个Word文档的内容?

BufferedReader br = new BufferedReader(new FileRead ...

HTML5 Web SQL Database 数据库

Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范。它通过一套API来操纵客 ...

O2O

啥是O2O?一句两句话解释不清楚,行业也没有统一的定义,O2O的英文全拼是Online To Offl ...

《Oracle Database 11g DBA手册》(Oracle Database 11g DBA Handbook )扫描版[PDF]

中文名: Oracle Database 11g DBA手册 原名: Oracle Databa ...

图形数据库、NOSQL和Neo4j(转载)

源地址:http://www.infoq.com/cn/articles/graph-nosql-ne ...

最新问答

更多

公共表格表达的PIVOT(PIVOT on Common Table Expression)

WITH details AS ( SELECT FldId ,Rev ,Words ,row_number() OVER ( PARTITION BY FldId ORDER BY Rev DESC ) AS rn FROM WorkItemLongTexts WHERE ID = 2855

spring-ws-security依赖冲突(spring-ws-security dependency conflict)

问题是你已经包含了一个与更新版本相同的依赖关系我认为这样做可以解决它。 将它添加到spring-ws-security依赖声明中。 org.apache.santuario xmlsec Problem is you are already in

redis set集合如何去重

$key = 'URL_HASH'; if(!$redis->hGet($key, md5($url))){ // do something ... // 抓取一个 $url 后 $redis->hSet($key, md5($url), true); } 这里需要注意的是,如果是多线程的,要考虑其他进程,可以吧 bool 值改为枚举值。

在IE中传递ac#文本框作为javascript参数(Chrome作品)(Passing a c# Textbox as a javascript parameter in IE (Chrome works))

用引号括起<%=TextTitu.ClientID%> ,如下所示: ChangeText("<%=TextTitu.ClientID%>", "", ""); 您当前的代码评估为: ChangeText(ctl00_c_area_conteudo_TextTitu, "", ""); 但ctl00_c_area_conteudo_TextTitu没有在任何地方定义为变量,这就是错误引发的原因。 将其包含在引号中后,代码将评估为: ChangeText("ctl0

调用sw程序时地址超出范围(address out of range when calling sw procedure)

sw是一个指令 ,而不是一个程序。 无论如何, sw的目的是将寄存器的内容存储在内存中。 这听起来像你只是想将一个寄存器的内容复制到另一个寄存器,所以你应该使用的指令是move : move $t3,$v0 # $t3 = $v0 同样的事情可以通过其他几种方式实现,例如: or $t3,$v0,$zero 但如果你刚开始使用MIPS汇编,我建议你只使用move 。 sw is an instruction, not a procedure. Anyway, the purpose o

中出是什么意思啊?

日语“中出し”,即“膣内*中出*(体内中出)”的俗称,目前已成为青少年间新兴网络用语。关于“体内中出”,请参考“安全性行为”。 日语,念shiroto ,指非专业人士,业余爱好者,业余艺术家,跟英文Amateur的意思是一样,有时也指良家妇女。

在Android中创建ViewPager或等效的WITH功能(Create a ViewPager or equivalent WITH functionality in Android)

将Activity作为ViewPager的一部分是不可能的,但是没有理由不能将您描述的功能添加到ViewPager中的每个页面。 要为每个视图中的组件分配交互或事件,只需在每个case语句中的instantiateItem()中添加正确的侦听器: case 0: v = inflater.inflate(R.layout.dashboard_social, null); Button myButton = (Button) v.findViewById(R.id.name

如何在Windows启动时自动启动应用程序?(How to make an application automatically start at Windows start?)

如果它自动启动你可以使它成为一个Windows服务,或者你可以简单地将它放在Windows启动文件夹中,它将自动启动它。 对于系统托盘,您应该查看NotifyIcon控件。 As far as having it start automatically you can make it a windows service or you can simply place it in the windows startup folder and it will automatically launch

如何在javafx和scenebuilder中单击按钮时创建新标签?(How to create a new label when a button is clicked in javafx and scenebuilder?)

让我们制作一个窗格并在scenebuilder中设置fx:id(paneLoadLabel) 在控制器中写下这个 @FXML private Pane panelLoadLabel; @FXML public void enterTextMouse(MouseEvent e){ Label lbl1 = new Label(txtCmd.getText()); paneLoadLabel.getChildren().add(lbl1); } Let's make one pa