PikiwiDB
  • 1,946
    Commits 数量
  • 5,600
    Star 数量
  • 113
    Contributor 数量
  • 279
    Watch 数量
  • 1,200
    Fork 数量
  • 1,292
    PR 数量

项目简介:

PikiwiDB 是一个用于存储数据的数据库,它是一种高吞吐、低延时、可持久化的分布式大容量类Redis存储服务,它完全兼容了 Redis 协议,拥有性能优越以及存储成本低的有点,解决了Redis内存容量大小限制以及存储成本高的问题。

项目特点:

技术价值:
PikiwiDB 是一种可高吞吐、低延时、可持久化的分布式大容量类Redis存储数据库,它完全兼容了 Redis 协议,比如常用数据结构 bitmap、string、hash、list、set、zset、geo、hyperloglog 等,用户无需做代码修改, 即可把服务从 Redis 迁移到 PikiwiDB 服务。PikiwiDB 底层采用了 Rocksdb 作为存储引擎,支持数据存储化存储,提供了毫秒级别的延时性能,提供了 TB 级别的存储能力,解决了 Redis 内存容量大小限制以及高成本的问题。此外,PikiwiDB还支持主从复制、分布式、水平拓展集群和故障自愈能力,以满足分布式业务场景下用户的需求。目前,PikiwiDB 也积极在 Serverless 领域进行探索,以给用户带来更流畅的使用体验!

业务价值:
如今,PikiwiDB正在开发Serverless架构的相关功能,Serverless 架构是目前业界最新发展趋势,它可以将应用程序的开发周期缩到最短,因为它可以实现自动管理应用程序的部署和运行,从而减少了开发人员需要管理的基础架构和服务器的数量。同时,Serverless 架构可以根据应用程序的需求动态地分配和释放资源,从而实现更高的可伸缩性,使应用程序可以在高峰期自动扩展,在低峰期自动缩减资源,从而提高资源利用率,并保障了服务在任何时刻的高可用性。这个功能也正是目前市场上已开源产品所缺失的功能,这也将成为PikiwiDB的核心竞争优势。

国内外开源的 KV 数据库,比如 Redis、RiakKV、Tigris、Todis 等,都在 serverless 领域进行了探索,比如存算分离、云化存储、弹性伸缩、故障自愈等。但是,业界在这些功能的实现上都还有不少的缺陷,比如,如何在云化存储时保证程序的性能、如何实现用户无感知的弹性伸缩、如何实现稳定的自动运维等问题。在高性能、低成本、易用性、用户范围和社区活跃度等方面,PikiwiDB也一直走在业界前列;在开源社区,以及国内互联网公司也得到了大家很多的认可。

我们拿业界使用最广泛的Redis和PikiwiDB做压测比较,在同样的硬件条件下;SET命令PikiwiDB的吞吐量 能达到22万,Redis的吞吐量为18万,GET 命令PikiwiDB的吞吐量可以达到50万QPS,Redis的吞吐量为19万;其他的大部分命令,PikiwiDB的吞吐量都要比Redis更优秀。详情可以参考文档:https://deep011.github.io/PikiwiDB_benchmark。

生态价值:
由于PikiwiDB项目优秀的性能以及低成本优势,使得PikiwiDB在行业内受到广泛的欢迎,在一些大公司内部都有在线上环境部署和使用PikiwiDB。例如,PikiwiDB 在 360 内部部署实例 10000+,覆盖了公司内部搜索、浏览器、游戏等多个大流量的业务场景,给各个业务线提供了高吞吐(30W QPS)、低延时(2ms 延时)以及低成本(数据持久化到磁盘)的 KV 服务,每年为公司带来1.2亿元的成本收缩;喜马拉雅公司基于 PikiwiDB 进行改进并开源了 XCache 服务,截止目前 XCache 在喜马拉雅公司内部署实例数量 6000+,数据量 120TB+;微博公司内部部署 PikiwiDB 实例 10000+,日承接数据千亿级别,保障了新浪内部高流量的业务的稳定性;个推公司内部基于 Codis 搭建了 PikiwiDB 集群,目前部署了 300+ PikiwiDB 实例,总数据量达到了 30TB+;除此之外,美团、小米、迅雷、脉脉、58同城、唯品会、亿玛等公司,也在公司内部使用了 PikiwiDB 服务,满足业务的同时降低使用成本。

项目架构:

单机架构:

集群架构: