Nieuwe versie van DBMS ArangoDB 3.6

gepubliceerd release van een multifunctioneel DBMS ArangoDB 3.6, dat flexibele opslagmodellen biedt voor documenten, grafieken en sleutelwaardegegevens. Het werken met de database wordt uitgevoerd via een SQL-achtige querytaal AQL of via speciale JavaScript-extensies. Gegevensopslagmethoden voldoen aan de ACID-vereisten (atomiciteit, consistentie, isolatie, duurzaamheid), ondersteunen transacties en bieden zowel horizontale als verticale schaalbaarheid. Het DBMS kan worden beheerd via een webinterface of een consoleclient Arango SH. ArangoDB-code gedistribueerd door gelicentieerd onder Apache 2. Het project is geschreven in C en JavaScript.

Belangrijkste kenmerken van ArangoDB:

  • De mogelijkheid om te doen zonder het definiëren van een gegevensopslagschema (schemavrij) - gegevens zijn gestructureerd in de vorm van documenten waarin metadata en informatie over de structuur zijn gescheiden van gebruikersgegevens;
  • Ondersteuning voor het gebruik van ArangoDB als server voor JavaScript-webapplicaties met de mogelijkheid om toegang te krijgen tot de database via de REST/Web API;
  • JavaScript gebruiken voor browsertoepassingen die toegang hebben tot de database en voor handlers die worden uitgevoerd aan de kant van het DBMS;
  • Multi-threaded architectuur die de belasting verdeelt over alle CPU-cores;
  • Een flexibel gegevensopslagmodel dat sleutel-waardeparen, documenten en parameters kan combineren die relaties tussen records definiëren (er zijn middelen voorzien om grafiekhoekpunten te doorlopen);
  • Verschillende modellen voor gegevensrepresentatie (documenten, grafieken en sleutel-waarde-associaties) kunnen in één query worden gemengd, waardoor het gemakkelijker wordt om heterogene gegevens samen te voegen;
  • Ondersteuning voor queries met merge (JOIN);
  • Mogelijkheid om het type index te kiezen dat overeenkomt met de op te lossen taken (u kunt de index bijvoorbeeld gebruiken voor zoeken in volledige tekst);
  • Aanpasbare betrouwbaarheid: de applicatie kan zelf bepalen wat voor haar belangrijker is: hogere betrouwbaarheid of hogere performance;
  • Efficiënte opslag die volledig profiteert van moderne hardware (zoals SSD's) en grote caches kan gebruiken;
  • Transacties: de mogelijkheid om query's uit te voeren op meerdere documenten of verzamelingen tegelijk, met optionele transactieconsistentie en isolatie;
  • Ondersteuning voor replicatie en sharding: de mogelijkheid om master-slave-configuraties te creëren en datasets te distribueren naar verschillende servers, afhankelijk van een bepaald attribuut;
  • Er wordt een JavaScript-framework geleverd voor het maken van microservices Foxx, die binnen de DBMS-server draait met directe gegevenstoegang.

Veranderingenvoorgesteld in de ArangoDB 3.6 release:

  • Optimalisatie van de prestaties van subquery's, evenals UPDATE- en REPLACE-bewerkingen;
  • De mogelijkheid van parallelle uitvoering van AQL-query's is geïmplementeerd, waardoor de tijd voor het verzamelen van gegevens die over verschillende knooppunten van het cluster zijn verdeeld, wordt verkort;
  • Implementatie van uitgestelde materialisatie van documenten, waardoor in sommige situaties de noodzaak om irrelevante documenten volledig te extraheren overbodig wordt;
  • Bij het scannen van documenten wordt voorzien in een vroege afwijzing van documenten die niet overeenkomen met het gespecificeerde filter;
  • De ArangoSearch-zoekmachine voor volledige tekst is verbeterd om rangschikking op basis van gegevensovereenkomst te ondersteunen. Analyse-ondersteuning toegevoegd voor het automatisch aanvullen van zoekopdrachten, geïmplementeerde TOKENS()- en PHRASE()-functies voor het dynamisch genereren van zoekopdrachten;
  • MaxRuntime-instelling toegevoegd om de uitvoeringstijd van de query selectief te beperken;
  • Optie "--query.optimizer-rules" toegevoegd om de activering van bepaalde optimalisaties bij het verwerken van query's te regelen;
  • Meer mogelijkheden om het werk van de cluster te organiseren. Optie "--cluster.upgrade" toegevoegd om de upgrademodus voor knooppunten in een cluster te selecteren;
  • Ondersteuning toegevoegd voor TLS 1.3 om het communicatiekanaal tussen de client en de server te versleutelen (standaard blijft de client TLS 1.2 gebruiken).

Bron: opennet.ru

Voeg een reactie