实现键值对存储(二)——以现有键值对存储为模型

前端之家收集整理的这篇文章主要介绍了实现键值对存储(二)——以现有键值对存储为模型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文是《实现键值对存储》系列译文的第二篇

原文来自Emmanuel Goossaert (CodeCapsule.com)


本文中,开头我会解释使用现有模型而非重头开始此项目的原因。我会阐述一系列选择键值对存储模型的标准。最后我将对一些广为人知的键值对存储项目做一个概述,并用这些标准选择其中一些作为模型。本文将包含:

1. 不重新发明轮子
2. 备选模型和选择标准
3. 选择的键值对存储的概述
4. 参考文献

1. 不重新发明轮子

键值对存储已经被人们唱好至少30年了[1]。最著名的一个项目是DBM,Kenneth Thompson为Unix第七版编写的最早的数据库管理器并在1979年发布[2]。工程师们遇到了和这些数据库系统相关的一些问题,并选择或放弃了各种设计和数据结构的想法。对实际生活中的问题进行试验并从中学习。如果不考虑他们的工作并从头开始是很愚蠢的,只会重复他们之前所犯过的错误。John Gall的系统学中的Gall定理:

任何可以运作的复杂系统都是从可以运作的简单系统发展而来的。其逆命题同样是真命题:由无法正常运作的系统设计而来的复杂系统是不可能正常运作的。你必须重头再来,从一个可运作的简单系统开始。

这段引述为我的键值对存储项目开发带来了两个基础思想。

1. 使用模型。我需要识别出那些存在了一段时间的键值对存储,甚至更进一步,先前成功的键值对存储的继任者。这是其可靠设计的证明,并随着时间在迭代中凝练。这些选择过的建筑的存储应该作为我现在正在工作的项目的模型。

2.起点小。这个项目的第一版必须小且简单,这样它的设计就能简单的测试并通过。如果需要的话,改进和额外功能必须在后续版本中加入。

2. 待选模型和选择标准

在对键值对存储和Nosql数据库做过一点研究后,我决定将下面的几个作为进一步选择的选项:

猜你在找的NoSQL相关文章