As a follow-up of Jan’s blog post we have extracted some central figures and created this infographic for your reference.
Estimated reading time: 8 minutes
In this post we’ll explain how ArangoDB stores collection data on disk and look at its storage space requirements, compared to other popular NoSQL databases such as CouchDB and MongoDB.
How ArangoDB allocates disk space
ArangoDB stores documents in collections. The collection data is persisted on disk so it does not get lost in case of a server restart.
Estimated reading time: 7 minutes
…or: The Great Server Shootout
ArangoDB is a database server that talks HTTP with its clients: clients send HTTP requests to ArangoDB over TCP/IP, ArangoDB will process them and send back the results to the client, packaged as HTTP over TCP/IP.
ArangoDB’s communication layer is thus the foundation for almost all database operations, and it needs to be fast to not become a bottleneck, blocking further database operations.To assess the actual performance of the communication layer, we did some benchmarks that compare ArangoDB’s network and HTTP processing capabilities with those of other..
Estimated reading time: 1 minutes
I’ve started the following collection of links, example code, projects, and articles about mruby. This list is most likely not complete, if you have other interesting articles please let me know. Especially sample code and mruby projects.
Estimated reading time: 1 minutes
At our last Ruby user group meeting it was asked, what the differences between CRuby and MRuby are. @junjis0203 wrote a MRuby FAQ. Unfortunately, it’s in Japanese. I’ve tried to translate it using http://www.excite.co.jp/world/english/ & Google translate and added my own findings.
Not all classes and method from CRuby are available in MRuby
MRuby does not guarantee to implement the features which are defined in ISO / IEC 30170
Regular Expression
Mruby allows you to switch features on or off depending on your needs and available space. These features are defined in “include/mrbconf.h”. One of..
Estimated reading time: 2 minutes
Having a long history with relational databases and having worked for a lot of years with SQL some people find it a bit inconvenient querying nosql databases e.g. via REST. Others have rather complex data models and need nevertheless an elegant and convenient way for querying. And we all love clean and simple interfaces.
ArangoDB comes with a couple of options for querying the data, among offer it implements the “ArangoDB Query Language” (AQL).
AQL is a declarative query language for simple and also very complex queries. Unless like in other nosql databases you can also query across..
Estimated reading time: 3 minutes
In the relational world, PL/SQL is used to store business/application logic inside the relational database. The same movement is currently happening in the NoSQL. Redis for example uses LUA script in its newest version (2.6), to allow developers to tweak Redis. There a lot of use-cases for a programming language in document-stores. Programming languages are used in various document stores like ArangoDB, CouchDB, MongoDB, or VoltDB. In my opinion in the following use-cases a suitable language like Ruby will be most handy.
Estimated reading time: 2 minutes
As Dorthe pointed out, we are on the road for the next two weeks. So, I thought it might be a good idea to put everything together. In the last blog posts, I described
- how to wrap a C / C++ structure
- how to define Ruby classes and functions in C
- construct a interactive REPL
Estimated reading time: 0 minutes
Just a quick note: We are on the road… you can meet us in person at the following conferences:
Estimated reading time: 3 minutes
MRuby is progressing quite rapidly, it is now possible to implement a real REPL, see github. So, it is time to continue my efforts to integrate MRuby into ArangoDB. ArangoDB currently uses JavaScript to implement transactions and enrich the database with small Actionlets, i. e. functions that take a HTTP request and produce a HTTP response. Additionally, there is a shell, which allows you to administrate the server.
I want to be able to also use MRuby for these jobs. These easiest part is the interactive shell. It requires the following components:
Get the latest tutorials,
blog posts and news:
