ArangoDB
● Introduction
● Features
● Benchmarks
● Installation
● Web Interface
● Command Line
● Integration with Spring
● Demo
Agenda
ArangoDB
● ArangoDB is a native multi-model database system developed by triAGENS
GmbH
● The database system supports three important data models (key/value,
documents, graphs) with one database core and a unified query language
AQL (ArangoDB Query Language)
● ArangoDB is a NoSQL database system but AQL is similar in many ways to
SQL
Features
● Multi-model Paradigm
● ACID Properties
● HTTP API
● Simplified Performance Scaling
● Fault Tolerance
● Transactions
Benchmark
Installation
● wget
https://www.arangodb.com/repositories/arangodb31/xUbuntu_16.04/Relea
se.key
● sudo apt-key add Release.key
● sudo apt-add-repository 'deb
● sudo apt-get install arangodb3
● sudo systemctl status arangodb3
● arangosh
Web Interface
http://localhost:8529
Command Line
● db._createDatabase("song_collection")
● db._useDatabase("song_collection")
● db._createDocumentCollection('songs')
● db.songs.save({title: "A Man's Best Friend", lyricist: "Johnny Mercer",
composer: "Johnny Mercer", Year: 1950, _key:"A_Man"})
Integration With Spring
<dependency>
<groupId>com.arangodb</groupId>
<artifactId>arangodb-spring-data</artifactId>
<version>2.1.3</version>
</dependency>
compile 'com.arangodb:arangodb-spring-data:2.3.0'
Annotation for Spring Data ArangoDB
● @Document("tableName")
● @HashIndex(fields = { "name", "surname" }, unique = true)
● @Id
● @Relations(edges = ChildOf.class, lazy = true)
● @Edge
● @From
● @To
Demo
Advance Topic
● AQL (ArangoDB Query Language)
● AQL in Spring Data
● Geospacial
● Deployment With Docker
References
● https://github.com/arangodb/spring-data-demo
● https://www.arangodb.com/why-arangodb/arangodb-vs-mongodb/
● https://www.arangodb.com/2018/02/nosql-performance-benchmark-2018
-mongodb-postgresql-orientdb-neo4j-arangodb/
● https://github.com/arangodb/spring-data/blob/master/docs/Drivers/Sprin
gData/GettingStarted/README.md
● https://www.tutorialspoint.com/arangodb/index.htm
Thanks

Arango DB