sql >> Database teknologi >  >> NoSQL >> MongoDB

NoSQL (MongoDB) vs Lucene (eller Solr) som din database

Dette er et godt spørgsmål, noget jeg har overvejet en del. Jeg vil opsummere mine erfaringer:

  1. Du kan nemt bruge Lucene/Solr i stedet for MongoDB til stort set alle situationer, men ikke omvendt. Grant Ingersolls indlæg opsummerer det her.

  2. MongoDB osv. ser ud til at tjene et formål, hvor der ikke er krav om søgning og/eller facettering. Det ser ud til at være en enklere og velsagtens lettere overgang for programmører, der afgifter sig fra RDBMS-verdenen. Medmindre man er vant til det, har Lucene &Solr en stejlere indlæringskurve.

  3. Der er ikke mange eksempler på at bruge Lucene/Solr som et datalager, men Guardian har gjort fremskridt og opsummerer dette i et fremragende slide-deck, men de er også uforpligtende på at hoppe helt med på Solr-vognen og "undersøge" at kombinere Solr med CouchDB.

  4. Til sidst vil jeg byde på vores erfaring, kan desværre ikke afsløre meget om business-casen. Vi arbejder på skalaen af ​​adskillige TB data, en næsten realtidsapplikation. Efter at have undersøgt forskellige kombinationer besluttede jeg at holde fast i Solr. Ingen fortrydelser indtil videre (6 måneder og tæller) og ser ingen grund til at skifte til en anden.

Resumé:Hvis du ikke har et søgekrav, tilbyder Mongo en enkel og kraftfuld tilgang. Men hvis søgning er nøglen til dit tilbud, er du sandsynligvis bedre stillet til at holde dig til én teknologi (Solr/Lucene) og optimere det hele - færre bevægelige dele.

Mine 2 øre, håber det hjalp.



  1. Revisionslogning for MongoDB

  2. Sådan gemmer du listeelementer i Redis-cache

  3. Får Redis Master-adresse fra Sentinel C#

  4. Sådan fjerner du Redis på 'besked'-lyttere