El model de document flexible és una salsa noSQL secreta • El registre

Funció patrocinada A mesura que el ritme d’innovació s’accelera, moltes organitzacions passen d’arquitectures monolítices tradicionals a models de gestió de dades basats en microserveis que ofereixen als desenvolupadors la flexibilitat per treballar amb un conjunt divers de volums i tipus de dades.

Els dies en què el contingut dels desenvolupadors d’aplicacions romandria lligat a una base de dades sobrecarregada pot haver passat i, com a resultat, Amazon Web Services (AWS) ha creat una cartera de bases de dades creades específicament per ajudar els clients a trobar el servei de bases de dades adequat per a cadascun. única càrrega de treball.

El 2019, AWS va ampliar la seva presència al mercat de bases de dades en núvol gestionades per proporcionar una base de dades compatible amb MongoDB totalment gestionada, Amazon DocumentDB (amb compatibilitat amb MongoDB), per ajudar els clients a optimitzar les seves càrregues de treball JSON empresarials. Amazon DocumentDB és una base de dades de documents JSON nativa compatible amb les API, controladors i eines de MongoDB.

La base de dades és especialment útil quan es treballa amb documents complexos que són dinàmics i poden requerir consultes adhoc, indexació i agregacions, com ara aplicacions de catàleg, gestió de continguts i telemetria IoT, diu la companyia. La salsa secreta és la flexibilitat del model de document combinada amb els avantatges d’una solució totalment gestionada amb facturació basada en el consum i integració amb altres serveis d’AWS.

Emmagatzematge natiu basat en documents en JSON

Amazon DocumentDB admet el format JavaScript Object Notation (JSON), que ofereix als desenvolupadors la que podria ser una manera més natural de pensar sobre com es consulten les dades en crear aplicacions. Aquest format llegible per persones i màquines emmagatzema dades com a objectes formats per parells de nom-valor i matrius (per exemple, {“Publication”: “The Register”}). Els camps JSON es poden agrupar en llistes i anidar per crear estructures jeràrquiques.

“El creixement de JSON realment no va començar amb les bases de dades. Va començar amb les aplicacions”, creu Vin Yu, director tècnic sènior de producte d’AWS. “Molts dels idiomes que hi ha utilitzaven JSON com a mitjà per transferir dades a través d’Internet. Així que no estaria bé si no haguéssiu de manipular, traduir o serialitzar aquestes dades a un altre format abans d’emmagatzemar-les. ?”

Consultar en una base de dades de documents JSON nativa és més natural per als desenvolupadors que pensen en coses a les estructures d’emmagatzematge d’aplicacions. En lloc d’utilitzar sentències JOIN per combinar registres de dues taules, com ho faríeu en una base de dades relacional, per exemple, podeu consultar un sol document.

“L’ús d’una base de dades de documents JSON nativa també us permet ser flexible a mesura que canvien els requisits de l’aplicació”, diu Yu. Si esteu mantenint perfils d’usuari i decidiu llançar una nova línia de productes per als propietaris de mascotes, voldríeu saber si els vostres clients existents tenir mascotes, juntament amb altra informació (Quants? Quins animals i races? Quants anys? Noms?).

“En una base de dades relacional, hauríeu de crear una nova taula de mascotes i relacionar-la amb les taules existents”, explica. “En una base de dades de documents JSON nativa, només podeu inserir-lo com a subdocument nou en línia, de manera que no cal que modifiqueu cap esquema existent”.

No tots els usuaris tindran una mascota, però això està bé; només aquells que tinguin un amic pelut, plomat o escates inclourien aquest subdocument. No hauríeu d’utilitzar enllaços NULL com ho podríeu fer en una base de dades relacional.

AWS va agafar la flexibilitat d’una base de dades de documents JSON nativa i la va combinar amb una arquitectura nativa del núvol totalment gestionada. “El nostre objectiu és treballar contínuament cap enrere a partir de les necessitats del client”, diu Yu, “i els clients volien la flexibilitat d’una base de dades de documents JSON nativa i la capacitat d’escalar les càrregues de treball JSON de l’empresa, tot això sense gestionar les tasques d’administració de bases de dades que requereixen temps”.

“Quan es tracta d’escalabilitat, l’arquitectura d’Amazon DocumentDB és realment única perquè el càlcul i l’emmagatzematge estan separats”, afegeix. “Això ens permet augmentar el nostre ordinador per gestionar milions de lectures per segon, mentre que l’emmagatzematge escala de manera independent fins a 64 TB de dades per clúster”.

Ajust i seguiment amb Performance Insights

A l’abril, AWS va llançar Amazon DocumentDB Performance Insights, una funció d’ajustament i supervisió del rendiment de la base de dades dissenyada per ajudar els clients a identificar ràpidament la càrrega de la base de dades i determinar quan i on actuar.

Yu descriu un problema típic. Suposem que teniu una càrrega de treball de comerç electrònic que segueix els patrons d’ús habituals durant tota la setmana. Cada hora de dinar, hi ha un pic que colpeja el sistema amb prou força com per causar problemes de rendiment als usuaris. Cal esbrinar què la va causar, però com?

“En el passat, els clients encara havien de fer tota la correlació i la recopilació de dades ells mateixos”, explica. També haurien de mantenir aquestes dades per a l’anàlisi de tendències perquè poguessin identificar, per exemple, correlacions entre consultes específiques i pics en l’ús de recursos al llarg del temps. “No només van recopilar aquestes dades ells mateixos, sinó que també les han d’emmagatzemar ells mateixos”.

