Engula 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Engula 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Engula 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache-2.0
开发语言 Rust
操作系统 跨平台
软件类型 开源软件
所属分类 云计算云原生
开源组织
地区 不详
投 递 者 白开水不加糖
适用人群 未知
收录时间 2021-09-01

软件简介

Engula 是一款全新的存储引擎,旨在帮助工程师们更加从容地构建可靠、高性价比的数据库。设计目标如下:

  • 云原生,把存储引擎的计算、缓存、日志和文件等组件分离,使得各个组件能够按需使用云上的弹性资源

  • 智能化,根据业务负载对底层的存储结构进行自我优化

  • 可扩展,提供灵活的 API 让用户更加方便地实现自己的业务逻辑

  • 平台中立,支持灵活的部署方式,在物理机、私有云和公有云环境都能很好的运行

Engula 是用于下一代数据基础架构的云原生存储引擎。旨在以最低的成本在云平台上提供可靠和高性能的服务。云平台提供可以按需配置的弹性资源,这为重新构建存储引擎以利用它提供了广泛的机会。为了实现这一目标,Engula 从头开始​​设计,以充分利用这些平台上的弹性资源。

Engula 将经典存储引擎的组件拆分为单一功能单元。例如,有些单元负责数据存储,有些单元负责命令执行。每个单元都是一个轻量级的容器,运行在一个节点上,并在该节点上拥有一定数量的资源。节点由运行平台提供,构成统一的资源池为单元提供服务。也就是说,Engula 可以看作是一个整体提供存储服务的单元编排系统。

Engula的设计原则如下:

  • 首先使其简单可靠,然后使其具有成本效益和高性能。
  • 使其足够智能,只需最少的操作和配置。
  • 避免平台未内置的外部依赖项。

目前 Engula 还处于非常早期的阶段;可查看路线图以了解更多详情。

use std::sync::Arc;

use engula::{
    Database, FileSystem, JobRuntime, LocalFileSystem, LocalJobRuntime, LocalJournal, LocalStorage,
    Options, StorageOptions,
};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let options = Options {
        memtable_size: 1024,
    };
    let storage_options = StorageOptions::default();
    let dirname = "/tmp/engula";
    let fs = LocalFileSystem::new(dirname)?;
    let fs: Arc<Box<dyn FileSystem>> = Arc::new(Box::new(fs));
    let job = LocalJobRuntime::new(fs.clone());
    let job: Arc<Box<dyn JobRuntime>> = Arc::new(Box::new(job));
    let storage = LocalStorage::new(storage_options, fs, job)?;
    let journal = LocalJournal::new(dirname, false)?;
    let db = Database::new(options, Box::new(journal), Box::new(storage)).await;
    for i in 0..1024u64 {
        let v = i.to_be_bytes().to_vec();
        db.put(v.clone(), v.clone()).await?;
        let got = db.get(&v).await?;
        assert_eq!(got, Some(v.clone()));
    }
    Ok(())
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
暂无内容
暂无内容
0 评论
1 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部