2010-05-27 41 views
1

当构建使用存储在RDBMS中的数据的对象时,通常很清楚您收回的是什么,正如被查询的表和列所指示的那样。但是,在处理基于文档的NoSQL系统时,不太清楚正在检索的内容。NoSQL与关系编码风格

跟踪数据存储结构的常用方法是什么?

回答

0

这不仅取决于你所使用的数据库,但它也取决于语言/框架您正在使用的编码。

大多数自以为是的框架期望某种类型的ODM,您可以在其中定义在您的模型中强制执行的模式 - 例如Rails,并且其他框架可让您随心所欲地执行任何操作,从而使您有可能获取数据多种格式和不知道如何处理它...

对于MongoDB我已经玩弄了一个软模式的概念,其中每个集合(表)都有一个标题为“schema”的文档并定义了嵌入式数组中的不同元素及其数据类型称为“定义”。这使我可以根据每个集合生成动态脚手架,并且在与非ODM平台(在我的例子中为Joomla)集成时可以非常方便。

另一种方法是将这些模式定义存储在一个单独的集合中,称为模式或模式或其他类型。

您当然希望锁定代码中的某种模式以确保您的数据处于可预测的格式;当你的模式发生变化时,这也是很重要的,他们总是会这样做。

0

还有一些框架,您的编码风格不会像playOrm那样变化太大,它允许您将关系数据存储在noSQL存储中并执行联接。诀窍在于对数据和可伸缩SQL进行分区,因此它可以很好地进行扩展,并且仍然可以像查阅过去一样查询数据。