Een zoekgegevensopslag kiezen in Azure
In dit artikel worden technologische keuzes voor het zoeken van gegevensopslag in Azure vergeleken. Een zoekgegevensopslag wordt gebruikt om gespecialiseerde indexen te maken en op te slaan voor het uitvoeren van zoekopdrachten op vrije tekst. De geïndexeerde tekst kan zich in een afzonderlijk gegevensopslag bevinden, zoals blobopslag. Een toepassing verstuurt een query naar het zoekgegevensopslag en het resultaat is een lijst met overeenkomende documenten. Zie Processing free-form text for search (Vrije tekstverwerken voor zoeken) voor meer informatie over dit scenario.
Wat zijn uw opties bij het kiezen van een zoekgegevensopslag?
In Azure voldoen alle volgende gegevensopslagen aan de belangrijkste vereisten voor zoeken op basis van vrije tekstgegevens door een zoekindex op te geven:
- Azure Cognitive Search
- Elasticsearch
- HDInsight met Solr
- Azure SQL Database met zoeken in volledige tekst
Selectiecriteria voor sleutels
Voor zoekscenario's kunt u beginnen met het kiezen van het juiste zoekgegevensopslag voor uw behoeften door deze vragen te beantwoorden:
Wilt u een beheerde service in plaats van uw eigen servers beheren?
Kunt u uw indexschema tijdens de ontwerptijd opgeven? Als dat niet het beste is, kiest u een optie die ondersteuning biedt voor bij te werken schema's.
Hebt u alleen een index nodig voor zoeken in volledige tekst of hebt u ook snelle aggregatie van numerieke gegevens en andere analyses nodig? Als u meer functionaliteit nodig hebt dan zoeken in volledige tekst, kunt u opties overwegen die ondersteuning bieden voor aanvullende analyses.
Hebt u een zoekindex nodig voor log analytics, met ondersteuning voor logboekverzameling, aggregatie en visualisaties van geïndexeerde gegevens? Als dat het zo is, kunt u Elasticsearch overwegen, dat deel uitmaakt van een log analytics-stack.
Moet u gegevens indexeren in algemene documentindelingen zoals PDF, Word, PowerPoint en Excel? Zo ja, kies een optie die indexeren van documenten biedt.
Heeft uw database specifieke beveiligingsbehoeften? Zo ja, bekijk dan de beveiligingsfuncties die hieronder worden vermeld.
Mogelijkheidsmatrix
De volgende tabellen geven een overzicht van de belangrijkste verschillen in mogelijkheden.
Algemene mogelijkheden
| Mogelijkheid | Cognitive Search | Elasticsearch | HDInsight met Solr | SQL Database |
|---|---|---|---|---|
| Is beheerde service | Ja | Nee | Ja | Ja |
| REST-API | Ja | Ja | Ja | Nee |
| Programmeerbaarheid | .NET, Java, Python, JavaScript | Java | Java | T-SQL |
| Documentindexeerers voor algemene bestandstypen (PDF, DOCX, TXT, e.d.) | Ja | Nee | Ja | Nee |
Beheermogelijkheden
| Mogelijkheid | Cognitive Search | Elasticsearch | HDInsight met Solr | SQL Database |
|---|---|---|---|---|
| Bij te werken schema | Ja | Ja | Ja | Ja |
| Ondersteunt uitschalen | Ja | Ja | Ja | Nee |
Mogelijkheden voor analyseworkloads
| Mogelijkheid | Cognitive Search | Elasticsearch | HDInsight met Solr | SQL Database |
|---|---|---|---|---|
| Biedt ondersteuning voor analyses naast zoeken in volledige tekst | Nee | Ja | Ja | Ja |
| Onderdeel van een Log Analytics-stack | No | Ja (ELK) | Nee | Nee |
| Ondersteunt semantisch zoeken | Ja (alleen vergelijkbare documenten zoeken) | Ja | Ja | Ja |
Beveiligingsmogelijkheden
| Mogelijkheid | Cognitive Search | Elasticsearch | HDInsight met Solr | SQL Database |
|---|---|---|---|---|
| Beveiliging op rijniveau | Gedeeltelijk (vereist toepassingsquery om te filteren op groeps-id) | Gedeeltelijk (vereist toepassingsquery om te filteren op groeps-id) | Ja | Ja |
| Transparent Data Encryption | Nee | Nee | Nee | Ja |
| Toegang tot specifieke IP-adressen beperken | Ja | Ja | Ja | Ja |
| Toegang beperken om alleen toegang tot virtuele netwerken toe te staan | Ja | Ja | Ja | Ja |
| Active Directory-verificatie (geïntegreerde verificatie) | Nee | Nee | Nee | Ja |