我正在开发一个分布式键值系统(或数据存储),它在后端使用levelDB作为其嵌入式数据库库。
我希望一台节点/机器托管多个表(出于复制和负载平衡的目的)。我知道 levelDB 没有表的概念,所以我不能以表的形式对我的数据进行逻辑分区(因此不能将这些表用作我的基本分布单位)。
我的问题是:是否有规定在 levelDB 的单个实例中拥有多个“逻辑表”?
据我所知,我可以在我的节点上运行多个 levelDB 实例,每个实例处理一个表。但我不想这样做,因为在这种情况下,当同时访问这些多个数据库实例时,会出现严重的争用(我相信在磁盘上)。虽然在单个 DB 实例中拥有多个逻辑表可以为我提供 levelDB 优化的优势,以最大限度地减少磁盘访问。