Anar al contingut

NewSQL

De L'Enciclopèdia, la wikipedia en valencià

NewSQL és una classe de sistemes moderns de gestió de bases de senyes relacionals que tracten de conseguir el mateix rendiment escalable de sistemes NOSQL per al processament de transaccions en llínea (llectura-escritura), mantenint durant les càrregues de treball les garanties ACID d'un sistema de base de senyes tradicional.

Història

[editar | editar còdic]

El terme va ser utilisat per primera volta per l'analiste Matthew Aslett de 451 Group en un treball d'investigació en 2011, discutint l'aparició de nous sistemes de base de senyes com a aspirants als vendors establits. Molts sistemes empresarials que manegen senyes d'alt perfil (per eixemple, financeres) també devien ser capaces d'escalar, pero no són capaces d'utilisar les solucions NOSQL perque no poden renunciar als alts requeriments transaccionals i de consistència.


Les úniques opcions disponibles anteriorment per a estes organisacions eren adquirir una màquina d'un sol nodo més potent o desenrollar middleware personalisat per a distribuir les consultes per més nodos DBMS tradicionals. Abdós enfocaments resulten excessivament cars per a la majoria, i per això, en este treball, Aslett analisa les possibilitats de NewSQL per a competir en atres proveïdors comercials, i en particular en Oracle.

Sistemes

[editar | editar còdic]

Encara que els sistemes de NewSQL varien molt en les seues arquitectura internes, les seues dos senyes d'identitat comunes són el respal al model de senyes relacionals i l'us de SQL com el seu interfaç principal. Un dels sistemes NewSQL més coneguts és el H-Store.

Els sistemes NewSQL poden ser agrupats en tres categories:

Noves arquitectura

[editar | editar còdic]

El primer tipo de sistemes NewSQL són plataformes de bases de senyes completament noves. Estan dissenyades per a funcionar en un clúster distribuït shared-nothing, en el que cada nodo posseïx un subconjunt de les senyes. Encara que en moltes de les noves bases de senyes s'han usat diferents enfocaments de disseny, hi ha dos categories principals en evolució.

El primer tipo envia l'eixecució de transaccions i consultes als nodos que contenen les senyes necessàries. Les consultes SQL es dividixen en fragments i s'envien als nodos, que són els que processen i contenen les senyes. Estes bases de senyes són capaces d'escalar linealmente a mida que s'agreguen nodos adicionals.

  • Bases de senyes d'us general: Estes mantenen la funcionalitat completa de bases de senyes tradicionals i el maneig de tot tipo de consultes. Estes bases de senyes s'escriuen a sovint a partir de zero en una arquitectura distribuïda en ment, i inclouen components com el control distribuït de concurrència, el control de fluix, i el processament de consultes distribuïdes. Entre elles estan LeanXcale Google Spanner, Clustrix, NuoDB, i TransLattice.
  • Base de senyes en memòria: Les solicituts dirigides per estos sistemes NewSQL es caracterisen per tindre un gran número de transaccions de curta duració (és dir, sense llocs d'usuari), que toquen un chicotet subconjunt de senyes utilisant les busques d'índex (és dir, no hi ha recorreguts de taules complets o grans joins distribuïts) i repetitives (és dir, eixecuten les mateixes consultes en diferents entrades). Estos sistemes NewSQL conseguixen un alt rendiment i escalabilidad en evitar que gran part de l'arquitectura siga heretada del disseny original del Sistema R, tals com els algoritmes de recuperació o de control de concurrència. Dos sistemes d'eixemple d'esta categoria són VoltDB i SQLFire de GoPivotal.

Motors MySQL

[editar | editar còdic]

La segona categoria està optimisada com motor d'almagasenament de SQL. Estos sistemes proporcionen el mateix interfaç de programació que MySQL, pero en millor escala incorporada en els motors, com InnoDB. Varis eixemples d'estos nous motors són: TokuDB, MemSQL i Akiban.

Protecció transparent

[editar | editar còdic]

Estos sistemes proporcionen una capa protectora intermija per a dividir automàticament les bases de senyes a través de múltiples nodos. Alguns eixemples d'este tipo de sistema són dbShards, Scalearc, Scalebase i MySQL Cluster.

Referències

[editar | editar còdic]