【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

LedisDB——Go 编写的高性能 NoSQL 数据库

  • 2014-08-13
  • 本文字数:943 字

    阅读完需:约 3 分钟

在 7 月 24 号发布 0.1 版本后,8 月 5 号 LedisDB 0.2 版本发布。LedisDB 是一个用 Go 语言编写的高性能 NoSQL 数据库,它支持多种高级数据结构,如 kv、list、hash、zset、bitmap,也许可以作为 Redis 的替代方案。

LedisDB 现在支持多种后台数据库,包括 LevelDB、goleveldb、LMDB、RocksDB 和 BoltDB。用户可以通过测试选择一种合适的。如果用户没有进行配置,那么它将默认使用 goleveldb 来存储数据。它提供了两种设置存储数据库的方式,一种方式是在服务器配置文件中设定:

db_name = "leveldb"另一种方式是在命令标志中指定:

ledis-server -config=/etc/ledis.conf -db_name=leveldb第二种方式会覆盖第一种方式。但有一点必须注意,在运行时更改存储数据库非常危险,如果这样做,那么 LedisDB 将不会保证数据有效性。

LedisDB 使用 toml 作为首选配置格式,不过,因为某些历史原因它也支持 json。LedisDB 源代码中的基本配置./etc/ledis.conf 可以提供一些参考。当然,用户也可以不进行配置,它会使用默认配置。

LedisDB 还有其它若干重要的特性:

  • 存储大量的数据,而无需考虑内存瓶颈。
  • 支持失效和 TTL。
  • 直接支持 Redis 客户端,如 redis-cli。
  • 支持多种客户端,包括 Go、Python 和 Lua(OpenResty),后续还会增加对 C/C++ 客户端 API 的支持。
  • 可以方便地嵌入用户自己的 Go 应用程序。
  • 支持 Restful API 及 json/bson/msgpack 输出格式。
  • 复制以保证数据安全。
  • 提供加载、转储和修复数据库的工具。

几天前的一次基准测试得出了这样的结论:

  • LedisDB 使用 leveldb 和 rocksdb 作为后台存储数据库时比 Redis 或 SSDB 略慢。
  • 在 LedisDB 支持的数据库中,Imdb 的表现要好于其它数据库,尤其是 zrange* 操作。

虽然测试结果不尽如人意,但它仍然是生产环境中的一种可选 NoSQL 方案。最后,还有一点需要注意,LedisDB 现在更改了数据库保存路径。对于 LevelDB,存储路径为 data­­­_dir/leveldb;对于 LMDB,存储路径为 data­­_dir/lmdb。

要了解更多关于 LedisDB 的细节,可以登录 GitHub 及其官方网站。此外,作者还提供了中文博客


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2014-08-13 02:4110124
用户头像

发布了 256 篇内容, 共 81.9 次阅读, 收获喜欢 11 次。

关注

评论

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

做项目管理,如何对复杂的项目工作进行分解

万事ONES

需求管理 ONES 项目管理工具

Python——双向队列 (deque)

在即

6月日更

MySQL 页完全指南——浅入深出页的原理

leonsh

MySQL 数据库 innodb

react源码解析16.concurrent模式

全栈潇晨

react.js

并发王者课-铂金4:令行禁止-为何说信号量是线程间的同步利器

MetaThoughts

Java 多线程 并发

推荐 3 款超好用的 Docker 图形化管理工具

学神来啦

Docker Linux 程序员 分布式 运维

详解Apache Dubbo的SPI实现机制

vivo互联网技术

dubbo 服务器 spi

智能边缘时代 英特尔携手极视角赋能开发者 助推AIoT发展

E科讯

共享存储设备,如何实现差异化IO分配策略

怀瑾握瑜

云计算 负载均衡 存储 数据中心 SSD

chia奇亚算力挖矿分发APP系统开发

薇電13242772558

区块链

并发王者课-铂金3:一劳永逸-如何理解锁的多次可重入问题

MetaThoughts

Java 多线程 并发

Go语言实现的23种设计模式之结构型模式

华为云开发者联盟

设计模式 组合模式 Go 语言 结构型模式 适配器模式

项目管理100问 | 为什么你的项目进度总是在延期?

万事ONES

项目管理 项目排期 ONES 项目开发

浪潮云说 | 开源新势力—云溪数据库ZNBase

浪潮云

云计算

34岁安卓开发大叔感慨,帮你突破瓶颈

欢喜学安卓

android 程序员 面试 移动开发

从工单到需求管理,企业如何快速响应客户反馈?

万事ONES

项目管理 需求管理 需求 ONES

618大促又来了?3天2次大事故,不堪回首的加班经历……

TakinTalks稳定性社区

压力测试 全链路压测 大促 系统高可用 生产环境全链路压测

一篇文章告诉你 GIS 存储如何选?

焱融科技

技术 容器 分布式 云原生 高性能

密码学系列之:blowfish对称密钥分组算法

程序那些事

加密解密 密码学 程序那些事 密码学和算法

云图说|初识云数据库GaussDB(for Cassandra)

华为云开发者联盟

开源 Cassandra 云数据库 GaussDB(for Cassandra) 宽列数据库

百度一款前端图片合成工具库MI开源啦!

百度开发者中心

百度 开源 图片

EasyRecovery,拯救那些遗失的文件

淋雨

文件恢复 Easyrecovery破解 数据恢复软件 免费数据恢复

34岁Android开发大叔感慨,已拿offer附真题解析

欢喜学安卓

android 程序员 面试 移动开发

掌握鸿蒙轻内核静态内存的使用,从源码分析开始

华为云开发者联盟

鸿蒙 操作系统 内存 静态内存 鸿蒙轻内核

8种图数据库对 NULL 属性值支持情况

华为云开发者联盟

图数据库 null 逻辑 语义网 图模型

曝光一个网站,我周末就耗在上面了。

why技术

Java Arthas

【Flutter 专题】128 图解 ColorTween 颜色补间动画 & ButtonBar 按钮容器

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

不动如山,表备份硬核技术:物理细粒度备份恢复

华为云开发者联盟

集群 数仓 Roach 物理细粒度 备份恢复

JAVA面向对象(八)--封装

加百利

Java 后端 6月日更

HarmonyOS学习路之开发篇——Data Ability

爱吃土豆丝的打工人

HarmonyOS Ability 鸿蒙 Ability Data Ability

云算力挖矿系统APP模式开发方案

LedisDB——Go编写的高性能NoSQL数据库_数据库_马德奎_InfoQ精选文章