图表数据库 - 向公司投注吗?

时间:2013-03-25 19:45:17

标签: ruby-on-rails graph neo4j social-networking

看看Neo4j,320亿的关系限制令我担心(想象有4000万用户上传500张照片,有500个朋友,发表500条评论等等,在你知道之前你已经超过320亿)..所以我有一些问题,必须确保我在使用哪个数据库上做出最佳选择。

寻找主观答案,也不在此辩论 - 即。哪一个更好等等 - 相反,因为我打算创业公司未来使用图形数据库,我需要知道不同数据库存在的风险,例如Neo4j没有超过320亿的关系

现在,有几家公司已经将他们的图形数据库称为“领先的图形数据库”..但让我们看看过去的炒作 - 谁拥有最多的资金支持?哪个db享有大量的社区支持?哪一个拥有坚实的公司支持商业支持?

哪一个最有可能足够成熟所以如果你愿意,你可以轻松创建Facebook?

在技术特性或熟悉度上选择图形数据库很容易 - 但我正在寻找更多 - 我想确保公司的几年仍然存在。我想确保我不会选择使用Neo4j基于炒作和它目前的动力(暂时?)......

还有哪些图表可以与Neo4gj竞争创建一个类似于facebook的完整的社交网络(再次,不寻求更好,只是寻找一个可靠的竞争对手)。

请不要让这个变成一个主观的Neo vs Dex辩论 - 只需要事实和实体答案..

7 个答案:

答案 0 :(得分:17)

免责声明:我为Neo4j工作

在这里讨论成熟度(不是技术性问题) - Neo Technology作为一家拥有超过50 employees, $25M funding的公司,以及拥有50万下载量的蓬勃发展的用户群,每月运行30,000个新数据库,活跃的社区不会消失。您还可以查看SO questions以查看社区活动。

我们在许多领域拥有一套健康的customers,包括Adobe(在Neo4j上运行创意云),思科(Org-Management,MDM),像Viadeo这样的社交网络和许多求职公司(GlassDoor)。和其他人一样,对于那些在iOS上发布流行的“Paper”应用程序的五十三人的初创公司。

