当前位置:网站首页>Cnosdb Nirvana Rebirth: abandon go and fully embrace rust
Cnosdb Nirvana Rebirth: abandon go and fully embrace rust
2022-07-26 00:41:00 【CnosDB】

CnosDB Amos in the community , You must have found it recently , be based on Rust Version of CnosDB Isipho Has switched to GitHub master station , And the community team no longer maintains and supports Go Version of CnosDB. First of all, I would like to extend my sincere apology to you , The haste of previous plans and decisions has brought unnecessary trouble to everyone . But with a responsible attitude towards the community , Here I also give you a detailed explanation : Why do we give up Go, hug Rust To build a new time series database .
CnosDB Isipho What is it?
CnosDB Isipho It's based on Rust R & D time series database , High performance 、 High compression ratio 、 High availability features , And in the future, it will meet the requirements of distributed cloud native . from 2022 year 3 Month begins ,CnosDB The team began to GitHub In the open source Isipho Source code , And continue to build the system .CnosDB Isipho Committed to solving the problem of timeline inflation 、 With super large-scale time series support and better ecological characteristics . About CnosDB Isipho Characteristics and collective function structure , You can refer to CnosDB Isipho Road map :cnosdb/README.md at main · cnosdb/cnosdb · GitHub
be relative to Go,Rust Is a better database development language
First version of CnosDB Selected Go As a development language , At that time, I thought Go It can deal with the balance between ease of use and system performance , But as for Go A deep understanding of language , We also found that Go Language is written in database system , Especially in the compilation of time series database .
Go The main problems are :Go runtime It brings GC It will cause performance jitter , And the time series database needs to be extremely stable in a heavy load environment ;Go Support for generics is also bad , Language expression ability is limited , If you need to better operate resources , The requirements for developers are very high . our Go The performance evaluation of this version is not significantly better than the existing head products .Go There are still many problems to be solved in version , In order to meet the challenges brought by cloud Nativity , Better service, better enterprise cloud ,Go Version requires large-scale refactoring of the original version , In order to : Improve distributed scalability and achieve the final consistency model ; Improve the ability of operation and maintenance free ; Improve storage and query performance ; Support multi tenancy at the same time , Cloud native .
When we are troubled by Go The problems caused by language ,CnosDB Of Isipho The team is already Rust It has been working for nearly five months . be relative to Go Language ,Rust It has the following characteristics :Rust nothing GC, More precise memory control , High hardware compatibility ;Rust Support the paradigm match expression , More expressive ;Rust Higher reliability , Various errors can be found during compilation . Developer pair Rust My love is also beyond words .
With Rust Applications in the field of basic software are also booming , even to the extent that Linux And start using Rust Refactoring the system kernel ( Linus Torvalds is cautiously optimistic about bringing Rust into Linux kernel's next release | ZDNet), And more and more database vendors are trying to use Rust To implement the system , We also firmly believe that , Use Rust It can build a better time series database to serve customers .
Why give up Go edition
For an open source community organized by a startup team , Maintain products of two different technology stacks at the same time , Very difficult ; It is also difficult for teams to communicate and manage effectively . The development team has been working hard for two quarters with the technology stack fragmented , And we have observed signs of division in our community , Some amateurs tend to Go Study and use of version , And more developers flock to the community because of our Rust Version and its courses :《 Use Rust Construct a TSDB》.
As mentioned above , Time series database is making great strides towards cloud native ecosystem , stay Go Version, such as multi tenancy 、 Cloud native and other functions , It's almost pushing the original code down and starting over .Rust The version is going well , Let's choose not to continue running blindfolded on the wrong road , But made a difficult choice , give up Go Language version , And put all the development strength of the company into Rust Version development , Deliver better next-generation temporal database products to communities and users .
Now? ,CnosDB Isipho Version of the storage engine has been built , The development team is fully developing the query engine and index function , It is planned to bring the stand-alone version before the end of this year CnosDB Isipho. meanwhile ConsDB We also sincerely hope that the time series database 、 Yes Rust Interested amateurs join CnosDB Community , Contribute code or become a full-time developer . Community activities will not decrease , Everyone is looking forward to CnosDB Isipho At the same time , We continue to launch rich content , Including but not limited to chaos engineering courses and Rust Follow up courses .
It starts with the interconnection of all things , Open source across five continents . I hope you will continue to pay attention to and support CnosDB!
CnosDB brief introduction
CnosDB It's a high performance 、 High usability open source distributed time series database , It has been officially released and fully open source .
Welcome to our code warehouse , One key, three links :https://github.com/cnosdb/cnosdb
边栏推荐
- [GOM引擎]假人配置的脚本设置方法
- Super super super realistic digital people! Keep you on the air 24 hours a day
- Leetcode 笔记 350. 两个数组的交集 II
- 对比7种分布式事务方案,还是偏爱阿里开源的Seata(原理+实战)
- 你还在掐表算时间复杂度?
- Study on gene targeting preparation of tissue plasminogen activator loaded on albumin nano ultrasonic microbubbles
- 【IJCAI 2022】参数高效的大模型稀疏训练方法,大幅减少稀疏训练所需资源
- Nodejs learning resources
- hcia综合实验
- 2022/7/25 考试总结
猜你喜欢

向左旋转k个字符串(细节)

8 tips to adjust database performance optimization, yyds

Research on visualization method of technology topic map based on clustering information

分布式事务 :可靠消息最终一致性方案

Getting started with D3D calculation shaders

BGP comprehensive experiment

Super super super realistic digital people! Keep you on the air 24 hours a day

Find and locate commands

Research on the integrated data quality management system and technical framework under the scenario of data circulation and transaction

SQL time splicing problem, splicing recovery automatically truncated by the system
随机推荐
[array related methods in numpy]
YOLOV2 YOLO9000
Tell you the meaning of unit testing from another angle
Are you still counting the time complexity?
C#从入门到精通(三)
Force deduction record: Sword finger offer (2) -- jz13-22
2022/7/25 exam summary
Research progress of data traceability based on the perspective of data element circulation
Distributed transactions: the final consistency scheme of reliable messages
Data driven DDT for automated testing
[GOM引擎]假人配置的脚本设置方法
Biological JC uvssa complex alleviates myc driven transcription pressure ⼒ English
[oops framework] interface management
Practical exercise | find customers who buy more than n products within a given time range
openvino安装踩坑笔记
力扣记录:剑指offer(2)——JZ13-22
[oops framework] random number generation management
Hcip - republish
Leetcode notes 20. valid parentheses
[GOM engine] script setting method for dummy configuration