Tair MDB 存储引擎的实现
Tair是一个高性能、分布式、可扩展、高可靠的NoSQL存储系统。本文基于Tair v3.1.2.43版本,探究其mdb存储引擎的实现。
Tair目前有mdb、ldb和rdb等存储引擎。其中mdb是Tair最早的一款内存型产品,也是在公司内部应用最广泛的集中式缓存。特别适用容量小(一般在M级别,50G之内),读写QPS高(万级别)的应用场景。由于是内存型产品,因此无法保证数据的安全性,对数据安全有要求的应用建议在后端加持久化数据源(例如MySQL)。本文接下来详细讨论Tair mdb存储引擎的实现。
Tair的存储引擎接口是src\storage\storage_manager.hpp
里的虚基类storage_manager
。所有的Tair存储引擎均继承实现了storage_manager
这个虚基类。src\dataserver\tair_manager.cpp
文件中的tair_manager::initialize
函数根据配置文件中storage_engine
的设置初始化相应的存储引擎。