—The	  universal	  mul$	  model	  database	  —	  	         mar$n	  Schoenert,	  triAGENS	                         2012/10/...
Approaching	  ArangoDB	                 •  Universal	  mul$	  model	                    database	                 •  Mostl...
Why	  did	  we	  start	  with	  ArangoDB?	  •  Ini$al	  ques$ons:	  	       –  “How	  should	  an	  ideal	  universal	  da...
Projects	  benefit	  from	  a	  universal	  DB	  Requirements	  evolve:	             “We	  need	  some	  loca$on	  based	  ...
A	  growing	  community	                     ..	  working	  on	  the	  	  geo	  index,	                     the	  full	  t...
Voices	  from	  the	  audience	                                                               Recommenda$on	  from	  Mr.	 ...
ArangoDB	  –	  a	  mul$-­‐model	  database	  Key/Value	  Store	     Graph	  Database	              Document	  Store	      ...
Accessing	  data	                 REST	  interface	                  GET     /_api/document/document-handle               ...
Extend	  ArangoDB	  via	  “ac$ons”	                   •  Pimp	  ArangoDB	  using	  ac$ons	  with	                      ext...
Replica$on	  &	  sharding	  Replica$on:	  	  • 	  Coming	  in	  V2	  	  • 	  Master/master	  	  or	  master/slave	  	  • 	...
Technology	         •  Indices	             –  Skip	  lists,	  geo	  index,	  FTS	         •  Shapes	             –  schem...
Performance	  Inser$ng	  1	  million	  documents	  =>	  24,3	  seconds	  	  41.200	  inserts/second	   Reading	  1	  milli...
Get	  in	  touch	  ::	  join	  the	  team	  hrp://www.arangodb.org	  hrps://github.com/triAGENS/ArangoDB/	  Google	  Group...
Nächste SlideShare
Wird geladen in …5
×

Introduction to ArangoDB (nosql matters Barcelona 2012)

2.061 Aufrufe

Veröffentlicht am

ArangoDB is a universal open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient sql-like query language or JavaScript/Ruby extensions.

The video is also available online:
http://2012.nosql-matters.org/bcn/speakers/

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.061
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
33
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Introduction to ArangoDB (nosql matters Barcelona 2012)

  1. 1. —The  universal  mul$  model  database  —     mar$n  Schoenert,  triAGENS   2012/10/06  
  2. 2. Approaching  ArangoDB   •  Universal  mul$  model   database   •  Mostly  memory   Open  source   –  Free  as  in  beer   –  Lives  on  GitHub   –  Apache  License  V2   •  Started  in  Sep  2011   •  Version  1  in  Sep  2012  
  3. 3. Why  did  we  start  with  ArangoDB?  •  Ini$al  ques$ons:     –  “How  should  an  ideal  universal  database  look  like?”   –  “Is  it  already  out  there?”  •  ArangoDB   –  unique  feature  set     –  solves  some  problems  of  other  nosql  DBs   –  greenfield  project   –  led  by  experience    
  4. 4. Projects  benefit  from  a  universal  DB  Requirements  evolve:   “We  need  some  loca$on  based  services.”   “Please  add  a  recommenda$on  system.”   “We  have  many  users  now.  It  must  s$ll  be  fast.”  
  5. 5. A  growing  community   ..  working  on  the    geo  index,   the  full  text  search  and   many  APIs:    Ruby,  Python,   PHP,  JAVA,  D,  ...  
  6. 6. Voices  from  the  audience   Recommenda$on  from  Mr.   Ruby  himself    J  “Because  AvocadoDB  (aka  ArangoDB)  came  out,  energy  to  write  D  language  client  of  [AnotherDB]  has  faded  away  completely”.  
  7. 7. ArangoDB  –  a  mul$-­‐model  database  Key/Value  Store   Graph  Database   Document  Store   Source:  Andrew  Carol  
  8. 8. Accessing  data   REST  interface   GET /_api/document/document-handle PUT /_api/document/document-handleQuery  by  example   db.users.byExample({ "age" : 42 }).toArray(); db.cities.near( "latitude" : 50, "longitude“ :7). limit(5).toArray(); ArangoDB  query  language  (AQL)   FOR u in Users FILTER u.address.country == "USA" SORT u.address.city RETURN { name : u.name, city : u.address.city }
  9. 9. Extend  ArangoDB  via  “ac$ons”   •  Pimp  ArangoDB  using  ac$ons  with   extra  features  in   –  Ruby  (mruby  =  embedded  Ruby)   –  Javascript  (V8)   •  Do  it  in  a  performing  way  (close  to   the  data)     Ac$ons  enrich  ArangoDB   •  Transac$ons   •  Cascading  deletes/updates   •  Assign  permissions  to  ac$ons   •  Wrap  everything  in  a  protocol  (e.g.   LDAP)  
  10. 10. Replica$on  &  sharding  Replica$on:    •   Coming  in  V2    •   Master/master    or  master/slave    •   Sync  or  async       Sharding:     •   Sharding  is  for  LARGE  data  sets   •   How  many  tera  bytes  of  data  do  you  have?       •   Let’s  discuss  this  feature!  
  11. 11. Technology   •  Indices   –  Skip  lists,  geo  index,  FTS   •  Shapes   –  schema  free/schemes   •  Mul$version   Concurrency   –  memory-­‐mapped-­‐files   –  garbage  collec$on  
  12. 12. Performance  Inser$ng  1  million  documents  =>  24,3  seconds    41.200  inserts/second   Reading  1  million  documents  =>  93,6  seconds   10.600  requests/second   Primary  index  lookup  &  return  of  the  document   using  AQL:                FOR  u  IN  users  FILTER  u._id  ==  ”<docId>"  RETURN  u     1  million  HTTP  requests  =>  94,1  seconds     10.600  requests/second  
  13. 13. Get  in  touch  ::  join  the  team  hrp://www.arangodb.org  hrps://github.com/triAGENS/ArangoDB/  Google  Group:  ArangoDB  Twirer:  @ArangoDB    

×