• 我的订阅
  • 科技

微信wcdb重大升级:新增支持了 C++

类别:科技 发布时间:2024-04-10 01:59:00 来源:浅语科技

4月9日消息,WCDB是微信团队开源的一款基于SQLite的终端数据库。自2017年6月开源以来,已经推出了十多个版本。

然而,作为国内乃至全球范围内使用数据库最频繁的App,微信内部涉及上百种不同业务的数据库,存储的消息条数可达百万乃至千万级别。这种庞大的数据量和日益丰富的应用场景,给WCDB带来了不断更新的需求和挑战,原有的代码框架逐渐难以应对。

因此,自2019年起,微信决定放弃接口的向后兼容性,全力打造一个更加强大的新版WCDB。经过多次迭代,WCDB的接口层和核心逻辑层已经得到了全面改进,同时也积累了许多新功能。

如今,微信宣布将该重大升级的新版本WCDB进行开源,主要变化及更新包括:

更丰富的开发语言支持:新增支持了C++,完整支持了Java和Kotlin语言的ORM,覆盖更多终端平台;

更强大的SQL表达能力:对Winq进行了重写、强化等;

更安全的数据存储能力:全新的数据备份方案、修复方案等;

更灵活的数据扩展能力:数据迁移、数据压缩等;

更细致的性能优化能力:FTS5优化、可中断事务等。

据介绍,WCDB1.0版本支持Objective-C、Swift、Java三种开发语言,但是三种语言的WCDB除了共用同一个版本的SQLite和共用同一套备份修复逻辑,其他代码都是独立开发的。

随着WCDB不断迭代,WCDB的很多新能力都是在ObjC版本上开发完成和上线验证,Swift和Java版本基本处于停止迭代的状态,他们之间的差异也越来越大。在理想的状态下,不同语言版本的WCDB应该拥有同样的能力,但是如果把ObjC版本的新逻辑重新在Swift和Java上实现一遍,不仅工作量大,还容易出错,需要再次上线验证,不太现实。

幸运的是,ObjC版本的WCDB的核心逻辑都是用C++实现的,ObjC只是用来实现接口层的逻辑。很多支持多种开发语言的库都是使用C++语言来实现核心逻辑,其他语言只是用来实现接口层,比如很热门的客户端NoSQL数据库组件realmDB就是如此。WCDB也可以按照这个思路来设计,这样ObjC版本的WCDB只需小幅调整,将核心逻辑完全改用C++来实现,Swift和Java通过桥接方法来接入C++核心逻辑。

此外,为了充分支持微信各端不同场景的数据库开发需求,WCDB还扩展支持了C++和Kotlin,这样就完整覆盖了现在终端开发的主流语言。

微信wcdb重大升级:新增支持了 C++

在接口层面,新版WCDB全面支持了C++、Java、Kotlin、Swift和ObjC这五种主要的终端开发语言,覆盖了Android、iOS、Windows和Linux这四大终端平台。同时,微信还对Winq进行了重写和强化,使开发者能够在各种语言中使用原生语法编写任意SQL。

在功能层面,新版WCDB推出了全新的数据备份和修复方案,提升了数据修复率,同时将数据备份的性能消耗降至可忽略不计。

此外,微信还重点推出了数据迁移和数据压缩这两个新功能,让开发者通过简单的配置,就能处理复杂业务中的数据过度聚集和数据过度膨胀这两大难题。新版WCDB还推出了FTS5优化和可中断事务等新特性,使开发者在特定场景下可以实现更极致的性能优化。

新版WCDB已在Github开源

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2024-04-10 09:45:07

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

更多关于C++,升级,支持,数据,C++,语言的资讯:
我用 Rust 改写了自己的C++项目:这两个语言都很折磨人!
...执行文件”的配置吧。最小化依赖功能多个 crate 的拆分支持可选功能,而部分可选功能都是默认启用的,具体功能可以通过 cargo tree 命令查看
2023-01-24 12:00:00
tiobe12月编程语言排行榜c++首次超越java进入前三
12月13日消息,新的数据声称,C++是当今开发者使用的最流行的三大编程语言之一。...
2022-12-13 15:44
...起运行,以执行各种任务(ClangFormat、Clang-Tidy、MISRA检查、数据流分析等)。对于CLionClassic用户来说
2023-11-14 13:30:00
谷歌bard支持使用c++等20多种语言编写代码
谷歌于今天发布新闻稿,宣布其聊天机器人Bard现支持使用C++和Typescript等20多种语言编写代码。翻译博文部分内容如下
2023-04-22 19:57:00
不要再用 C/C++ 的这种说法了!
...使用“C/C++”这种说法,因为这属于两种完全不同的编程语言,以下是他解释的原因。原文:https://brycevandegrift
2023-05-22 12:00:00
tiobe公布2023年1月编程语言排行榜:c++成最佳编程
...消息,软件测试公司Tiobe会跟踪软件开发人员所使用编程语言,并每月根据流行程度来发布榜单。在今天公布了 2023年1月编程语言排行榜中,该公司评选C++成为2022年度最佳
2023-01-07 21:42:00
谷歌大量核心产品使用c++代码编写
...码编写,使用Rust完全重写代码并不实际,因此在谷歌的支持下,Rust基金会创建了“InteropInitiative”计划
2024-02-20 01:06:00
C++ 涨幅依旧亮眼,Visual Basic 一降再降!TIOBE 5 月榜单发布
...出了. Net,并在 2020 年 3 月官宣:微软将在. Net 5.0 上继续支持 Visual Basic,此后不再会添加新功能或继续发展该语言
2023-05-06 22:00:00
C++ 正在向 C 发起“进攻”!TIOBE 7 月榜单发布
...ws)一月一度的 TIOBE 榜单又发布了,快来看看 7 月的编程语言排行榜有什么最新变化吧!C++ 正在向 C 发起“进攻”
2023-07-10 20:00:00
更多关于科技的资讯: