NoSQL? To me it's just a marketing term, like Big Data.

Data store? That does imply support for persistence, as opposed to mere caching, but mere persistence doesn't assure that the store is suitable for use as a System of Record which is a requirement in my view for a true database. So, I wouldn't assert that a data store is a database.

None of these are hard-edged definitions. I mean, even a simple text file format, like an mbox file can be a system of record, if given a suitable front end for access.

For the most part NoSQL simply means that the software seeks to optimize on factors other than the pure ACID and the rich feature set of traditional SQL databases (e.g., complex JOIN queries.) Maybe the NoSQL database/data store is much faster, or much more scalable or distributed, much simpler, or somehow optimal for some sorts of applications that traditional SQL databases falls short on. By abandoning or restricting one or more traditional SQL attributes or features, a NoSQL database/data store permits application developers to focus on the data storage and access criteria that are most important to their particular application.

My only point is that suitability as a System of Record is a hard-core requirement for a true database in my view, and Solr is still a bit soft in that area, if only because its focus is on being a search platform with a heavy emphasis on indexing data that is sourced from external databases/data stores. I mean, questions about DIH are quite common and that wouldn't be the case if people were using Solr as their System of Record in the first place.

Hey, if somebody wants to add Solr to the wikpedia NoSQL page, I don't think there would be a ton of objection, in short because NoSQL is still a fluid, fuzzy area with no strict requirements. And Elasticsearch is on that page already.

I would note that ES bills themselves as "a flexible and powerful open source, distributed, real-time search and analytics engine" rather than a "database" or "NoSQL database/data store." As with Solr, they are clear about their focus. Solr bills itself as a "blazing fast open source enterprise search platform."

See:
http://www.elasticsearch.org/overview/
https://lucene.apache.org/solr/

As I indicated before, sure, Solr can indeed be used as a NoSQL database (given the fuzziness of that marketing term.) I'm sure there are plenty of apps out there that can use Solr itself for their System of Record, but there are still plenty of applications where Solr's indexing and search features still don't qualify it for the hard-core requirements needed for a System of Record or where strict ACID and heavy real-time updates are required.

It's up to the individual application project to make all of these suitability judgments.

-- Jack Krupansky

-----Original Message----- From: Furkan KAMACI
Sent: Saturday, March 1, 2014 5:46 PM
To: solr-user@lucene.apache.org
Subject: Re: Solr is NoSQL database or not?

Hi;

The first link you provided includes ElasticSearch:
http://en.wikipedia.org/wiki/NoSQL as a Document Store and plus a note that
it is a search engine. What are the main differences between ElasticSearch
and Solr that makes ElasticSearc a NoSQL store but not Solr. I think that
these are conceptual things and such kind of references as like Wikipeda
should not be the *only* reference.

I like this paper:
http://www.thoughtworks.com/insights/articles/nosql-comparison and it
explains the common features of NoSQL data stores as:

* Easy to use in conventional load-balanced clusters
* Persistent data (not just caches)
* Scale to available memory
* Have no fixed schemas and allow schema migration without downtime
* Have individual query systems rather than using a standard query language
* Are ACID within a node of the cluster and eventually consistent across
the cluster

However some others explain it differently. For example one says common
features of NoSQL databases is that: *"What they have in common is that
they're not relational. Their primary advantage is that, unlike relational
databases, they handle unstructured data such as word-processing files,
e-mail, multimedia, and social media efficiently."*[Leavitt, N., "Will
NoSQL Databases Live Up to Their Promise?," Computer , vol.43, no.2,
pp.12,14, Feb. 2010]

I think that there is not a standard explanation for What is NoSQL. If we
consider Solr as a NoSQL data store then we should consider that its
primary objective is being a search engine. So it reminds some questions
that is specific for a search engine as like deep paging. Basically if
there is no limitation for such specific problems and if you have answers
for that problems i.e. retrieving documents without scoring them as a
stream then I think that these type of data stores are one of powerful
NoSQL data stores. Reindexing the data maybe another problem to consider.
However even if you still have such kind of problems you can still consider
them as a NoSQL. There may be some data stores that is accepted as a NoSQL
but have some big limitations.

All in all, I think that there is not a reference definition for NoSQL.
According to me SolrCloud is a so powerful search engine and it can be used
and considered as a NoSQL data store. However if you want to use Solr
(SolrCloud) as a NoSQL datastore you should consider what are your
requirements and do you really need it.


Thanks;
Furkan KAMACI




2014-03-01 17:58 GMT+02:00 Gopal Patwa <gopalpa...@gmail.com>:

Well said Jack, we are using Solr as NoSQL solution as Jack describe from
Solr version 3.x and still using it in Production with 4.x and on our
Stubhub site most visited page.


https://m.stubhub.com/los-angeles-kings-tickets/los-angeles-kings-los-angeles-staples-center-1-3-2014-4323511/



On Sat, Mar 1, 2014 at 6:14 AM, Jack Krupansky <j...@basetechnology.com
>wrote:

> A database is a place you store information for relatively permanent
> reference, called a "system of record". Most commonly data is accessed
by a
> primary key. Update of existing data by individual row is a common
> operation.
>
> Solr is a "search server" or "search platform". The focus of a search
> server is to support rapid and relevant rich search, especially keyword
> text search. Data itself usually lives elsewhere, but is loaded into the
> search server whenever it changes, a process known as "indexing". It is
not
> uncommon with a search server to "reindex" data, which means to throw > all
> the data away and start over, rereading the data from its source(s)
> (system(s) of record). Update of existing data is usually in "batches",
not
> individual rows. Data tends to be added rather than updated.
>
> Commonly a search server is used in conjunction with some number of
> databases.
>
> Can one use Solr as a database as well? Sure, its possible, but that's
not
> its primary and most popular use at this point.
>
> I mean, what's one of the most commonly used verbs on the Solr email
list?
> We're always telling people to "reindex". Can you imagine database
> developers being told that they must delete all their existing data and
> "start over"?
>
> -- Jack Krupansky
>
> -----Original Message----- From: nutchsolruser
> Sent: Friday, February 28, 2014 11:09 PM
> To: solr-user@lucene.apache.org
> Subject: Solr is NoSQL database or not?
>
>
> You may think this is silly question but let me ask this because i am
> confused ,
> http://www.lucidworks.com/webinar-solr-4-the-nosql-search-server/  this
> says
> Solr is NoSQL but many other links dont have solr in their list as NoSQL
> database.
>
> http://en.wikipedia.org/wiki/NoSQL
> http://en.wikipedia.org/wiki/Document-oriented_database
>
> it's really confusing what is real meaning of NoSQL database?
>
>
>
> --
> View this message in context: http://lucene.472066.n3.
> nabble.com/Solr-is-NoSQL-database-or-not-tp4120554.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>


Reply via email to