10 NoSQL Misvattingen

10 NoSQL Misvattingen - dummies

NoSQL is een snel evoluerende markt met producten die voortdurend veranderen. Het beschikbaar hebben van zoveel NoSQL-databases is een tweesnijdend zwaard. Met zoveel verschillen die er zijn, vormen algemene misvattingen zich en worden ze een begrip.

NoSQL is een enkel type database

NoSQL is een verzamelnaam voor een verscheidenheid aan databasetypen die gemeenschappelijke architecturale benaderingen vertonen. Deze databases zijn niet bedoeld voor gerelateerde tabel-, rij- en kolomgegevens. Ze zijn zeer gedistribueerd, wat betekent dat gegevens over meerdere servers zijn verspreid en dat ze tolerant zijn ten aanzien van wijzigingen in de gegevensstructuur (dat wil zeggen dat ze schema-agnostisch zijn).

U vindt verschillende soorten databases onder de NoSQL-banner:

  • Key-value-stores bieden eenvoudige en snelle opslag van eenvoudige gegevens met behulp van een sleutel.

  • Kolomopslag biedt ondersteuning voor zeer brede tabellen, maar niet voor relaties tussen tabellen.

  • Documentarchieven ondersteunen JSON- en / of XML-hiërarchische structuren.

  • Drievoudige (en grafiek) winkels bieden dezelfde flexibiliteit voor relaties die NoSQL-databases documentstructuren bieden.

NoSQL-databases voldoen niet aan ACID

ACID-conformiteit is de gouden standaard voor gegevensveiligheid. Door ervoor te zorgen dat bewerkingen atomair zijn, zijn weergaven van gegevens consistent, werken operaties elkaar niet en worden gegevens duurzaam opgeslagen op schijf, beschermt u uw gegevens. Mensen denken vaak dat NoSQL-databases geen ACID-conformiteit bieden.

Veel NoSQL-databases bieden volledige ACID-ondersteuning voor clusters. MarkLogic Server, OrientDB, Aerospike en Hypertable zijn allemaal volledig ACID-compatibel en bieden volledig serializable of read-commit ACID-conformiteit.

Veel andere NoSQL-databases kunnen zorgen voor ACID-achtige consistentie door verstandige instellingen in clientcode te gebruiken. Dit heeft meestal betrekking op een Quorum of All -instelling voor zowel lees- als schrijfbewerkingen. Deze databases zijn onder meer Riak, MongoDB en Microsoft DocumentDB.

NoSQL-databases verliezen gegevens

Deze misvatting doet zich voor wanneer NoSQL-databases verkeerd worden gebruikt of als minder volgroeide producten worden gebruikt. Sommige NoSQL-producten zijn minder volwassen en zijn nog maar korter dan vijf jaar oud, dus ze hebben nog geen functies voor het voorkomen van gegevensverlies ontwikkeld.

De garantie van duurzaamheid in ACID-conformiteit is essentieel voor bedrijfssystemen en ACID-compatibele NoSQL-databases bieden deze garantie. Daarom bent u ervan verzekerd dat er geen gegevens verloren gaan als de database bevestigt dat de gegevens zijn opgeslagen.

Bovendien kunnen uiteindelijk consistente databases ook gegevensduurzaamheid bieden door zorgvuldig gebruik van een write ahead logging (WAL).Veel NoSQL-databases bieden deze mogelijkheid.

NoSQL-databases zijn niet klaar voor bedrijfskritieke bedrijfsapplicaties

Integendeel, veel organisaties gebruiken NoSQL-databases voor missiekritieke werkbelastingen, waaronder:

  • Defensie- en inlichtingendiensten die informatie opslaan en delen < Mediabedrijven die al hun digitale middelen opslaan voor publicatie en inkoop in NoSQL-databases

  • Mediabedrijven die doorzoekbare metadata-catalogi aanbieden voor hun video- en audiomedia

  • Banken die NoSQL-databases gebruiken als primaire handelsopslagplaatsen of backoffice fraudebestrijding en risico's -beoordelingssystemen

  • Overheidsinstellingen die NoSQL-databases gebruiken als primaire back-ends voor hun gezondheidszorg

  • Dit zijn geen kleine systemen of eenvoudige caches voor relationele systemen. Het zijn gevallen waarvoor NoSQL goed geschikt is. Natuurlijk zijn sommige NoSQL-databases meer geschikt voor enterprise-systemen dan andere.

NoSQL-databases zijn niet beveiligd

Niet zo! Veel NoSQL-databases bieden nu record- en zelfs data-item-level (cel) beveiliging. Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph en Accumulo bieden allemaal fijnkorrelige op rollen gebaseerde toegangscontrole (RBAC) voor toegang tot records die zijn opgeslagen in deze NoSQL-databases.

