ToplingDB 的 CompositeUintIndex
在特殊的 CO-Index 中,除了 UintIndex,还有 CompositeUintIndex:仍以 MySQL 为例还是 UintIndex 中的那个表:CREATE TABLE Student( id INT PRIMARY KEY&nbs
ToplingDB CSPP MemTable
用户手册cspp-memtable 在 SidePlugin 中配置,类名是 cspp,配置参数:配置样例:使用 yamlMemTableRepFactory: cspp: class: cspp params: &
ToplingDB 的 UintIndex
在 ToplingDB 的 CO-Index(Compressed Ordered Index) 家族中,Nest Succinct Trie 是最通用的。但是,伴随通用的,往往是低效。我们针对一些特殊场景,采用了特殊的实现,用以提高性能……这里面,最特殊的一类 Index,就是 UintIndex,顾名思义,就是 Key 为 unsigned int 时的 index。以 MySQL 为例在 M
ToplingDB 使用入门
本文原始链接:101 · topling/rockside Wiki从 RocksDB 迁移到 ToplingDB,只需要修改 Open/Close 相关的代码,其它代码不用任何改动。示例代码(省略错误处理,完整版在这里)#include <topling/side_plugin_repo.h> #include <rocksdb/db.h> int
为什么分布式数据库这么喜欢用kv store?
优秀的软件系统,都是采用“分层”架构的,kv store,就是数据库系统中最关键的一个层级。上层是关系数据库,底层用 kv store,是数据库系统一个自然的演化结果。在 kv store 这个层级,RocksDB 现在是无可争议的事实标准,所以大家可以看到,RocksDB 几乎无处不在,于是就有人惊呼:RocksDB Is Eating the Database World。我是 To
为什么 ToplingDB 不需要针对反向扫描做优化
按照 ToplingDB 的设计哲学,至少在软件层面,反向扫描没有理由比正向扫描更慢。然而,这个被我们认为是自然而然的事情,却被很多主流的数据库认为是极难实现,甚至不可能实现的。于是,他们发明了一种叫做 降序索引 的东西:数据库降序索引(或其变形)MySQL 8.0Descending IndexMyRocks (MySQL + RocksDB)Reverse Column F
ToplingDB 的内嵌 Web
内嵌 Web 这事,相信玩过服务器的人都知道,有很多服务器(例如 Dell)可以通过浏览器 Web 启动、安装操作系统……,它们是在 BIOS(暂且叫 BIOS 吧) 中集成了一个 WebServer!所以,ToplingDB 内部集成一个 Web 并不奇怪——可以在阿里云上免费体验 Todis 内测版(底层使用 ToplingDB)。ToplingDB 内部集成的这个 Web 是 SidePlu
控制内存使用的 WriteBufferManager
在你使用了很多个 ColumnFamily 的情况下,可以使用 WriteBufferManager 对 MemTable 的内存总量进行约束。我们在开发 Todis 的时候也有类似需求,不过借助于 ToplingDB 的 SidePlugin 体系,可以让这一切变得更加轻松。RocksDB 中使用 Column Family 对数据库进行逻辑分区,每一个 KeyValue 属于一个特定的 Col
Todis 的数据库引擎 ToplingDB 的 SidePlugin 配置系统
本文转自雷鹏,原文链接雷鹏:ToplingDB SidePlugin 配置系统本文排版针对大屏优化,手机浏览请横屏本文排版针对大屏优化,手机浏览请横屏ToplingDB 配置系统当年在 TerarkDB 中,我为了实现无缝集成 TerarkZipTable,避免用户修改代码,使用了一种非常 Hack 的方案:在 DB::Open 中拦截配置,如果发
Todis 的数据库引擎 ToplingDB 的使用入门
本文原始链接:101 · topling/rockside Wiki从 RocksDB 迁移到 ToplingDB,只需要修改 Open/Close 相关的代码,其它代码不用任何改动。示例代码(省略错误处理,完整版在这里)#include <topling/side_plugin_repo.h> #include <rocksdb/db.h> int
推荐一个好用的云原生数据库 Todis
推荐 Todis 数据库,真正的云原生外存版 Redis 数据库:云数据库,一般指的是云原生数据库,而云原生数据库,不是把“数据库软件”搬到云上,变成所谓的 DBaaS 就可以了,必须能把“云”的优势发挥出来,“云”的优势在“云原生数据库”中如何体现,我们可以简单总结几点:物美价廉,一手交钱,一手交货:我付完款,马上就得到这个 DB 服务,这一点,大家都能做到数据存储,弹性伸缩:按照实际使用量计费
Todis 的存储模式
在公有云上,块存储、文件存储、对象存储这三者分别对应不同的产品,满足用户不同的需求。作为用户,我们最关心的是功能和性能,性能又可再展开为延迟、带宽、可扩展性。块存储文件存储对象存储功能最少最多适中延迟最低适中最高带宽适中适中适中可扩展性较差适中最好,聚合带宽极高其中,对象存储的容量、带宽的可扩展性都极高,从而,我们可以看到,大量基于公有云的 SaaS 都使用了对象存储,最大名鼎鼎的,莫过于 Sno
Todis 数据库体验:第三弹
当前各大云厂商都推出了自己的分布式KV存储服务(兼容Redis协议),阿里云的tair,腾讯云的tendis。华为云的gaussdb for redis,百度参与的kvrocks(好像即将推出?),360的pika,社区上的分布式kv存储更是遍地开花,各大云厂商使用服务的社区版本,以及todis,kvrocks等,感觉随着各种碎片化的数据量的不断增加,分布式KV存储的应用场景将越来越广泛,rock
Todis 数据库体验:第二弹
Todis 使用体验Todis 是 Topling(拓扑岭)公司出品的兼容 Redis 的分布式数据库,解决Redis由于存储数据量巨大而导致内存不够用的容量瓶颈。Todis 基于 Pika 开发,Pika 底层使用 RocksDB, 而 Todis 将其换成了基于 RocksDB 改造的 ToplingDB。根据其官网的介绍,拥有非常棒的性能,解决了许多 Redis on RocksDB 的痛点
Todis 数据库体验:第一弹
在3个月前对云原生数据库没太有概念,在朋友的推荐下使用了下Topling(拓扑岭) 推出的Todis云原生数据库,根据Topling(拓扑岭)官方的介绍Todis 是 Redis On ToplingDB,兼容 Redis 的分布式数据库。兼容 Redis这方面在使用过程中,我觉得做得很好,Redis换成Todis基本是0成本,代码无需任何的改动,这一点做得还是挺人性化。本人体验Todis云原生数
如何看待 Todis 的数据存储编码格式?
简单的来说,对于原版 Pika , Blackwidow 的储存编码方案已经很优秀了;但可惜的是,对于 Todis 来说,原版储存编码方案存在一个致命的缺陷。我们不得不重新设计了现在的编码方式。
Todis的性能那么强,真是因为分布式Compact吗?
1.6T的数据,不到10个小时就写完了,折算下来速度接近50M/s。 他们说是因为使用了分布式Compact,既然那么厉害,为什么没有听说有哪个大厂也这么干的? rocksdb的remote compaction我们也简单尝试过,但远远没有这么夸张,不知道Todis还做了哪些优化