Multi-model databases and
node.js
Max Neunhöffer
Node.js Club SF, 23 March 2015
www.arangodb.com
triAGENS
(mother company of ArangoDB GmbH)
15 years of experience in building specialized databases
We care about database...
Document store
A document store stores a set of documents, which means
JSON data, these sets are called collections. The d...
Key/value store
Opaque values, only key lookup without secondary indexes:
=⇒ high performance and perfect scalability
more...
Graph database
A graph database stores a labelled graph. Vertices and
edges can be documents.
Graphs are good to model rel...
Polyglot Persistence
Idea
Use the right data model for each part of a system.
Take scalability needs into account!
A typical Use Case — an Online Shop
We need to hold
customer data: usually homogeneous, but still variations
MySQL
product...
Polyglot Persistence is nice, but . . .
Disadvantages
Consequence:
One needs multiple database systems in the persis-
tenc...
The Multi-Model Approach
Multi-model database
A multi-model database combines a document store with a
graph database and i...
Use case: Aircraft fleet management
is a multi-model database (document store & graph database),
is open source and free (Apache 2 license),
offers convenient ...
Extensible through JavaScript
The Foxx Microservice Framework
Allows you to extend the HTTP/REST API by your own
routes, w...
Links
https://www.arangodb.com
https://github.com/ArangoDB/guesser
Nächste SlideShare
Wird geladen in …5
×

Multi-model databases and Node.js

1.975 Aufrufe

Veröffentlicht am

In this talk I will explain the motivation behind the multi-model database approach, discuss its advantages and limitations, and will keep the presentation concrete and practice oriented by showing concrete usage examples from node.js .

See https :// vimeo.com/123640016 for a video of the presentation.

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.975
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
40
Aktionen
Geteilt
0
Downloads
10
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Multi-model databases and Node.js

  1. 1. Multi-model databases and node.js Max Neunhöffer Node.js Club SF, 23 March 2015 www.arangodb.com
  2. 2. triAGENS (mother company of ArangoDB GmbH) 15 years of experience in building specialized databases We care about database technology! In 2012, we wanted to create a database such that YOU can build such services.
  3. 3. Document store A document store stores a set of documents, which means JSON data, these sets are called collections. The database has access to the contents of the documents. schema-less very versatile
  4. 4. Key/value store Opaque values, only key lookup without secondary indexes: =⇒ high performance and perfect scalability more restricted queries — better scalability
  5. 5. Graph database A graph database stores a labelled graph. Vertices and edges can be documents. Graphs are good to model relations. “graphy queries” like traversals are crucial
  6. 6. Polyglot Persistence Idea Use the right data model for each part of a system. Take scalability needs into account!
  7. 7. A typical Use Case — an Online Shop We need to hold customer data: usually homogeneous, but still variations MySQL product data: even for a specialised business quite inhomogeneous shopping carts: need very fast lookup by session key order and sales data: relate customers and products recommendation engine data: links between different entities
  8. 8. Polyglot Persistence is nice, but . . . Disadvantages Consequence: One needs multiple database systems in the persis- tence layer of a single project! Wouldn’t it be nice, . . . . . . to enjoy the benefits without the disadvantages?
  9. 9. The Multi-Model Approach Multi-model database A multi-model database combines a document store with a graph database and is at the same time a key/value store, with a common query language for all three data models. Important: is able to compete with specialised products on their turf allows for polyglot persistence using a single database
  10. 10. Use case: Aircraft fleet management
  11. 11. is a multi-model database (document store & graph database), is open source and free (Apache 2 license), offers convenient queries (via HTTP/REST and AQL), including joins between different collections, configurable consistency guarantees using transactions memory efficient by shape detection, uses JavaScript throughout (Google’s V8 built into server), API extensible by JS code in the Foxx Microservice Framework, offers many drivers for a wide range of languages, is easy to use with web front end and good documentation, and enjoys good community as well as professional support.
  12. 12. Extensible through JavaScript The Foxx Microservice Framework Allows you to extend the HTTP/REST API by your own routes, which you implement in JavaScript running on the database server, with direct access to the C++ DB engine. Unprecedented possibilities for data centric services: custom-made complex queries or authorizations schema-validation push feeds, etc.
  13. 13. Links https://www.arangodb.com https://github.com/ArangoDB/guesser

×