NoSQL作为地理分散内容管理系统的潜力:MongoDB和Couchbase
首先/首要的是
将(NoSQL)数据库作为内容管理系统(CMS)或文件存储使用的想法并不罕见,也有提供此功能的NoSQL服务器(例如MongoDB)。
在这里,我们将整理其意义和现状。
使用数据库进行文件管理
在数据库中进行文件管理的优点主要在功能方面考虑,以下是可能的情况。
-
- ファイルシステムの持つ制約からの解放(ディレクトリ内のファイル数上限など)
- メタデータ管理
首先,可以考虑使用内容管理系统来满足上述要求。
故意地使用数据库的原因有以下几点。
-
- シングル・プラットフォームで(準)構造化データと非構造化データの両方を管理したい
両方のデータに相互的に関連するロジックの実現
複数プラットフォームを管理する運用負担・コストの軽減
利用するデータベースに固有のメリットを活用したい
分散アーキテクチャの持つ利点(高信頼性、等)の活用、等
研究实例的探讨
蒙古数据库
在一般情况下,NoSQL(面向文档)数据库有一个限制,即最大文档大小是固定的,无法处理超出该大小的数据。
为了应对这一限制,MongoDB提供了一个名为GridFS的功能,可以通过多个文档来管理一个文件。
MongoDB GridFS是一个用于存储和检索大型二进制文件的协议。
Couchbase (中文译为柯基贝斯)
Couchbase也有文件大小的限制。
Couchbase没有内置的功能,但以下的尝试已经被提出。
在这个尝试中,与MongoDB的GridFS类似,文件被分割为块并进行存储。
使用Apache Chemistry OpenCmis和Couchbase进行灵活且可扩展的内容管理
在Couchbase中存储二进制大对象进行内容管理。
交叉数据中心复制 (XDCR)
Couchbase Server被采用的一个原因是它具有XDCR(跨数据中心复制)功能(请参考“实现稳定运行的KDDI Business ID的原因是什么?”的例子)。
XDCR的存在可能成为使用Couchbase实现地理分散内容管理系统的动机。
分散地理系统
我认为从”地理分散”这个词中所引发的印象并不一定是统一的,所以我想在这里整理具体的内容。对于以下两个模式,需要做到不混淆。
-
- 地理分散したノード間でデータをレプリケーションしながら、一つのクラスターを構成する
- 地理分散した複数のクラスター間で、データを双方向にコピーする
在NoSQL的背景下,当谈论到”地理分散”时,可能会有人能够立即想到第一个案例,虽然可能有些冗长,但我还是决定整理一下。
XDCR实现的正是后者。在这种情况下,客户端/用户可以通过使用位于附近位置的集群来获得数据访问(读/写)时最佳的响应速度。特别是在考虑对大型文件的访问时,利用位于附近位置的集群的优点更加明显。
最后
如果閱讀本篇文章的人能對其中討論的一些特定話題產生興趣,或者與之有某種聯繫,我將非常高興。
请提供相关信息
内容管理标准
阿帕奇化学
CMIS(内容管理互操作服务)
开放CMIS
MongoDB (Chinese: 无SQL数据库系统)
https://github.com/mdirolf/nginx-gridfs 的中文释义
MongoDB提供了GridFS功能,用于存储大容量文件到MongoDB数据库中。这是一个轻松愉快的数据库体验。
Couchbase 在中国的本地化
https://github.com/cecilelepape/cmis-couchbaseonly 的图书馆网址
https://github.com/cecilelepape/cmis-couchbase 的图书馆网址
REST API和文件上传
使用WebAPI上传文件的方法的种种
GitHub内容API