Veel NoSQL-databases bieden integratie met bestaande Lightweight Directory Access Protocol (LDAP), Kerberos en op certificaten gebaseerde beveiligingssystemen. Ondersteuning voor versleuteling via de draad in alle client-naar-server communicatie en internodecommunicatie binnen een cluster, wordt ook geleverd door deze databases.

Sommige NoSQL-databases zijn zelfs geaccrediteerd en worden gebruikt door defensieorganisaties. Accumulo kwam van een project van National Security Agency (NSA). MarkLogic Server is onafhankelijk geaccrediteerd onder de Common Criteria-certificering van het ministerie van Defensie (DoD).

Niet alle NoSQL-databases bieden deze functionaliteit, hoewel de meeste waarschijnlijk in de toekomst zullen zijn. Voor nu heb je keuzes die je in staat stellen om informatie te beveiligen.

Alle NoSQL-databases zijn open-source

Er zijn talloze open-source databases in de NoSQL-wereld. Veel commerciële bedrijven hebben geprobeerd het succes van Red Hat te repliceren door een subset van de mogelijkheden van hun producten aan te bieden die gratis kunnen worden gebruikt onder een open-sourcelicentie.

Veel van de platforms van deze bedrijven ondersteunen echter geen open standaarden. Ook wordt het grootste deel van de code bijgedragen door die bedrijven. Beperkte functies worden in de basisversie geleverd door deze "open-source" bedrijven.

Er zijn veel volledig commerciële bedrijven in de NoSQL-ruimte. Microsoft, MarkLogic, Franz (Allegrograph), Hypertable en Aerospike zijn allemaal geweldige commerciële bedrijven die NoSQL-databases aanbieden en ze doen dit zeer succesvol.

NoSQL-databases zijn alleen voor Web 2. 0-toepassingen

Hun gebruik in nieuwe web- en mobiele applicatie-stacks hebben NoSQL-databases populair gemaakt. Ze zijn vanaf het begin gemakkelijk in gebruik en velen werken onder een gratis licentieovereenkomst, waardoor ze aantrekkelijk zijn voor startups.

Socialmediatoepassingen maken vaak gebruik van NoSQL-databases. Social media-applicaties brengen gepubliceerde gegevens in het web en aggregeren het samen om waardevolle informatie te vinden.

De overgrote meerderheid van de use-cases zijn echter geen Web 2. 0-applicaties. Het zijn dezelfde applicaties die al lang bestaan, maar waar relationele databases niet langer een adequate oplossing bieden. Dit omvat scenario's waarbij de gegevens die worden opgeslagen erg schaars zijn, met veel lege (nul) waarden, of waar de structuur van de informatie die wordt opgeslagen in de loop van de tijd vaak wordt gewijzigd.

NoSQL is slechts een hype

Microsoft, Oracle en IBM hebben elk nu hun eigen NoSQL-database op de markt. Hoewel ze vatbaar zijn voor bruusk gebruik, investeren deze bedrijven alleen in technologie als ze winst zien.

Gevestigde spelers zoals MarkLogic, die al jaren op de markt zijn, hebben ook bewezen dat NoSQL-technologie niet alleen een hype is en waardevol is voor een reeks van echte klanten in sectoren in missiekritieke systemen.

NoSQL-ontwikkelaars begrijpen geen gebruik van een RDBMS

Er is een algemene misvatting (door kwaadaardige ontwikkelaars van relationele databasetoepassingen, je weet wie je bent!) Dat NoSQL wordt gebruikt omdat ontwikkelaars geen grip op hebben de basisprincipes die nodig zijn om relationele databases te configureren zodat ze goed presteren.

Dit is volkomen onjuist. NoSQL omvat een reeks benaderingen die samenkomen om fundamenteel andere gegevensproblemen te beantwoorden dan een oplossing voor een relationeel databasebeheersysteem (RDBMS).

Vergelijkt u een RDBMS met een NoSQL-database, dan vergelijkt u appels met motorfietsen! NoSQL-databases zullen RDBMS niet vervangen. Ze zijn bedoeld voor gegevens die fundamenteel anders zijn gestructureerd, evenals voor verschillende gegevensproblemen.

De bijgewerkte RDBMS-technologie zal de behoefte aan NoSQL

wegnemen Veel van de hooggedistribueerde benaderingen van NoSQL worden gemengd met RDBMS-technologie, wat heeft geresulteerd in de opkomst van veel NewSQL-databases.

Hoewel NewSQL helpt om te gaan met de kritiek van NoSQL-ontwikkelaars op RDBMS-technologie, is NewSQL georganiseerd rond dezelfde gegevensstructuren als een RDBMS.

NoSQL-databases zijn voor verschillende gegevensproblemen, met verschillende datastructuren en use-cases.