写点什么

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:501692
用户头像

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

关注

评论

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

Android-App的设计架构经验谈,附学习笔记+面试整理+进阶书籍

android 程序员 移动开发

AndroidHook机制连简单实战都不会凭什么拿高薪,在线面试指南

android 程序员 移动开发

2021Android大厂面试题来袭,Android程序员如何通过跳槽薪资翻倍

android 程序员 移动开发

区块链综述

CECBC

androidwebview设置,享学课堂Android架构师第一期

android 程序员 移动开发

Python代码阅读(第45篇):柯里化

Felix

Python 编程 Code Programing 阅读代码

2021Android常见笔试题,吐血整理

android 程序员 移动开发

电子CRM软件是中小型企业的重要工具

低代码小观

企业管理 系统 CRM 电子 管理应用

四大常用MQ的优缺点和应用场景选择

偶尔善良

RocketMQ RabbitMQ Activemq Kafk

Android 400道面试题通关宝典助你进大厂,Android性能优化推荐书

android 程序员 移动开发

Android-Binder机制及AIDL使用,Android高级面试题

android 程序员 移动开发

BAT面试Java岗经验汇总:面试重点+精选面试120题+6条面试经验!

Java 程序员 面试

Android 400道面试题通关宝典助你进大厂,android插件化开发指南

android 程序员 移动开发

android webview!动脑学院课程值得买吗

android 程序员 移动开发

androidjetpack视频,扔物线五期

android 程序员 移动开发

androidui设计原理,享学课堂Android架构师vip

android 程序员 移动开发

androidui设计,android享学课堂vip课程下载

android 程序员 移动开发

2021Android大厂高频面试题,前方高能

android 程序员 移动开发

中科柏诚与国际经管学院培养人才 助推文化振兴

联营汇聚

阿里的JVM性能优化面试题到底有多难?这四大问题你能答出多少!

Java 编程 程序员

价值百万!深入学习Java高并发编程(第三版)全网首发

Java架构追梦

Java 架构 面试 线程 并发

androidwebview开发,动脑学院vip视频破解

android 程序员 移动开发

模块1实战

在路上

Android-MVP模式详解,差点无缘Offer

android 程序员 移动开发

令人心动的1024 | 旺链科技为全体程序员们准备了满满惊喜!

旺链科技

区块链 程序员 1024我在现场

webpack 或 esbuild:为什么不是两者兼而有之?

吴脑的键客

JavaScript 大前端 webpack

2021Android大厂面试题来袭,腾讯T3面试官透露

android 程序员 移动开发

Activity的6大难点你会几个,安卓开发权威指南

android 程序员 移动开发

Android中高级岗面试为何越来越难,细节决定成败

android 程序员 移动开发

Android之内存泄漏调试学习与总结,面试总结

android 程序员 移动开发

Android事件体系全面总结+实践分析,爆火的Android面试题

android 程序员 移动开发

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