简体   繁体   English

泰坦 - 卡桑德拉和推送通知

[英]Titan - Cassandra and Push notificationss

I plan to use Titan for a graph datamodel along with Fanus. 我计划将Titan与Fanus一起用于图形数据模型。

Choice of Data Store - I am yet to decide on the Data store though Cassandra seems to be the obvious choice. 数据存储的选择 - 虽然Cassandra似乎是明显的选择,但我还没有决定数据存储。 Has anyone benchmarked Titan with other Data Stores? 有没有人将Titan与其他数据商店进行对比? Push Notifications : Need to push Traversal responses to the the client. 推送通知:需要将Traversal响应推送到客户端。 Any case studies on Node.JS(Event based) or Vaadin (Object based)? Node.JS(基于事件)或Vaadin(基于对象)的任何案例研究? Thanks! 谢谢!

I experimented with Titan for a medium sized P&C insurer, thinking that Cassandra was the optimal choice for 3-4 million insurance policies (because that sounded big). 我尝试使用Titan作为中型P&C保险公司,认为Cassandra是3-4百万保险单的最佳选择(因为这听起来很大)。 I was surprised to find that Berkeley and PersistIt were better fits. 我惊讶地发现Berkeley和PersistIt更适合。

Key takeaway: Each of the backends has strengths, and you need to weigh those strengths against the characteristics of your data set. 关键点:每个后端都有优势,您需要根据数据集的特征权衡这些优势。 Here is a short summary: 这是一个简短的总结:

BerkeleyDB and PersistIt BerkeleyDB和PersistIt

Practical limitation of graphs with 10-100s million vertices. 具有10-100万个顶点的图的实际限制。 However, for graphs of that size both storage backends exhibit high performance because all data can be accessed locally within the same JVM. 但是,对于该大小的图形,两个存储后端都表现出高性能,因为所有数据都可以在同一JVM中本地访问。

Hazelcast Hazelcast

Low latency optimized alternative that excels at read-mostly workloads that uniformly access a graph. 低延迟优化的替代方案,优于基于读取的工作负载,可统一访问图形。 Note, that Hazelcast does not provide durable persistence. 请注意,Hazelcast不提供持久的持久性。 Ideal graphs for this backend can fit entirely into memory on one or multiple machines. 该后端的理想图形可以完全适合一台或多台机器的内存。 Also, for this storage backend to be cost effective, most of the graph should be accessed regularly. 此外,为了使此存储后端具有成本效益,应定期访问大部分图表。

HBase and Cassandra HBase和Cassandra

Of course these backends are for the large graphs (billions to hundreds of billions of vertices). 当然,这些后端适用于大型图形(数十亿到数千亿个顶点)。 Note that they will generally be outperformed by Berkeley or PersistIt on small to medium sized graphs. 请注意,在中小型图表中,它们通常会优于Berkeley或PersistIt。 The choice between the two comes down to a choice between a Consistent-Partitionable system (HBase) and an Available-Partitionable system (Cassandra). 两者之间的选择归结为在Consistent-Partitionable系统(HBase)和Available-Partitionable系统(Cassandra)之间进行选择。

You can also think about this in terms of the semi-antiquated CAP theorem: 您也可以根据半陈旧的CAP定理来考虑这个问题:

https://github.com/thinkaurelius/titan/wiki/images/titan-captheorem.png https://github.com/thinkaurelius/titan/wiki/images/titan-captheorem.png

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM