ArangoDB on Raspberry Pi: Explore Possibilities | ArangoDB ’13
During the ArangoDB Hackathon weekend, we tried to compile ArangoDB on a Raspberry PI using Raspbian as operating system.
ArangoDB needs some external libraries in order to compile
- libev
- ICU
- V8
- zlib
Libev, ICU and zlib compiled without problems. Raspbian comes with a precompiled version of V8 – but it’s too old for ArangoDB. So, we had to compile V8 ourself. A single make run takes hours and hours to complete. Using the default parameters it complains about wrong flags for the hard-float ABI. After some googling and endless hours of waiting for the compile to complete, we found a set of flags that finally worked.
- you need to pass the options -march=armv6 to the compiler and linker
- you need to disable CAN_USE_VFP3_INSTRUCTIONS
- use -O2 instead of -O3 (I’m not sure if this is necessary or not)
ArangoDB on Uberspace: Simplify Deployment | ArangoDB ’13
How to use ArangoDB on Uberspace?
ArangoDB is (not yet) available on Uberspace. So how to use it? Basically Uberspace is a Centos 6 linux system, so you can use the executables provided. I’ve created a small shell script to install ArangoDB on an Uberspace system. Note that this is still experimental.
Log in and execute
wget -O - http://www.arangodb.com/repositories/Uberspace/arangodb-1.4.3.sh | sh
During the installtion you have the optin to bind the server to an IPv4 address, an IPv6 address, localhost, or unix domain sockets. Please note that – with the exception of domain sockets – everyone can connect to this socket. So, you should supply a password when using normal sockets.
This will create a folder “arangodb” with the executables and JavaScript files for ArangoDB. It also creates to shell scripts “arangod.sh” and “arangosh.sh” to start the server and the shell with the correct path. You can move these files into your “bin” folder.
[fceller@indus ~]$ ./arangod.sh
ArangoDB has been started. Please check the log file "/home/fceller/arangodb-1.3.2/var/log/arangodb/arangod.log"!
[fceller@indus ~]$ ./arangosh.sh
Please specify a password:
_
__ _ _ __ __ _ _ __ __ _ ___ ___| |__
/ _` | '__/ _` | '_ \ / _` |/ _ \/ __| '_ \
| (_| | | | (_| | | | | (_| | (_) \__ \ | | |
\__,_|_| \__,_|_| |_|\__, |\___/|___/_| |_|
|___/
Welcome to arangosh 1.3.2. Copyright (c) triAGENS GmbH
Using Google V8 3.16.14 JavaScript engine, READLINE 6.0, ICU 49.1.2
Connected to ArangoDB 'tcp://localhost:8529' version 1.3.2
Foxx Hackathon: Dive into ArangoDB Microservices | ArangoDB ’13
While the ArangoDB team is finishing the most wanted replication feature, there is another baby which needs our attention: Foxx.
Lucas, Jan, Frank and Michael have spread the word about Foxx and collected feedback from the community. Now it’s time for the next step: we will have our second FOXX hackathon on July 26th-28th in Cologne – and you are invited to join the party :-).
A quick reminder: FOXX is a nice, little Javascript application framework on top of ArangoDB. Using Foxx, the frontend application speaks through Foxx with ArangoDB. No Node.Js/Rails/Symfony/whatever backend is required. This is especially useful for creating APIs in no time in Single Page Applications (SPAs).
Who should attend?
- You are a developer and you are interested in another approach to build frontend driven apps.
- You have something in mind you would like to build with FOXX or you want to help us making FOXX better. Some topics we have in mind: authentication, ease of use, deploying apps.
- People from the community told us that they want to try: Using ClojureScript’s new lightweight processes (not bound to threads) together with FOXX
- You want to meet like-minded people and have fun
- You can’t resist a challenge.
- You don’t own an ArangoDB/Foxx T-Shirt yet. 😉
Some Javascript experience is required, but you don’t have to be an expert at all! (more…)
ArangoDB ’13: Replication & Sharding for Scalability
UPDATE: ArangoDB 2 introduced sharding! 🙂
Original blog post:
In ArangoDB’s google group there was recently an interesting discussion on what ArangoDB should offer in terms of replication and sharding. For the rest of you who does not follow the posts in the group, I have copied Frank Celler’s answer into this post:
Frank writes:
We will start with a master-slave, asynchronous replication for 1.4. This has at least the following advantages:
- It is a good fit for most use cases.
- It will allow us to implement backup as “slave”.
- It easily gives you redundancy by setting up multiple instances.
- It gives you read-scaling.
There are also drawbacks. For example, you need to manually select and switch masters in case of fail-over. However, restricting to a simple solution (which is still hard enough to implement) should allow us to release V1.4 this summer. If you think about MySQL, you will see that in most case a master-slave replication is sufficient.
The next step will be master-master replication. This, however, requires more complex protocols like Paxos to elect a master and at least three nodes. We have to decide, if this will be in version 1.5 or maybe already 2.0. We have to see how much has to be changed.
Ideas and Facts from Scotland.js in Edinburgh | ArangoDB ’13
Test Driven Development
I have been one of the lucky attendants of scotland.js in Edinburgh recently.
It was a really nice & informative conference, thanks to all people that made it possible.
I did really like to see that TDD is reaching the front-end developers finally.
A lot of useful tools for this have been presented by James Shore, Bernard Kobos and Sebastian Golasch.
In ArangoDB, TDD is in action all day and I am looking forward to improving our front-end testing even further using these awesome tools.
Front-end Development meets NoSQL
Furthermore several talks focussing on front-end development have been given, e.g. by Gregor Martynus presenting Hoodie.js.
These front-end talks and my discussions with other attendees gave me the impression that front-end developers spend a lot of time deciding which database they should use. (more…)
ArangoDB 1.3.0 Released: Explore New Features | ArangoDB ’13
This version is deprecated. Download the new version of ArangoDB
Features and Improvements The following list shows in detail which features have been added or improved in ArangoDB 1.3. ArangoDB 1.3 also contains several bugfixes that are not listed here.
Changes to the Datafile Structure As the datafile structure has changed, please read the
upgrade manual carefully.
Rapid API Development with FOXX A preview of the forthcoming Foxx is contained in 1.3. Please note that this is not the final version, Foxx is still experimental. Foxx is a lightweight Javascript “micro framework” which allows you to build applications directly on top of ArangoDB and therefore skip the middleman (Rails, Django, Symfony or whatever your favorite web framework is). Inspired by frameworks like Sinatra Foxx is designed with simplicity and the specific use case of modern client-side MVC frameworks in mind. The screencast at
http://foxx.arangodb.com explains how to use Foxx. (more…)
Foxx Screencast Part 2: Dive Deeper | ArangoDB ’13
It has taken some time, but now part 2 of the Foxx Screencast is available. I talk about some more advanced topics of Foxx and also plans for the future.
ArangoDB 1.3 Alpha1 Release & First Foxx Screencast | ArangoDB ’13
Starting today you can install the first Alpha of the upcoming release of ArangoDB version 1.3. Some of the new features are:
* ArangoDB Foxx: A lightweight way to define APIs directly on top of ArangoDB
* Traversals: Define traversals to explore your graphs stored in ArangoDB
* A new and improved Frontend: Featuring a new design and various improvements
* And more: Multi-Collection transaction support, user defined functions in AQL, more builtin AQL functions and AQL improvements, bug-fixes…
ArangoDB Foxx: The first screencast If you want to get a first look at ArangoDB Foxx, you can now see our first screencast. Lucas talks about the motivation and goals of Foxx and introduces you to the basics. A second screencast will follow with more advanced techniques like our Repositories and Models:
How to install it?
- If you are on a Mac and using Homebrew, you can install it now via
brew install --devel arangodb
. - If you are compiling ArangoDB by yourself, checkout the branch
1.3
from github and compile it. - if you are using Linux, we have create package for the usual distributions. You can download them from here.
Foxx – a lightweight Javascript application framework for ArangoDB
Edit: From version 1.4 the ArangoDB user manual available online also includes the documentation for FOXX. For the last months we have been working on Foxx – a brand new Javascript framework on top of the upcoming version of the free and open source NoSQL database ArangoDB. Foxx allows you to build APIs directly on top of the database 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. There are a couple of very interesting scenarios for Foxx: * You want to build a Single Page Web Application: most of the business logic is in the Javascript frontend. The backend’s most important task is to persist the data and send data to the client plus a bit of auth, modify, validate logic. In this case ArangoDB plus a Foxx application is all you need as a backend. * Another use case is a mobile app either native or HTML5. Again you’ll have most of the logic already in the frontend (the app in this case). With Foxx you can create your API very easily. And as you don’t have a large full-size MVC stack included, your backend will be very, very fast. You might want to consider Foxx even as lightweig
ht, easy-to-learn alternative to
Node.js.
Get the latest tutorials,
blog posts and news:
Thanks for subscribing! Please check your email for further instructions.