Vraag Cassandra of SOLR? Wat levert betere leesfrequenties op?


Mijn team heeft me gevraagd om te kiezen tussen Cassandra en SOLR voor snellere respons @ frond endqueries. Ik heb ze verteld dat Cassandra NOSQL db is terwijl SOLR iets indexeert. Maar dan zeggen ze dat we onze volledige db naar SOLR kunnen duwen (zoals SOLR als db gebruiken) of we kunnen Cassandra gewoon met SOLR gebruiken. Allemaal in de war.

De hoeveelheid gegevens die we behandelen is als 1 miljard verspreid over 4 MySQL-tabellen (opgehaald met behulp van joins) en we krijgen alleen leesvragen van de website. We hebben GEEN VOLLEDIGE TEKST ZOEKEN nodig

Ik denk dat iets waarin SOLR niet gemakkelijk te verslaan is, de volledige tekstzoekfunctie is, maar dat we het niet nodig hebben in onze zaak.

Dus wat anders heeft SOLR ook dat Cassandra niet kan bieden en wat heeft Cassandra dat het SOLR kan vervangen in ons specifieke geval?

Met andere woorden, wie gaat er beter presteren? Cassandra alleen? SOLR als een db alleen? Of allebei samen? En vooral, waarom en waarom niet?

Het is erg belangrijk voor mij om een ​​back-up te maken van mijn keuze met een sterk punt als waarom de een beter is dan de andere tijdens mijn volgende teamvergadering.

En bij voorbaat dank.

BEWERK:

  • Solandra is geen optie omdat het niet zo volwassen is en niet meer onderhouden denk ik
  • DataStax is geen optie, omdat de SOLR-functie alleen in de Enterprise Edition wordt aangeboden

13
2018-04-17 03:59


oorsprong


antwoorden:


  • Cassandra is een NoSQL-gegevensopslag en is ontworpen om enorme hoeveelheden gegevens te verwerken. Terabytes en nog meer. Het was absoluut ontworpen om te presteren.
  • Vergeet niet dat NoSQL DB's of datastores beperkte mogelijkheden hebben als het gaat om vragen. Ze hebben geen JOIN-zoekopdrachten. Omdat dit een systeem zal doden. Denk er over na!
  • Je zou zeker vrij snel kunnen lezen / schrijven en sommige gegevens kunnen worden opgevraagd.
  • Flexibel schema, je kunt er schaarse gegevens in pushen. Dat wil zeggen, waar in het algemeen DB's u NULL drukken voor een lege invoer, hier duwt u het helemaal niet :) U hoeft het niet te doen!
  • Geen volledige tekst zoeken.

Dit is waar de grote MAAR komt.

  • Na het bovenstaande is SOLR aan de andere kant de TF-IDF full-text zoekmachine. Hoewel je het voor je database kunt gebruiken.
  • Flexibel schema. Markeer velden die niet verplicht zijn.
  • Solr helpt de gegevens vrij snel te ontcijferen, ontleden en indexeren. Het zal een uitstekende reactie hebben. Het retourneert XML en u kunt de XML parseren om gegevens te maken die representatief zijn.
  • Leesvragen zijn snel en ik bedoel echt snel. Maar ik heb geen vergelijking tussen Cassandra en SOLR om te delen.

En op het einde, omdat u CASSANDRA en SOLR samen wilt. Uitchecken SOLANDRA (voormalig Lucandra)


4
2018-04-17 05:39



Als je Solr's full-text zoekmogelijkheden niet nodig hebt, is er naar mijn mening weinig reden om het te kiezen voor Cassandra.

(Openbaarmaking: ik werk voor DataStax.)

Operationeel gezien is het hanteren van een Cassandra-cluster veel eenvoudiger vanwege de Dynamo-gebaseerde architectuur. Sharding Solr kan behoorlijk pijnlijk zijn, wat een van de grote redenen is waarom wij bij DataStax een zoekactie naar DSE hebben gebouwd; het is iets dat een lot van mensen willen vermijden. Ik probeer je niet te verkopen op DSE, gewoon op het nadeel wijzen naar Solr.

Als u bijvoorbeeld het aantal shards met Solr wilt wijzigen, moet u een geheel nieuwe index maken en bouwen. U moet zich zorgen maken over een deadlock met een Solr-cluster. Er zijn verschillende andere beperkingen: http://wiki.apache.org/solr/DistributedSearch

U hebt niet veel gezegd over wat voor soort vragen u moet kunnen ondersteunen. Als u die info toevoegt, krijgt u betere antwoorden.


6
2018-04-18 00:43



U kunt ook een kijkje nemen Datastax
Er is een Community- en Enterprise-editie, hoewel ik vind dat Solr niet is opgenomen in community edition :(

Solandra wordt niet actief meer ontwikkeld, de auteur verhuist naar Datastax en zet zijn werk daar voort.

IMHO wat Cloudera is voor Hadoop, dat is Datastax voor Cassandra.


4
2018-04-17 12:09



Solrs indexeringsfuncties zouden Cassandra uitvoeren voor het lezen. Het indexeert populaire zoekopdrachten, dus frequente zullen nog sneller zijn. Het is gebouwd om te lezen, cassandra is gebouwd om op te slaan. Maar zoals al gezegd, zal Cassandra enorm schalen als dat nodig is. Waarom geen enkel knooppunt, 1 miljoen willekeurige tekststrings, 1mill query-gemiddelde benchmarken. Elk van de em zal mysql uitvoeren, laat staan ​​mysql join-queries. PS solr ondersteunt binnenkort joins, ik denk dat solr 4 .....


1
2018-01-22 10:01