The document discusses using the MRuby scripting language in databases. It provides an overview of NoSQL databases and the ArangoDB multi-model database. It then discusses use cases for scripting languages in databases for tasks like enriching results and computing values. The document compares MRuby and V8, noting MRuby is simpler to embed but slower. It argues MRuby may be an alternative embedding if performance is not critical or can be improved with LLVM compilation to machine code.
Jan Steemann had a talk at Javascript Everywhere in Paris 2012 on Javascript in Arangodb an open source NoSQL database. With ArangoDB you can use Javascript and/or Ruby (mruby) as embedded language
Recently a new breed of "multi-model" databases has emerged. They are a document store, a graph database and a key/value store combined in one program. Therefore they are able to cover a lot of use cases which otherwise would need multiple different database systems.
This approach promises a boost to the idea of "polyglot persistence", which has become very popular in recent years although it creates some friction in the form of data conversion and synchronisation between different systems. This is, because with a multi-model database one can enjoy the benefits of polyglot persistence without the disadvantages.
In this talk I will explain the motivation behind the multi-model approach, discuss its advantages and limitations, and will then risk to make some predictions about the NoSQL database market in five years time, which I shall only reveal during the talk.
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
In this hotcode 2013 talk Lucas and Frank gave an overview over NoSQL and explained why it is a good idea to use Javascript also in the database environment.
Jan Steemann had a talk at Javascript Everywhere in Paris 2012 on Javascript in Arangodb an open source NoSQL database. With ArangoDB you can use Javascript and/or Ruby (mruby) as embedded language
Recently a new breed of "multi-model" databases has emerged. They are a document store, a graph database and a key/value store combined in one program. Therefore they are able to cover a lot of use cases which otherwise would need multiple different database systems.
This approach promises a boost to the idea of "polyglot persistence", which has become very popular in recent years although it creates some friction in the form of data conversion and synchronisation between different systems. This is, because with a multi-model database one can enjoy the benefits of polyglot persistence without the disadvantages.
In this talk I will explain the motivation behind the multi-model approach, discuss its advantages and limitations, and will then risk to make some predictions about the NoSQL database market in five years time, which I shall only reveal during the talk.
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
In this hotcode 2013 talk Lucas and Frank gave an overview over NoSQL and explained why it is a good idea to use Javascript also in the database environment.
FOXX - a Javascript application framework on top of ArangoDBArangoDB Database
Foxx allows you to build APIs directly on top of the database ArangoDB in Javascript and therefore skip the middleman (Rails, Django, Symfony or whatever your favorite web framework is). Foxx is designed with simplicity and the specific use case of modern client-side MVC frameworks in mind.
A Graph Database That Scales - ArangoDB 3.7 Release WebinarArangoDB Database
örg Schad (Head of Engineering and ML) and Chris Woodward (Developer Relations Engineer) introduce the new capabilities to work with graph in a distributed setting. In addition explain and showcase the new fuzzy search within ArangoDB's search engine as well as JSON schema validation.
Get started with ArangoDB: https://www.arangodb.com/arangodb-tra...
Explore ArangoDB Cloud for free with 1-click demos: https://cloud.arangodb.com/home
ArangoDB is a native multi-model database written in C++ supporting graph, document and key/value needs with one engine and one query language. Fulltext search and ranking is supported via ArangoSearch the fully integrated C++ based search engine in ArangoDB.
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 .
OrientDB: Unlock the Value of Document Data RelationshipsFabrizio Fortino
a) A general introduction of graph databases and OrientDB,
b) Why connected data has more value than just data,
c)How to "have fun" with OrientDB combining documents with graphs via SQL,
d) A use case on how OrientDB has helped to raise standards in Irish Public Office.
On OrientDB: NOSQL document databases provide an elegant way to deal with data in different shapes enabling developers to create better and faster products quickly. The main goal of these systems is to find the most efficient solution to manage data itself. With the Big Data Explosion we need to deal with a myriad of highly interconnected information. The challenge now is not only on how to store data but on how to manage, analyse, traverse and use your data within the context of relationships. Graph databases shine at maintaining highly connected data and is the fastest growing category in database management systems: 2014 registered an increase of 250% in terms of adoption and Forrester Research predicts that more than a quarter of enterprises will be using graphs by 2017. OrientDB combines more than one NOSQL model offering the unique flexibility of modelling data in the form of either documents, or graphs, while incorporating object oriented programming as a way of encapsulating relationships.
Ever used a graph database to store your data?
Ever wondered if it is possible to administrate the data without the need to write update queries, but to have a nice visual interface that renders your graph and offers you interaction?
In this talk i present a graph viewer interface built on top of ArangoDB and the challenges i had to solve during its creation.
Comparison with storing data using NoSQL(CouchDB) and a relational database.eross77
This presentation is intended to show those familiar with relational databases how a NoSQL database can make their jobs easier with loosely structured data.
This presentation was given at the Balisage 2017 conference, and provides an overview of three key RDF standards for constraint modeling, annotation and the use of data frames and cubes in RDF.
Tutorial on RDFa, to be held at ISWC2010 in Shanghai, China. (I was supposed to hold the tutorial but last minute issues made it impossible for me to travel there...)
ODTUG Webcast - Thinking Clearly about XMLMarco Gralike
Presentation slides used during ODTUG Webcast on the 19th of January explaining first steps in Oracle XMLDB (including extended demo's)
https://www3.gotomeeting.com/register/660686966
FOXX - a Javascript application framework on top of ArangoDBArangoDB Database
Foxx allows you to build APIs directly on top of the database ArangoDB in Javascript and therefore skip the middleman (Rails, Django, Symfony or whatever your favorite web framework is). Foxx is designed with simplicity and the specific use case of modern client-side MVC frameworks in mind.
A Graph Database That Scales - ArangoDB 3.7 Release WebinarArangoDB Database
örg Schad (Head of Engineering and ML) and Chris Woodward (Developer Relations Engineer) introduce the new capabilities to work with graph in a distributed setting. In addition explain and showcase the new fuzzy search within ArangoDB's search engine as well as JSON schema validation.
Get started with ArangoDB: https://www.arangodb.com/arangodb-tra...
Explore ArangoDB Cloud for free with 1-click demos: https://cloud.arangodb.com/home
ArangoDB is a native multi-model database written in C++ supporting graph, document and key/value needs with one engine and one query language. Fulltext search and ranking is supported via ArangoSearch the fully integrated C++ based search engine in ArangoDB.
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 .
OrientDB: Unlock the Value of Document Data RelationshipsFabrizio Fortino
a) A general introduction of graph databases and OrientDB,
b) Why connected data has more value than just data,
c)How to "have fun" with OrientDB combining documents with graphs via SQL,
d) A use case on how OrientDB has helped to raise standards in Irish Public Office.
On OrientDB: NOSQL document databases provide an elegant way to deal with data in different shapes enabling developers to create better and faster products quickly. The main goal of these systems is to find the most efficient solution to manage data itself. With the Big Data Explosion we need to deal with a myriad of highly interconnected information. The challenge now is not only on how to store data but on how to manage, analyse, traverse and use your data within the context of relationships. Graph databases shine at maintaining highly connected data and is the fastest growing category in database management systems: 2014 registered an increase of 250% in terms of adoption and Forrester Research predicts that more than a quarter of enterprises will be using graphs by 2017. OrientDB combines more than one NOSQL model offering the unique flexibility of modelling data in the form of either documents, or graphs, while incorporating object oriented programming as a way of encapsulating relationships.
Ever used a graph database to store your data?
Ever wondered if it is possible to administrate the data without the need to write update queries, but to have a nice visual interface that renders your graph and offers you interaction?
In this talk i present a graph viewer interface built on top of ArangoDB and the challenges i had to solve during its creation.
Comparison with storing data using NoSQL(CouchDB) and a relational database.eross77
This presentation is intended to show those familiar with relational databases how a NoSQL database can make their jobs easier with loosely structured data.
This presentation was given at the Balisage 2017 conference, and provides an overview of three key RDF standards for constraint modeling, annotation and the use of data frames and cubes in RDF.
Tutorial on RDFa, to be held at ISWC2010 in Shanghai, China. (I was supposed to hold the tutorial but last minute issues made it impossible for me to travel there...)
ODTUG Webcast - Thinking Clearly about XMLMarco Gralike
Presentation slides used during ODTUG Webcast on the 19th of January explaining first steps in Oracle XMLDB (including extended demo's)
https://www3.gotomeeting.com/register/660686966
Relational databases were created a long time ago for a simpler world. Even if they are still awesome tools for generic workloads, there are some things they cannot do well.
In this session I will speak about purpose-built databases that you can use for specific business scenarios. We will see the type of queries you can run on a Graph database, a Document Database, and a Time-Series database. We will then see how a relational database could also be used for the same use cases, just in a much more complex way.
Spark Training Institutes: kelly technologies is the best Spark class Room training institutes in Bangalore. Providing Spark training by real time faculty in Bangalore.
Polyglot persistence for Java developers - moving out of the relational comfo...Chris Richardson
Relational databases have long been considered the one true way to persist enterprise data. But today, NoSQL databases are emerging as a viable alternative for many applications. They can simplify the persistence of complex data models and offer significantly better scalability, and performance. But using NoSQL databases is very different than the ACID/SQL/JDBC/JPA world that we have become accustomed to. They have different and unfamiliar APIs and a very different and usually limited transaction model. In this presentation, we describe some popular NoSQL databases – Redis, MongoDB, and Cassandra. You will learn about each database’s data model and Java API. We describe the benefits and drawbacks with using NoSQL databases. Finally, you will learn how the Spring Data project simplifies the development of Java applications that use NoSQL databases.
Many experts believe that ageing can be delayed, this is one of the main goals of the the Institute of Healthy Ageing at University College London. I will present the results of my lifespan-extension research where we integrated publicly available genes databases in order to identify ageing related genes. I will show what challenges we met and what we have learned about the process of ageing.
Ageing is one of the fundamental mysteries in biology and many scientists are starting to study this fascinating process. I am part of the research group led by Dr Eugene Schuster at UCL Institute of Healthy Ageing. We experiment with Drosophila and Caenorhabditis elegans by modifying their genes in order to create long-lived mutants. The results of our experiments are quantified using high-throughput microarray analysis. Finally we apply information technology in order to understand how the ageing process works. I will show how we mine microarrays data in order to find the connections between thousands of genes and how we identify candidates for ageing genes.
We are interested in building a better understanding of genes functions by harnessing the large quantity of experimental microarray data in the public databases. Our hope is that after understanding the ageing process in simpler organisms we will be able to apply this knowledge in humans.
Cross-referencing expressions levels in thousands of genes and hundreds of experiments turned out to be a computationally challenging problem but Hadoop and Amazon cloud came to our rescue. In this talk I will present a case study based on our use of R with Amazon Elastic MapReduce and will give background on our bioinformatics challenges.
These slides were presented at ApacheCon Europe 2012:
http://www.apachecon.eu/schedule/presentation/3/
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....ArangoDB Database
Note: You have to download the slides and use either powerpoint or google slides to make the links clickable.
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3).pptx
Note: You have to download the slides and use either powerpoint or google slides to make the links clickable.
Machine Learning + Graph Databases for Better Recommendations
Presented by Chris Woodward
Note: You have to download the slides and use either powerpoint or google slides to make the links clickable.
Machine Learning + Graph Databases for Better Recommendations
Presented by Chris Woodward
The ArangoML Group had a detailed discussion on the topic "GraphSage Vs PinSage" where they shared their thoughts on the difference between the working principles of two popular Graph ML algorithms. The following slidedeck is an accumulation of their thoughts about the comparison between the two algorithms.
Webinar: ArangoDB 3.8 Preview - Analytics at Scale ArangoDB Database
The ArangoDB community and team are proud to preview the next version of ArangoDB, an open-source, highly scalable graph database with multi-model capabilities. Join our CTO, Jörg Schad, Ph.D. and Developer Relation Engineer Chris Woodward in this webinar to learn more about ArangoDB 3.8 and the roadmap for upcoming releases.
These are the slides from the Getting Started with ArangoDB Oasis webinar: https://www.arangodb.com/events/getting-started-with-arangodb-oasis/
Get your own Oasis with a free 14-day trial (no credit card required) at https://cloud.arangodb.com/home.
These are the slides to the webinar about Custom Pregel algorithms in ArangoDB https://youtu.be/DWJ-nWUxsO8. It provides a brief introduction to the capabilities and use cases for Pregel.
Hacktoberfest 2020 'Intro to Knowledge Graph' with Chris Woodward of ArangoDB and reKnowledge. Accompanying video is available here: https://youtu.be/ZZt6xBmltz4
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?ArangoDB Database
View the video of this webinar here: https://www.arangodb.com/arangodb-events/gvisor-kata-containers-firecracker-docker/
Containers* have revolutionized the IT landscape and for a long time. Docker seemed to be the default whenever people were talking about containerization technologies**. But traditional container technologies might not be suitable if strong isolation guarantees are required. So recently new technologies such as gVisor, Kata Container, or firecracker have been introduced to close the gap between the strong isolation of virtual machines and the small resource footprint of containers.
In this talk, we will provide an overview of the different containerization technologies, discuss their tradeoffs, and provide guidance for different use cases.
* We will define the term container in more detailed during the talk
** and yes we will also cover some of the pre-docker container space!
We all know good training data is crucial for data scientists to build quality machine learning models. But when productionizing Machine Learning, Metadata is equally important. Consider for example:
- Provenance of model allowing for reproducible builds
- Context to comply with GDPR, CCPA requirements
- Identifying data shift in your production data
This is the reason we built ArangoML Pipeline, a flexible Metadata store which can be used with your existing ML Pipeline.
Today we are happy to announce a release of ArangoML Pipeline Cloud. Now you can start using ArangoML Pipeline without having to even start a separate docker container.
In this webinar, we will show how to leverage ArangoML Pipeline Cloud with your Machine Learning Pipeline by using an example notebook from the TensorFlow tutorial.
Find the video here: https://www.arangodb.com/arangodb-events/arangoml-pipeline-cloud/
Find the recording of this webinar here: https://www.arangodb.com/arangodb-events/3-7-roadmap-performance-at-scale/
After the release of ArangoDB 3.6 we are starting to work on the next version with even more exciting features. As an open-source project we would love to hear your ideas and discuss the roadmap with our community.
Would you like to learn more about Satellite Graphs, Schema Validation, a number of performance and security improvements?
Than join Jörg Schad, Head of Engineering and Machine Learning at ArangoDB, who will share the latest plans for the upcoming ArangoDB 3.7 release as well as the long term roadmap.
The long-awaited Managed Service for ArangoDB is finally here! Users have a fully managed document, graph, and key/value store, plus a search engine, in one place. As we thought of such a powerful service — something that gives you room to breathe, relax, and having someone else taking care of everything —, we called it Oasis.
In this live webinar, Ewout Prangsma, Architect & Teamlead of ArangoDB Oasis, walks you through all the main capabilities of the new service, including high availability, elastic scalability, enterprise-grade security, and also demo the different deployment modes you have at your fingertips.
Before the Q&A part, Ewout also shares what you will be capable of in the future.
The new ArangoDB 3.5 release is here and includes a number of minor and major new features. For example, the ability to perform distributed JOIN operations with SmartJoins, new text search features in ArangoSearch, new consistent backup mechanism, and extended graph database features including k-shortest path queries and the new PRUNE keyword for more efficient queries. Jörg Schad, our Head of Engineering and Machine Learning, will discuss these new features and provide a hands-on demo on how to leverage them for your use case.
Associated webinar recording: https://youtu.be/sTWVmw4GT9A
The new ArangoDB 3.5 release is here and includes a number of minor and major new features. For example, the ability to perform distributed JOIN operations with SmartJoins, new text search features in ArangoSearch, new consistent backup mechanism, and extended graph database features including k-shortest path queries and the new PRUNE keyword for more efficient queries. Jörg Schad, our Head of Engineering and Machine Learning, will discuss these new features and provide a hands-on demo on how to leverage them for your use case.
These are the slides from the webinar, where Chris & Jan walked through the basic concepts, key features and query options you have within ArangoDB as well as discuss scalability considerations for different data models. Chris is the hands-on guy and will showcase a variety of query options you have with a native multi-model database like ArangoDB
In these slides, Jan Steemann, core member of the ArangoDB project, introduced to the idea of native multi-model databases and how this approach can provide much more flexibility for developers, software architects & data scientists.
Running complex data queries in a distributed systemArangoDB Database
With the always-growing amount of data, it is getting increasingly hard to store and get it back efficiently. While the first versions of distributed databases have put all the burden of sharding on the application code, there are now some smarter solutions that handle most of the data distribution and resilience tasks inside the database.
This poses some interesting questions, e.g.
- how are other than by-primary-key queries actually organized and executed in a distributed system, so that they can run most efficiently?
- how do the contemporary distributed databases actually achieve transactional semantics for non-trivial operations that affect different shards/servers?
This talk will give an overview of these challenges and the available solutions that some open source distributed databases have picked to solve them.
Guacamole Fiesta: What do avocados and databases have in common?ArangoDB Database
First, our CTO, Frank Celler, does a quick overview of the latest feature developments and what is new with ArangoDB.
Then, Senior Graph Specialist, Michael Hackstein talks about multi-model database movement, diving deeper into main advantages and technological benefits. He introduces three data-models of ArangoDB (Documents, Graphs and Key-Values) and the reasons behind the technology. We have a look at the ArangoDB Query language (AQL) with hands-on examples. Compare AQL to SQL, see where the differences are and what makes AQL better comprehensible for developers. Finally, we touch the Foxx Microservice framework which allows to easily extend ArangoDB and include it in your microservices landscape.
Guacamole Fiesta: What do avocados and databases have in common?
Using MRuby in a database
1. Running MRuby
in a database
Totally awesome, useful or just another pointless approach?
Frank Celler, triAGENS, Cologne
RuPy 2012, Brno
2012-11-16
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
2. Agenda
NoSQL database ArangoDB
Use-Cases for actions
mruby
V8 or mruby?
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
3. NoSQL Databases
Key/Value Store Document (Object) DB
Graph Database
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
4. NoSQL Databases
2012-11-11: 150 DB on
nosql-databases.org
Key/Value Store Document (Object) DB
Graph Database
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
5. NoSQL Databases
2012-11-11: 150 DB on
nosql-databases.org
Key/Value Store Document (Object) DB
Graph Database
Multi-Model
Databases Polyglot
Persistence
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
6. Multi-Model Open-Source Database
Various Indexes: Skip-Lists, Hashes, Geo, Cap
Language API/Drivers for big Ps, Ruby, JS
Embedded JavaScript & Ruby engine
Written in C/C++
Query Language for Joins and Sub-Structures
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
7. Query Language:
FOR u in Users FOR u IN users
LET rs = ( LET friends = (
FOR r in Recommendations FOR p in PATHS(user, relations, ``outbound´´, 1)
FILTER r.rec_by == u._id && r.type == "Book" FILTER p._from == u._id
RETURN r.book_title ) )
FILTER RETURN
length(rs) >= 3 { user: u, closeFriends: friends }
RETURN
{ "name" : u.name, "titles" : rs }
(compare with UNQL / JSONiq)
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
8. Use-Cases for
script languages
GET /user/fceller
function (req, res) {
var user = db.users.byExample({ username: req.urlParameters.username });
... deal with unknown user...
enrich
result
user.age = ... compute user age from birthday ...;
delete user.hashedPassword;
actions.resultOk(req, res, actions.HTTP_OK, user); hide info
}
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
9. Use-Cases for
script languages
GET /user/fceller/eccentricity
function (req, res) {
var user = db.users.byExample({ username: req.urlParameters.username });
... deal with unknown user...
needs
every node
var eccentricity = ... compute eccentricity ...;
actions.resultOk(req, res, actions.HTTP_OK, eccentricity);
}
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
10. Use-Cases for
script languages
Transactions
Triggers
Predefined Objects for AJAX
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
11. MRuby
Matz's
embeddable
minimal implementation of
Ruby language
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
12. MRuby
RiteVM as core
Minimal standard libraries
quotes from Matz
Embeddable C API
No perfect languages, even Ruby
Like to provide choices
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
13. MRuby vs V8
JavaScript is a “complicated” language for
embedding C++ class hierarchies
V8 itself is complex (isolates, contexts,
handle scopes), but fast
mruby is plain and simple C code
documentation is sketchy for both
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
15. Why use MRuby?
“Like to provide choices”
i.e. if you don‘t like prototype inheritance
“still young”
i.e. instead of using RiteVM, compile to
machine code
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
17. MRuby and LLVM
CASE(OP_SUB) {
/* A B C R(A) := R(A)-R(A+1) (Syms[B]=:-,C=1)*/
int a = GETARG_A(i);
/* need to check if op is overridden */
switch (TYPES2(mrb_type(regs[a]),mrb_type(regs[a+1]))) {
case TYPES2(MRB_TT_FIXNUM,MRB_TT_FIXNUM):
{
mrb_int x, y, z;
x = mrb_fixnum(regs[a]);
y = mrb_fixnum(regs[a+1]);
z = x - y;
if (((x < 0) ^ (y < 0)) == 0 && (x < 0) != (z < 0)) {
/* integer overflow */
SET_FLT_VALUE(regs[a], (mrb_float)x - (mrb_float)y);
break;
}
SET_INT_VALUE(regs[a], z);
}
break;
Simply replacing OP codes by machine code already gives a factor of 2
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
18. Why use MRuby?
If you have use-cases for scripts in
ArangoDB (or any other database), mruby
will eventually be an alternative
Otherwise, use a language driver (aka
Ashikawa for Ruby) and CRuby or JRuby
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12
19. Thank You!
Stay in Touch:
Fork me on github
Google Group: ArangoDB
Twitter: @fceller & @arangodb
www.arangodb.org
www.arangodb.org (c) f.celler@triagens.de
Samstag, 17. November 12