为什么 NoSQL 对话中不包含像 Lucene/Solr 这样的文档存储? [英] Why are document stores like Lucene / Solr not included in NoSQL conversations?

查看:8
本文介绍了为什么 NoSQL 对话中不包含像 Lucene/Solr 这样的文档存储?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们所有人最近都遇到了最近大肆宣传的无 SQL 解决方案.MongoDB、CouchDB、BigTable、Cassandra 和其他已被列为无 SQL 选项.这是一个例子:

All of us have come across the recent hype of no-SQL solutions lately. MongoDB, CouchDB, BigTable, Cassandra, and others have been listed as no-SQL options. Here's an example:

http://architects.dzone.com/articles/什么-nosql-store-should-i-use

但是,三年前,我和一位同事正在使用 Lucene.NET,因为它似乎符合无 SQL 的描述.我们不仅仅将它用于用户输入的搜索查询;我们使用它使一些重新索引的 RDBMS 表数据具有极高的性能.我们实现了自己的 .NET sort-of-equivalent-to-Solr 服务来管理这些索引并使它们可调用.当我离开公司时,团队转而使用 Solr.(对于那些不知道的人,Solr 是一种 Web 服务,它使用 REST 可调用查询和索引转储包装了 Lucene.)

However, three years ago a co-worker and I were using Lucene.NET as what seem to fit the description of no-SQL. We did not use it just for user-inputted search queries; we used it to make a few reindexed RDBMS table data extremely performant. We implemented our own .NET sort-of-equivalent-to-Solr service to manage these indexes and make them callable. When I left the company, the team switched to Solr itself. (For those not in the know, Solr is a web service that wraps Lucene with REST-callable queries and index dumps.)

我不明白的是,为什么 Solr 不计入非 SQL 解决方案选项的典型列表中?我在这里错过了什么吗?我认为 Solr 无法与 CouchDB 等类似产品相比存在技术原因,实际上我理解 CouchDB 使用 Lucene 作为其数据存储(是吗?),但是什么使 Solr 不合格?

What I don't understand is, why is Solr not counted in the typical lists of no-SQL solution options? Am I missing something here? I assume that there are technical reasons why Solr is not comparable to the likes of CouchDB, etc., and in fact I understand that CouchDB uses Lucene as its data store (yes?), but what disqualifies Solr?

我问的不是某种 Solr 粉丝或任何东西,我只是不明白为什么 Solr 之类的东西不符合 no-SQL 的定义,如果 Solr 在技术上符合定义,那该怎么办它可能会让人大吃一惊吗?我之所以问,是因为我很难确定是否应该继续使用基于 Lucene 的解决方案(如 Solr)来构建我构建的解决方案,或者我是否真的应该对这些其他选项进行更多研究.

I'm not asking as some kind of Solr fanboy or anything, I just don't understand why Solr and the like don't fit the definition of no-SQL, and if Solr technically does fit the definition then what about it likely makes people pooh-pooh it? I'm asking because I'm having difficulty determining whether I should continue using Lucene-based solutions (like Solr) for solutions that I build or if I should really do more research with these other options.

推荐答案

我曾经听过作家 Ursula K. LeGuin 关于小说写作的采访.面试官询问了她从事不同写作流派的作者.是什么让一位作家成为浪漫作家,另一位成为神秘作家,另一位成为科幻作家?LeGuin 解释说:

I once listened to an interview with author Ursula K. LeGuin about fiction writing. The interviewer asked her about authors who work in different genre of writing. What makes one author a romance writer, and another a mystery writer, and another a science fiction writer? LeGuin responded by explaining:

类型是关于营销,而不是关于内容.

Genre is about marketing, not about content.

这是一个令人大开眼界的声明.

It was an eye-opening statement.

我认为这同样适用于技术解决方案.NoSQL 运动之所以受到关注,是因为它现在充满了营销能量.像 Hadoop、CouchDB、MongoDB 这样的 NoSQL 数据存储有商业企业支持,推动他们的解决方案新颖、创新和令人兴奋,这样他们就可以发展业务.NoSQL"一词是一个营销品牌,可以帮助他们解释自己的价值.

I think the same applies to technology solutions. The NoSQL movement is attracting attention because it's full of marketing energy right now. NoSQL data stores like Hadoop, CouchDB, MongoDB, have commercial ventures backing them, pushing their solutions as new and innovative and exciting so they can grow their business. The term "NoSQL" is a marketing brand that helps them to explain their value.

你说得对,Lucene/Solr 在技术上与 NoSQL 文档存储非常相似:它是一个非规范化的文档包(它们的术语),其字段在文档集合中不一定一致.它以复杂的方式编制索引,允许您搜索所有字段或特定字段.

You're right that Lucene/Solr is technically very similar to a NoSQL document store: it's a denormalized bag of documents (their term) with fields that aren't necessarily consistent across the collection of documents. It's indexed in a sophisticated way to allow you to search across all fields or by specific fields.

但这不是 Lucene 用来解释其价值的类型.他们没有相同的使命来发展市场和业务,因为他们是由 Apache 基金会管理的.他们很乐意专注于全文搜索的用例,即使该技术可以以其他方式使用.他们遵循软件成功的信条:做一件事,把它做好.

But that's not the genre Lucene uses to explain its value. They don't have the same mission to grow a market and a business, since they're managed by the Apache Foundation. They're happy to focus on the use case of fulltext search, even though the technology could be used in other ways. They're following a tenet of software success: do one thing, and do it well.

这篇关于为什么 NoSQL 对话中不包含像 Lucene/Solr 这样的文档存储?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