写点什么

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

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

关注

评论

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

Spring Boot 中的 “依赖管理和自动配置” 详解透彻到底(附+详细代码流程)

EquatorCoco

Java spring 后端

NFT/数字藏品开发逻辑,NFT/数字藏品系统开发源码实例

V\TG【ch3nguang】

TiDB 究竟抖还是不抖?

TiDB 社区干货传送门

版本升级

论被动元数据的弊端,以及主动元数据的技术优势

Aloudata

元数据 数据管理 全链路数据血缘 数据血缘

JeecgBoot应用Spring Authorization Server

JEECG低代码

“人手一个贾维斯”的愿望,正在被“视频通话”功能带进现实

Alter

拿起智能体的金箍棒,化身AI天命人

脑极体

AI

对比 Vitess,ShardingSphere 有哪些不同

京东科技开发者

MySQL 索引合并优化实践

爱可生开源社区

MySQL 索引

华为大咖说丨企业数字化转型如何开展顶层设计?

华为云PaaS服务小智

华为云 企业数字化

Java ORM 框架指南

FunTester

「激荡五十年」艰难起步的八十年代

不惑

数据库 历史 科技简史 发展趋势 前世今生

出海浪头之上,共探CDN进化新支力

MasterInTech

从 Oracle 到 TiDB 丨数据库资源评估指南

TiDB 社区干货传送门

迁移

2024年你应该使用的6个JavaScript库

伤感汤姆布利柏

9个JavaScript库,让你早下班2小时

秃头小帅oi

数据资产新视角 要素化与资产化的双轮驱动

郑州埃文科技

数据治理 数字经济 数据要素

一个比 Nginx 还简单的 Web 服务器

江南一点雨

Apache顶级项目ShardingSphere — SQL Parser的设计与实现

京东科技开发者

火山引擎携手Keep,让线上健身更快更稳

火山引擎边缘云

CDN 健身 CDN加速 CDN技术 CDN带宽

永续合约快进快出套利策略

Silently9527

比特币 量化交易

MySQL Undo 工作机制历史演变

爱可生开源社区

MySQL innodb 事务 Undo

亚信安慧AntDB数据库分布式集群在线升级

亚信AntDB数据库

AntDB

全球化游戏直播平台设计开发:如何应对不同地区的审美差异?

软件开发-梦幻运营部

效率跃升16倍!火山引擎ByteHouse助力销售数据平台复杂查询效率大幅提高

Geek_2d6073

我们写的代码是如何被用户看到的——前端篇

阿里技术

前端

Endpoint Central终端管理软件适合什么样的IT用户?

Geek_a83400

AI自动化副业创收班手把手带你提升副业收益

测吧(北京)科技有限公司

测试

开源活动预告|抖音集团专家聚焦电商、PB 级实时场景带来数据技术分享

字节跳动开源

数据迁移工具应具备的新式延迟诊断功能

爱可生开源社区

数据迁移 MySQL、 #OceanBase

【案例分享】如何利用京东云建设高可用业务架构

京东科技开发者

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