我正在建立一个临时的非关系型数据库管理系统。我实际实现的内容可能会破坏您使用非关系数据库的目的,但这是针对学校项目的。
问题:以下是更多详细信息的列表。我想知道我还需要在我的初始过程中创建或消除什么来实现NoSQL文档数据库的示例。
该数据库将与存储名称,邮政编码,消息,主题标签(固定数量的选项)和时间戳的Web应用程序协同工作。我希望能够索引数据,根据时间戳或基于主题标签或邮政编码范围更新订阅源。
我打算用json创建一个文档存储。想要实现一个map reduce的例子(关于这个的更多信息会很棒),以及一个伪复制因子。选择的语言是Java。
提前感谢您,我将回复所有评论和帖子。
编辑:我目前对使用其他数据库不感兴趣。我只对创建一个感兴趣。我的问题只是询问我应该实现的其他功能,我还没有说明。就是这样。答案 0 :(得分:0)
您可以考虑使用MongoDB,这对于学习NoSQL数据库来说是一个很好的练习。它使用BSON作为存储格式,并且具有非常简单的query language。您可以在Javascript中编写复杂查询(包括mapreduce)。由于您希望使用Java编程,因此它具有Java Driver,如果您愿意,可以使用Morphia之类的ORM使其更简单。它支持您的更新要求的索引和就地更新/ upsert。您可以通过设置Master-Slave replication来立即复制它,只需翻转启动参数即可。在回答map-reduce问题之前,我想更多地了解您的要求。
随意阅读有关Mongo和Morphia的信息,我相信你会发现潜水既有趣又令人兴奋。