AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

RavenDB 3.0 即将发布

  • 2014-03-12
  • 本文字数:1715 字

    阅读完需:约 6 分钟

最近 Ayende Rahien 在一篇博客文章中透露他们刚刚对少数外部人员发布了 RavenDB 3.0 alpha 预览版。他表示:在过去 18 个月左右的时间里我们一直在研发 RavenDB 3.0,该版本中的某些部分实际上从 2011 年就开始研发了,只不过一直到现在才真正发布到产品中。

对于新版本中的主要亮点,Ayende Rahien 首先谈到的是索引,他说:在提高索引性能方面我们做了大量的工作,但是实际上这些都是次要的。在这个版本中我们真正关注的东西是操作索引的问题。

在内部我们不再使用索引名称。这意味着我们能做一些愚蠢的事情,例如实现异步索引删除。之前有大量索引(特别是 map/reduce 或者有 LoadDocument 调用的索引)的用户发现删除一个索引可能会花费相当长的时间。但是基于现在的实现方式,我们能够立即删除索引,实际上是在后台做清理。

用户碰到的另一个操作问题是新索引的引入。如果要引入的索引仅仅覆盖了一个很大数据库的一小部分,那么问题尤其严重,创建过程通常会花费很长的时间。这是因为必须要遍历完数据库中的所有文档才行。我们在新版本中做了一些优化,只需要处理相关的文档,速度比以前快多了。

新索引在引入的时候会和其他正在运行的索引完全分离,你不需要处理新索引会减缓其他索引的问题。同时在这种方式下大的删除也不再会影响索引的性能,因为我们现在能够更好地处理交叉。

此外,我们还提供了更好的报告,你能够清楚现在正在对哪些内容进行索引,能够看见索引正在做什么,以及相应的操作。

从开发的角度来看,我们还添加了一些非常好的东西,包括索引附件的能力、在索引代码中添加一些更好的情景感知等。

接下来 Ayende Rahien 介绍了 RavenFS。他认为 RavenDB 的附件并不是很完美,有很多想要使用附件的用户发现他们无法看到附件,也没法以有意义的方式搜索附件。更重要的是,附件有一些限制,因为按照他们的预期附件是相对较小的。对于那些期望获得更好服务的用户而言,RavenFS 就是答案。

RavenFS 是一个复制文件系统,它支持非常大的文件,同时还支持使用和管理它们所需要的所有设施。我们很明确地将它设计为一个地理分布式系统,对于那些需要共享非常大且会经常变化的文件的系统而言,它能够大幅降低网络负载。

在即将举行的 RavenDB 大会上我有一个主题演讲,那时候我会对 RavenFS 进行详细的介绍。我认为它非常酷,同时也有一些非常好的用例,在过去的两年间已经有一些客户在产品环境中使用它了,所以我们已经有一些非常好的经验。

Ayende Rahien 表示对于使用 RavenDB 的用户而言一个完整功能的 JVM 客户端将为他们开辟更多的战线。现在已经有一些用户在使用该 API 构建应用程序了。在 3.0 交付之后他们还打算提供更多针对其他平台的客户端。

谈到 RavenDB 3.0 中的内部变化,Ayende Rahien 表示:

实际上我们在内部做了很多变化。但是其中最重要的一个变化是我们现在将 RavenDB 托管在了 OWIN 和 Web API 之上。对我们自己的 HTTP 服务器的改变已经完成,这是为了帮助用户有更好的基础去理解 RavenDB 内部的工作原理,同时也为了鼓励捐助。它还允许我们做一些非常好的事情,例如有一个端点记载一台 RavenDB 服务器中的所有端点。

另一个重要的变化是我们正在远离 Silverlight Studio,取而代之的是一个崭新的 HTML5 Studio。这非常令人兴奋,特别是整体性能以及系统的响应能力变得非常好。

在新版本中还有一个新的存储引擎 Voron,事实上它还是一种新的数据存储方式,RavenDB 就使用它存储事务性数据。该引擎并没有被限制为 RavenDB 现在需要做的事情,它可以做更多的事情。RavenDB 3.0 中已经有了在 Voron 上运行的选项。同时 Ayende Rahien 还表示他们使用整个 RavenDB 测试套件(有超过 3 千个测试)对 Voron 进行了测试,所有的测试均成功了。

最后 Ayende Rahien 谈到了一些运维方面的事情:

我们关闭了性能计数器,因为它会引发无休止的运维问题(损坏的计数器、权限问题等),取而代之的是一个内部的度量类库。因为是内部的,所以我们能够向系统中添加更多更有意义的度量标准。

我们有新的端点暴露更多的内部状态。我们改进了定期备份支持,让它更好用——现在能定义每周全部导出或者每天定期导出。对于运维人员来说新版本有很多非常好的功能可以让他们洞悉系统当前的运行情况。

2014-03-12 05:501877
用户头像

发布了 321 篇内容, 共 127.0 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营-学习笔记-第二周

心在飞

极客大学架构师训练营

设计模式

张瑞浩

依赖倒置原则以及week2 作业

不在调上

极客大学架构师训练营

学习总结-编程本质与架构设计原则

飞雪

【省吾身】创新及其发生条件

luojiahu

创新 日常思考

以“血联网”缓解“血荒” “硬科技”赋能生物安全

CECBC

区块链技术 智慧血站 物联网化

架构师训练营-命题作业2

水边

极客大学架构师训练营

「架构师训练营」学习笔记:第 2 周

Amy

极客大学架构师训练营 作业

作业

飞雪

认识依赖倒置原则(DIP)

极客大学架构师训练营 第二周作业

极客时间架构师训练营 - week2 - 作业2

jjn0703

极客大学架构师训练营

极客时间架构师训练营 - week2 - 作业1

jjn0703

极客大学架构师训练营

Flink on Zeppelin (1)入门篇

Geek_8o1tcx

大数据 flink 流计算 Zeppelin

week2 学习总结

不在调上

思维模型 - 组合式创新

石云升

思维模型 组合式创新 拆解组合

互金总结系列(2)-- 前后端分离

互金从业者X

这 10 行比较字符串相等的代码给我整懵逼了,不信你也来看看

程序猿石头

性能优化 信息安全

每周 ARTS 第 33 期

落英坠露

ARTS 打卡计划

架构师训练营第2周作业

风吹

一文讲透SpringMVC

知春秋

spring springmvc Servlet

架构师训练营-每周学习总结2

水边

极客大学架构师训练营

架构师训练营第二周作业

小树林

学习笔记-第二周

薛定谔的🐴

极客大学架构师训练营

ARTS-WEEK3

一周思进

ARTS 打卡计划

如何更好的使用Gson

Jackey

Java Gson

ARTS-WEEK2

Allen

设计模式原则

张瑞浩

ARTS-week-3

youngitachi

ARTS 打卡计划 arts

「编程模型」C++资源引用

顿晓

c++ 智能指针 shared_ptr make_shared 资源引用

架构师训练营——Week2作业

Shawn

架构师训练营作业(二)

Glowry

极客大学架构师训练营

RavenDB 3.0 即将发布_语言 & 开发_孙镜涛_InfoQ精选文章