我们的社区网站neo4j.org应该是一个好去处,开始使用,您可以找到introductory content以及有关programming languagesdrivers和{{3}的信息这应该可以帮助你开始。

Emil,Ian和Jim与O'Reilly一起写了一本关于“图形数据库”的介绍性书籍,目前以deployments形式提供。

因此,您看到我们不仅关注我们自己的产品,还关注更大的图形生态系统,还有许多free ebook downloadconference talks(全球41个)并支持开源生态系统。

希望能帮助你做出决定。

P.S。关于你的担忧: 大小限制(无论如何都是人为的)meetup groups

答案 1 :(得分:14)

所以我去年测试并一直在使用图形数据库。我想只有你能够充分了解你的数据,才能对你是否有任何需要超过320亿个关系的节点做出有根据的猜测。我认为,对于大多数人而言,这是一个限制,并没有很多用例。但这不是绝对的。

Neo4j是一款出色的产品。记录良好,并与像maxdemarzi这样的人写出优秀的博客文章 - 例如:http://maxdemarzi.com/ - 这将让任何人快速掌握neo4j的强大功能和复杂性。 (另外,他是一个好人,如果你有问题,他们会回答你的问题)

如果比例是一个问题,我建议你看看泰坦 - http://thinkaurelius.github.com/titan/。这背后的人很聪明,它的目的是大规模。它并不像neo4j那样在市场上建立起来,但它具有很强的功能,并且通过让您在Cassandra,Hbase和BerkeleyDB之间选择底层存储来为您提供一些优先级的灵活性。

Neo4j是一家资金充足且资金充足的公司,拥有真正的收入。它不会去任何地方。泰坦虽然规模较小,但我认为是快速向上的曲线。

事实是,这是一个全新的空间。您没有像Postgres,MySql或Oracle的企业实力那样获得任何东西。我们不要自欺欺人。

然而,图数据库社区相对较小,友好且乐于助人。它举办了很棒的活动 - 我参加了Neo4j的GraphCon活动,非常棒,而且我已经参加了泰坦队的一些非常棒的会谈。最终,如果你想成为Facebook,无论你从什么开始,最终都要建立自己的基础设施。有规模,然后你需要自己的数据中心 - 小国规模的规模。

最后一个想法。 4000万用户的问题和您的基础架构挑战对于一个资金充足的公司来说是一个问题。您无法吸引4000万用户,也无法吸引资金或产生资金来构建您自己的基础架构所需的收入。你绝对可以计划当时有4000万用户。去吧。这是初创公司早期阶段的乐趣。但是你的更大问题是你的第一个百万甚至一千万。对于这种用途,无论哪种数据库都能让您以稳定的产品最快地进入市场。

答案 2 :(得分:10)

迈克尔打败了我,但让我补充一下,回答Neo4j,并让其他人回应其他技术。

以下链接包含有关Neo4j社区状态,产品采用情况以及产品背后的公司的各种事实:

http://blog.neo4j.org/2013/01/2012-year-in-review-happy-2013-it-looks.html

下面的链接说明了今年的路线图,其中包括提升目前的规模限制。限制只是空间性能优化,当价格 - 性能比率略有不同时,可以选择这种优化。我们今年会做一些工作来增加一些指针尺寸,并在接下来的几个月内发布一个没有实际上限的版本:

http://blog.neo4j.org/2013/01/2013-whats-coming-next-in-neo4j.html

在高度活跃的网站背后,Neo4j集群中有一半的Facebook社交图片生产安装。我所知道的唯一跨区域亚马逊数据库集群(对于任何数据库管理系统)都是在Neo4j上运行的:在美国,亚洲和欧洲之间传播的10个实例。世界上最大的包裹递送服务之一使用Neo4j完成所有包裹路由,在峰值时每秒路由2000+包。包裹沿着滑道向下滑动,实时做出决定。他们去年秋天上线,圣诞节能够为数千万人发生。还有更多。这是一个抽样。

欢迎来到令人敬畏的图表世界!无论您最终选择哪种解决方案,我们都很高兴您将您作为图数据库社区的一部分。

菲利普

答案 3 :(得分:10)

我的建议是在Blueprints等标准API上构建应用程序。主要的蓝图页面列出了各种可用的实现。这样,您就不会被锁定,可以根据您的需求(规模,速度,价格)和当时的市场状况选择最佳实施方案。

答案 4 :(得分:6)

我们自2010年开始与Neo4j合作,不仅打赌我们的公司,还投入了大量时间进入开源项目(http://www.ohloh.net/p/structr)。 2012年2月有一篇博客文章,您可以阅读详细信息:

http://structr.org/blog/the-story-behind-structr

不可否认,我们公司规模很小。但是我们已经和Neo4j完成了大约十几个项目,并且对结果非常满意。

Neo4j背后的社区充满活力,开放,并且始终非常支持。你应该参加一个聚会活动来获得一个想法。 : - )

像理查德所说,财务事实是不可能的。我觉得最令人印象深刻的是,Neo Technology的人们,尽管是一家必须创造收入的商业公司,但他们真的是热爱的人,他们知道并热爱他们的工作,并且真正致力于开源模式。

所以是的,我有偏见,但并非没有道理。 : - )

答案 5 :(得分:1)

要添加好的回复,您还需要考虑许可。如果您的项目是完全开源的,满足GPLv3要求,那么像neo4j这样的东西是一个很好的方法。但是,如果您在专有系统中使用它,则需要购买neo4j企业许可证或使用其他数据库,其中许可限制较少(MIT或Apache 2许可证),如Titan。

这是审核许可证的绝佳资源:http://en.wikipedia.org/wiki/Graph_database

答案 6 :(得分:0)

您要的以及应该重点关注的是两件事。

尽管以下内容不能回答您的问题,但我希望它可以帮助您和其他开发人员考虑此处的实际作用:

  • 要求和目标并不总是很明确-没关系。事情发生了变化,您的产品应该能够随着这些变化而变化。这就是创业的本质。因此,我建议:关注产品,而不是实现。换句话说,构建数据库实现的抽象(例如Neo4j实现的Blueprint)而不是实际的实现,这样您就不会被束缚,也不会因为授权问题而束手无策。如果需要,您将能够轻松切换数据库实现。将来您会更加清楚地了解最初决定的正确性。首先,随时可以进行更改。