2024年11月Dgraph下载-Dgraph v21.03.0

发布时间:

  ⑴Dgraph是一个绿色安全免费开源的Graph数据库,该库是唯一一个拥有图后端的原生GraphQL数据库,使用该库用户进行一键复制自动数据移动以及实现碎片平衡分布式ACID事务,Dgraph不强制执行结构或架构,并且用户可以立即开始输入数据并根据需要添加约束;Dgraph功能强大简单易用,支持全文搜索正则表达式和地理搜索等搜索功能,可以轻松便捷的进行文本搜索和替换,同时该数据库还支持多种语言的字符串谓词类型的值,可以采用多种语言存储相同的数据信息,非常方便实用。

  ⑵使用全文搜索搜索推文。

  ⑶使用正则表达式搜索来搜索主题标签。

  ⑷将推文拆分为称为令牌(令牌化的单词块。

  ⑸将这些标记转换为小写。

  ⑹Unicode标准化令牌。

  ⑺将令牌减少到其根形式,这称为词干(运行到运行,快到快等。

  ⑻查询和更新节点,使用其UID删除谓词。

  ⑼在现有节点之间添加一条边。

  ⑽向现有节点添加新的谓词。

  ⑾分片式和分布式架构

  ⑿自动数据移动和碎片平衡

  ⒀图形QL启发语言

  ⒁Grpc / HTTP + JSON / RDF协议

  ⒂分布式ACID交易

  ⒃本地支持全文搜索正则表达式和地理搜索

  ⒄步骤:运行Dgraph

  ⒅有几种安装和运行Dgraph的方法,所有这些方法都可以在“下载”页面中找到。

  ⒆启动和运行Dgraph的最简单方法是使用dockerdgraph/standalone映像。如果尚未安装Docker,请按照此处的说明进行安装。

  ⒇docker run --rm -it -p ":" -p ":" -p ":" -v

  ⒈~/dgraph:/dgraph "dgraph/standalone:master"

  ⒉注意此独立映像仅用于快速入门目的。不建议在生产环境中使用。

  ⒊这将开始与一个容器DGraph组件阿尔法,DGraph组件零和RATEL在其中运行。您会发现Dgraph数据存储在主目录的名为dgraph的文件夹中。

  ⒋提示 一旦DGraph组件运行时,您可以访问RATEL的它允许基于浏览器的查询,变异和可视化。

  ⒌您可以在命令行中通过curl或通过在Ratel中粘贴变异数据来运行以下变异和查询。数据集

  ⒍数据集是电影图,其中图节点是类型导演,演员,类型或电影的实体。

  ⒎更改Dgraph中存储的数据是一种突变。截至目前,Dgraph支持两种数据的突变:RDF和JSON。以下RDF突变存储了有关“星球大战”系列的前三个发行版和其中一部“星际迷航”电影的信息。通过curl或Ratel

  ⒏UI的mutate选项卡运行RDF突变,会将数据存储在Dgraph中。

  ⒐提示要通过curl使用文件运行RDF / JSON突变,可以使用curl选项 --data-binary

  ⒑/path/to/mutation.rdf代替--data

  ⒒$''。该--data-binary选项跳过curl的默认URL编码,其中包括删除所有换行符。因此,通过使用数据二进制选项,您可以#在文本中使用注释,因为使用该--data选项,文本中第一个注释之后的任何#内容都将出现在同一行上,因此将被视为一个长注释。

  ⒓更改架构以在某些数据上添加索引,以便查询可以使用术语匹配,过滤和排序。

  ⒔提示要从Ratel UI提交架构,请转到“架构”页面,单击“批量编辑”,然后粘贴架构。

  ⒕运行此查询以获取所有电影。该查询列出了所有具有starring边缘的电影 。

  ⒖提示您还可以从Ratel UI的“查询”选项卡中运行DQL查询。

  ⒗注意GraphQL +-已重命名为Dgraph查询语言(DQL。尽管标头application/dql

  ⒘的首选值是Content-Type,但我们会继续支持 Content-Type: application/graphql+-以避免造成重大更改。

  ⒙获取“ ”之后发行的所有电影

  ⒚运行此查询以获取“ ”之后发行的“星球大战”电影。在用户界面中尝试一下,以图形形式查看结果。

  ⒛而已!在这四个步骤中,我们设置了Dgraph,添加了一些数据,设置了一个架构并查询了该数据。

  ①什么是Dgraph?

  ②Dgraph是用Go编写的分布式,低延迟,高吞吐量的图形数据库。它非常注重良好的设计,并发性,并最大限度地减少了在分布式环境中执行查询所需的网络调用。

  ③为什么要建立Dgraph?

  ④我们认为图形数据库目前是二等公民。它们还不够成熟,无法作为唯一的数据库运行,并且无法与其他SQL /

  ⑤NoSQL数据库一起运行。同样,我们对现有的非本地或非分布式图形数据库的设计决策也不满意,它们不管理基础数据或遭受性能问题的困扰。

  ⑥我为什么要使用Dgraph?

  ⑦如果您对高性能的图形数据库感兴趣,而该数据库重点放在声音设计,周到的实现,弹性和尖端技术上,那么Dgraph绝对是您应该考虑的事情。

  ⑧如果您在一个传统的关系数据库管理系统(例如MySQL,SQL

  ⑨Server或Oracle中运行五个以上的表,并且您的应用程序需要五个或更多的外键,则图数据库可能更合适。如果您正在运行像MongoDB或Cassandra这样的NoSQL数据库,迫使您在应用程序层中进行联接,那么绝对应该看一下迁移到图数据库。

  ⑩为什么我不使用Dgraph?

  Ⅰ如果您的数据没有图结构,即只有一个谓词,那么任何图数据库可能都不适合您。NoSQL数据存储最适合键值类型存储。

  ⅡDgraph生产准备好了吗?

  Ⅲ我们建议将Dgraph用于公司的生产中。在此阶段,次要发行版可能无法向后兼容;因此,我们强烈建议您经常使用出口商品。

  ⅣDgraph快吗?

  Ⅴ我们运行过的所有其他图形系统,Dgraph的速度至少快了倍。它只是从那里上升。但是,这是轶事。

  Ⅵ以下是一些实际的基准:

  Ⅶ针对NeoJ的Dgraph –检查此博客文章

  Ⅷ反对Cayley的Dgraph –检查此github存储库(贷给Ankur Yadav

  ⅨDgraph如何获得许可?

  ⅩDgraph已获得Apache v.的许可。许可证的全文可在此处找到。

  ㈠Dgraph对其持久性存储有何用途?

  ㈡Dgraph v.及更高版本使用Badger(用纯Go编写的持久键值存储。

  ㈢Dgraph v..x及以下版本使用RocksDB作为键值存储。RocksDB用C

  ㈣++编写,要求cgo与Dgraph一起使用,这引起了一些问题。您可以在此博客文章中阅读有关它的更多信息。

  ㈤为什么Dgraph不使用BoltDB或RocksDB?

  ㈥BoltDBRWMutex的所有读取和写入都依赖于一个全局锁。这会对Dgraph的发布列表的迭代和修改的并发性产生负面影响。因此,我们当时决定不使用它,而是使用RocksDB。另一方面,RocksDB支持并发写入,并且已在Google和Facebook的生产环境中使用。

  ㈦今天,我们使用Badger(我们构建的高效且持久的键值数据库,该数据库是用Go编写的。我们的博客介绍了“为什么我们要在Dgraph的RocksDB中选择Badger

  ㈧”中选择Badger的理由。如今,Bad在Dgraph以及许多其他项目中使用。

  ㈨Dgraph可以在其他数据库(例如Cassandra,MySQL等上运行吗?

  ㈩不会。Dgraph本机可以存储和处理数据,以确保对性能和延迟具有完全控制。Dgraph和磁盘之间唯一的关系是键值应用程序库Badger。

  Dgraph是否支持GraphQL?

  Dgraph最初旨在完全支持GraphQL。但是,随着我们对语言的使用经验的增长,我们开始碰到缝隙。它无法支持用于与Graph数据进行交互的语言所需的许多功能,我们认为其中某些功能是不必要且复杂的。因此,我们创建了一个简化的功能丰富的GraphQL版本。由于缺乏更好的名称,我们将其称为DQL。您可以在此处了解更多信息。

  Dgraph何时会支持Gremlin?

  Dgraph将致力于在v.之后支持Gremlin。但是,这不是一成不变的。如果我们的社区希望Gremlin支持与诸如Tinkerpop之类的其他框架进行交互,我们可以更早地寻求支持。

  Dgraph会支持Cypher吗?

  如果有需求,Dgraph可以支持Cypher。很有可能是在v.之后。

  Dgraph可以支持X吗?

  请参阅Dgraph产品路线图,了解我们计划支持的产品。如果request X不是,请随时在forum.dgraph.io上进行讨论,或提交Github

  Dgraph是开放式内核吗?

  是的。Dgraph的主要核心是在Apache

  .许可下。企业功能将根据专有许可发布。与其他数据库不同,我们包括在开放源代码许可下分布式运行Dgraph,因为我们希望所有用户都能够随着需求的增长而扩展。

  Dgraph是否会得到很好的支持?

  是的。我们得到了风险投资的资助,并计划将这些资金用于发展。我们拥有一支由真正聪明的工程师组成的专门团队,将其作为全职工作。当然,我们始终欢迎来自更广泛社区的贡献。

  Dgraph如何计划作为一家公司赚钱?

  现在说还为时过早。我们很有可能会提供商业许可的插件并向感兴趣的客户提供付费支持。这种模式将使我们能够继续推进Dgraph,同时恪守我们对保持核心项目自由开放的承诺。

  我如何为Dgraph贡献力量?

  我们接受代码和文档的贡献。请参阅链接以获取有关如何捐款的更多信息。