Performance Insights canvia això introduint un tauler amb capacitats de visualització que permeten als DBA veure la càrrega de la base de dades al llarg del temps. Emmagatzema dades històriques de rendiment durant un període de set dies continuats sense cap cost addicional.

La funció encara està en vista prèvia, però Yu diu que els clients ja l’han utilitzat per optimitzar les seves càrregues de treball. Per exemple, un DBA va trobar una càrrega de treball automatitzada que es va connectar a un clúster sense el seu coneixement. Amb Performance Insights, van descobrir ràpidament que l’aplicació d’informes s’havia connectat a l’entorn durant la meitat del dia, alentint la base de dades que utilitzava el mateix recurs.

Les dades de rendiment també poden ajudar els DBA a entendre quins tipus de consultes arriben a la base de dades, afegeix Yu.

“Si intenteu consultar la base de dades en funció d’un camp concret que no està indexat, això podria ser molt lent”, assenyala. Això podria fer que el DBA alleugés el problema de rendiment mitjançant la creació d’un nou índex.

Clonació ràpida de bases de dades i tipus de dades Decimal128

Al juliol, el proveïdor de núvol va afegir una altra característica a Amazon DocumentDB, la clonació ràpida de bases de dades. Aquesta característica replica ràpidament els clústers, permetent als DBA dur a terme diverses tasques de desenvolupament, anàlisi i proves sense interrompre la producció.

La funció de clonació es pot utilitzar per ajudar a verificar i provar els canvis de la base de dades a les dades de producció sense afectar el rendiment.

“Podeu canviar alguns paràmetres per a Amazon DocumentDB i veure com reaccionarà el rendiment”, diu Yu. “Un bon ús d’aquesta funció és afegir alguns índexs i veure com afecta el rendiment abans d’implementar aquests canvis en la producció”.

La funció també és útil per executar treballs d’informes ad hoc que interferirien amb el rendiment de lectura i escriptura. Simplement cloneu la base de dades ràpidament i executeu l’informe amb aquestes dades actualitzades, aconsella.

Dues setmanes després del llançament ràpid de la clonació de bases de dades, AWS va llançar una tercera millora per a DocumentDB en forma del tipus de dades Decimal128.

Aquest tipus de dades amplia el nivell de precisió que la base de dades pot suportar a l’hora de fer càlculs i ajuda a evitar errors d’arrodoniment que els desenvolupadors poden trobar de vegades quan tracten amb nombres decimals. Per exemple, 0,1 + 0,2 poden produir 0,3 a la vostra calculadora, però produeixen 0,30000000000000004 al Python REPL.

“Potser penseu que això és petit, però és realment important”, diu Yu. Arrodonir dos-cents quintil·lonèsimes de cent pot semblar poc, però quan es tracta d’aplicacions d’alta precisió, utilitzar Decimal128 és fonamental.

“Està pensat per a aplicacions on cal tenir una precisió molt alta, sobretot en els nombres decimals”, explica. “Voleu utilitzar el tipus de dades Decimal128 quan treballeu amb dades financeres, càlculs fiscals o aplicacions científiques i d’enginyeria que requereixen molta precisió en el punt decimal”.

Capacitats d’auditoria ampliades

A finals d’agost, AWS va afegir suport per a una altra funció d’Amazon DocumentDB, l’auditoria del llenguatge de manipulació de dades (DML). Això s’afegeix a les capacitats d’auditoria del llenguatge de definició de dades (DDL) existents que ja estan disponibles amb el servei. L’auditoria DML permet als clients auditar lectures, actualitzacions, insercions i operacions de supressió a Amazon CloudWatch.

També permet als clients que operen en indústries regulades, com ara les finances o la sanitat, complir amb les regulacions de govern i compliment, i millorar la postura de seguretat, enregistrant els esdeveniments de la base de dades.

“Amb DML Auditing, teniu una pista d’auditoria per a tots els que han accedit a les dades”, diu Yu.

La funció d’auditoria DML no està activada de manera predeterminada, però activar-la per a clústers de bases de dades nous i existents és senzill. Amb una lleugera modificació de la configuració a la consola AWS o a la interfície de línia d’ordres d’AWS (AWS CLI), la funció registra diversos aspectes d’un esdeveniment de canvi. Aquests inclouen quan es va produir l’esdeveniment de canvi, qui n’era responsable i des d’on van iniciar la sessió, les dades o privilegis que van canviar i quina ordre ho va provocar. També podeu veure els esdeveniments del llenguatge de definició de dades (DDL) que canvien l’estructura de dades, com ara DROP o ALTER.

A més de les exploracions retroactives, la funció proporciona alertes contínues, que són útils per a aquells que protegeixen les dades sensibles aquí i ara. Per exemple, els DBA que gestionen dades amb privilegis poden rebre alertes quan es produeixen determinats esdeveniments, com ara lectures, supressions o actualitzacions massives.

Els DBA també poden configurar una política de retenció a CloudWatch i exportar dades d’auditoria DML a S3 per a l’emmagatzematge a llarg termini, explica Yu.

Amb clients que van des de Capital One fins a Dow Jones, Amazon DocumentDB ja està en camí de convertir-se en una eina de referència per a les empreses que necessiten la flexibilitat d’una base de dades de documents JSON nativa sense la molèstia de l’autogestió.

“Estem compromesos a innovar contínuament en nom dels nostres clients”, diu Yu, “i esperem el re:Invent d’aquest any per compartir més informació sobre les properes funcions que ajudaran els nostres clients a escalar per al futur”.

Patrocinat per AWS.

Leave a Comment

Your email address will not be published. Required fields are marked *